Presentations

Here is the latest place to download my presentations with demos and scripts.  Feel free to download these as examples for teaching on your own or for learning from them. If you borrow any of the slides or scripts, please credit me, thank you. If you have questions contact me on Twitter.  If you would for me to give one of my presentations to your local user group or virtual group you may also contact me via Twitter or email.

Perf Tune Your Life with Atomic Habits

In the database of life, we often get fixated on the end result, forgetting the SQL syntax that gets us there. We obsess over the desired output (goals) but overlook the input and transactions (habits) required for success. This session, inspired by ‘Atomic Habits’ and sprinkled with some database humor, will explore how to optimize our path to success by treating daily habits like well-indexed systems. Join us as we refactor our life’s code, turning daily habits into our own personal stored procedures for success. Expect a healthy dose of SQL puns and an exciting journey from SELECTing goals to INSERTing effective habits.

Version: 1.0
Published: January 11, 2024
Using dbachecks to Validate Your SQL Server Estate

Checking that all your SQL server instances are in compliance with your standards can be a tedious task if you have to do it manually. Well, that is where dbachecks comes in. This open-source PowerShell community-written module makes this task easy. It can be ran across your entire estate to check your instances are meeting all your standards. It has several built-in tests for things such as how long ago was CHECKDB run, how long ago were backups run, are your SQL Agent operators correct, is Query Store configured properly, is DAC allowed, is the instance CIS compliant, are your auto-growth settings correct, do you have too many VLFs in your log file, and many more. You can even write your own if they don’t exist in the module. The results can be displayed in a PowerBI report that is easy for managers to understand and saved to a database for historical reporting. Come to this session to learn how to leverage this PowerShell module to make sure your environment is meeting your standards everywhere without having to write your own solution.

Mental Health and Wellness in IT: Safeguarding our most precious resource

One in four Americans suffers from a mental health challenge each year. In the tech community, this number rises to 42%. In the UK that is 48%. This is a worldwide problem in the IT field. The stigma associated with discussions around mental health, as well as how it can negatively impact your work and home life, make people reluctant to discuss the topic. Now is the time to start discussing mental health in tech and how to take advantage of the opportunity to safeguard our most precious resource: people.

We’ll discuss how mental health affects job quality, including sharing examples from my professional life. We’ll discuss the four primary workplace factors which play a pivotal role in mental health challenges in the tech community. I’ll provide tips on what is best to say and not say to people you know whose lives are being affected by their mental health. Lastly, we’ll cover how to make your workplace a safe place where mental health can be talked about and how to encourage your company to offer resources to help maintain everyone’s mental health.  As a bonus, some tips on surviving the pandemic are included at the end.

Please refer to this link for a list of resources including links to other presentations: https://github.com/tboggiano/mental-health-resources.

Version: 7.0
Published: May 11, 2021
SQL Server Configuration with dbatools and dbachecks

Automating the configuration of SQL Server instances and being able to check the configuration for standard configuration is an important role for any DBA when you have lots of instances. But how can we automate the configuration easily? How can we check to make sure the proper configuration is in place and hasn’t changed?

In this session, we will look at how to configure your SQL Server Instances using PowerShell and the dbatools module. Then we will look at how to use dbachecks to confirm the configuration of our instances and how to check for changes in the future of the configuration. Attendees will see how easy it is to use PowerShell via dbatools to configure their SQL Server instances.

Attendees will see how easy it is to use PowerShell via dbachecks and PowerBI to see if their servers are configured properly. Attendees will be given a set of scripts that take back to use to configure and test the configuration of their SQL Server instances.

Version: 5.0
Published: June 18, 2020
Azure SQL Database Maintenance and Automation

Azure SQL Database is a Platform as a Service that provides DBAs with a SQL Server instance in the cloud with the latest features. But many DBAs walk into the Azure SQL Database not sure how to perform the normal maintenance tasks or even which ones need to be performed, let alone how to automate these tasks.

Attendees will walk away from this session with a solid understanding of what maintenance needs to be performed, how to perform that maintenance and how to automate these maintenance tasks.

Monitoring Availablity Groups

Summary

Define and cover important metrics and alerts you need to manage a database in an Availability Group.

Abstract

Once you have successfully configured Availability Groups, what comes next? In this session, we will go beyond setup and look at how to monitor your Availability Groups.  We will define and cover important metrics and alerts you need to manage a database in an Availability Group.  

You will walk away from this session with tools you need to monitor your environment and know how to respond to alerts.  

Goals

  1. Know what metrics to look at to monitor availability groups.
  2. Know what alerts to setup for availability groups.
  3. Know different ways to check on the health of you availability group to setup monitors and alerts.

More current recording of the presentation can be found here.

Disaster Recovery Where To Begin

So you have a good backup strategy in place, but now you have to think about a disaster recovery. Where do you start and what are your options? SQL Server offers several options, but then how do you choose the right one to meet your business requirements? In this session, we will go over some of the common DR options including log shipping, replication, mirroring, clustering, and AlwaysOn. Then we will talk about how to choose the best one to meet your business needs.

Does This Look Weird? The Importance of Baselining

Summary

Collect a baseline for a SQL Server instance and analyze it against current stats to tell if something abnormal is going on with your SQL Server.

Abstract

How do you know when your server is on fire?  Without a set of known-good measurements to compare against, you don’t.  This session will show you how to capture a performance baseline for a SQL Server instance and help you decide what to capture, and where to store it. Finally we will put it all together by walking through a scenario using the captured baseline data to identify a problem.

Goals

  1. Know what to capture for a baseline for a SQL Server instance.
  2. How to capture a baseline for a SQL Server instance.
  3. How to analyze current stats against an existing baseline.
Tips on Managing Lots of SQL Servers

Summary
To gain tips to be able to easily manage a lot of SQL Servers.

Abstract
When managing a single server it is easy to keep track of the configuration of that server, but what about when you have more than ten servers to manage or a hundred? How do you know they are set up correctly? How do you maintain the databases on each server? How do you take care of patching? How do you know when your server is on fire?

In this talk, we will answer these questions and more as we discuss technologies and approaches you can use to make sure your environment is configured and performing at its best.

  1. Goals
    Learn the pain points of having a lot of SQL Servers to manage.
    Learn what scripts can be utilized to make it easier to manage a lot of SQL Servers.
    Learn tools that make it easier to manage a lot of SQL Servers.
Intro to Query Store

In this session, we will look at the new Query Store feature in SQL Server 2016 and 2017. Query Store tracks changes in execution plans, allowing you to easily view performance differences and revert to older plans with a few clicks of the mouse in 2016.

Then in 2017, Microsoft added wait stats per query plan and Automatic Tuning capabilities. Allowing DBAs more tools to troubleshoot fires with and a way to automatically resolve issues.

In this session, we will walk through the features of Query Store, so you can understand how to use them in SQL Server 2016, 2017, and 2019.

Using Open Source Software to Collect Performance Metrics

Ever had a manager standing over your shoulder, wanting to know why an instance is running slow or if it can handle additional workload? What information would you use to answer these questions? If only you knew what performance metrics to collect and had them for your existing instances to answer these questions.

In this session, we will discuss sp_whoisactive and Query Store. Then we will be combining three open source tools – Telegraf, InfluxDB, and Grafana – into an inexpensive system that collects performance metrics you can use to troubleshoot issues and answer important questions about your SQL Server instances, including your Linux SQL Server instances. We will learn what metrics to collect, how to use the tools to collect performance metrics and then we’ll put it all together in an interactive dashboard for easy visualization.

Attendees will see how easy it is to get good performance data and visualize in an interactive way and combine with other tools to troubleshoot issues. For an example, we will combine this solution with Query Store and/or sp_whoisactive to find a problem that occurred on a system and caused me to get my nap interrupted on a Saturday.