Speaking at IT/DevConnections 2017

Misc
If you're going to be in the San Francisco area in October, let's get together and talk. I'll be at IT/DevConnections 2017 doing several talks. First, I have an all day pre-con on the tools needed for query tuning. Then I have two regular sessions, DevOps for the DBA and Monitoring to Quickly Diagnose SQL Server Performance Problems. Let's get together and talk.
Read More

Database Fundamentals #10: Modifying Tables

Database Fundamentals
Invariably, either while building a new database, or while maintaining old ones, you will find that the business needs change or that you’ve made a mistake. Either way, you will need to modify the tables that you’ve created. Change is inevitable and luckily SQL Server takes that into account, providing you with mechanisms to modify structures after you’ve created them. Important Warning One of the fundamental concepts of databases is that the data is stored. You can’t simply throw data away when you need to make a change to a table. There are two levels of changes you can make to a table. The first, is a change that won’t affect data in the table. These are simple changes and we’ll cover them in this blog post. The second level…
Read More

Database Fundamentals #9: Schemas As Containers

Database Fundamentals
Schemas are a very useful tool for managing the objects in your database. From security through process, through placement, schemas provide you with another tool to control how your database behaves. Schemas The tables created so far in this blog series have all been attached to a schema, dbo. Depending on how you login to the server and the security settings for your user, this is usually the default schema. A schema is simply a container in which you place objects. Once placed there, a schema is a method for managing the objects it contains. Schemas give you a simple way to control placement of the objects on filegroups. Schemas are a very easy way to manage security. The use of schemas becomes extremely important as your database becomes more…
Read More

Luck and the PASS Summit

PASS
I recently read an article asking the question whether or not we downplay the role that luck plays in our lives and I immediately thought of the PASS Summit. Obscenely Lucky I am, quite frankly, embarrassingly, obscenely, stupidly lucky. I just am. I married WAY over my head. I stumbled into an amazing career. I can safely say that I've arrived where I am through a great amount of luck. I am quite grateful for it all too. I will only suggest a single point of agency on my part that has put me in this wonderful situation. I showed up. PASS Summit 2005 I went to the PASS Summit in 2005 in Grapevine. Mostly, I attended sessions and then went back to my hotel. However, one night, after talking…
Read More

Ich werde Deutschland beriesen

Misc
Guten Tag! OK, switching back to English for the rest of this. I'm going to be spending a few weeks in Germany on a private tour, no work. That means that, no, I'm very sorry, I can't speak at your user group, even though I'd love to. Next time. However, I wanted to let you know when and where I'll be over there. I'd love the chance to meet with friends. I know I owe several of you a beverage. This is a chance to pay it back. Here's where I'll be and when: 9/12: Frankfurt Airport (we'll be in late, glad to meet for a drink at the hotel) 9/13 - 9/15: Amsterdam (yeah, not Germany, Mrs. Scary requested this) 9/15 - 9/16: Off the radar, visiting my German…
Read More

Database Fundamentals #8: All About Data Types

Database Fundamentals
SQL Server provides all different kinds of data types in order to give you more flexibility and control for how you store your data. You define these data types as you define the columns in your tables. If you wanted to store information about the date and time that a purchase was made online you’re going to store the values in a column, or columns, that define dates and times in order to ensure accuracy in your data. Choosing a Data Type You could make the data type into one that stores just about anything you give it, such as one of the character types like char or varchar. Do this and you’re going to run into issues when you start running queries against that data. For example, your business…
Read More

Speaking at Live360 Orlando

Azure
Are you going to be in Florida in November? Me too. I'm privileged to say that I get to speak at SQLServerLive, part of the Live360 event. It takes place November 12-17 at the Royal Pacific Resort at Universal Studios in Orlando. I'm going to be presenting three different sessions. The first is on Azure SQL Database for the DBA. Adoption and interest in Azure and the platform as a service offering is growing like crazy. Get ahead of the curve and figure out how you can use this technology in your organization. I'm also going to be doing a session on automating the management of your Azure databases using PowerShell. I'm sticking to the platform databases with this session (no VMs), but I'm covering Pools, MySQL, Postgres, Azure SQL…
Read More

Redgate Hub LiveStream

Redgate Software
Over at Redgate, we've been working on a new way to get information to you. It's called the Redgate Hub. Check it out. To help you understand this new resource, and to show off some cool new material, we've decided to host a livestream event, Redgate Hub Launch on September 6th. Redgate Hub Launch Livestream If you've attended a Redgate event before, you'll have some idea of what we're about. If you haven't, this is your chance to see exactly what we do and how we do it. If you follow the link above to the Launch event you can check out the agenda. We're covering a bunch of topics. It's going to be fun. I'm even doing a presentation based on my new article that just got published. It's…
Read More

Runtime Metrics In Execution Plans

SQL Server 2016
Capturing query execution metrics is much easier now that you can see the runtime metrics in execution plans when you're using SQL Server 2016 SP1 or better in combination with SQL Server Management Studio 2017. When you capture an actual plan (using any method), you get the query execution time on the server as well as wait statistics and I/O for the query. Fundamentally, this changes how we can go about query tuning. Runtime Metrics To see these runtime metrics in action, let's start with a query: SELECT p.LastName, pp.PhoneNumber, pnt.Name FROM Person.Person AS p JOIN Person.PersonPhone AS pp ON pp.BusinessEntityID = p.BusinessEntityID JOIN Person.PhoneNumberType AS pnt ON pnt.PhoneNumberTypeID = pp.PhoneNumberTypeID WHERE pnt.PhoneNumberTypeID = 3; We'll run this query and capture the Actual Execution Plan using SSMS 2017. The changes…
Read More

Bad Parameter Sniffing Decision Flow Chart

SQL Server, SQL Server 2016
Lots of people are confused by how to deal with bad parameter sniffing when it occurs. In an effort to help with this, I'm going to try to make a decision flow chart to walk you through the process. This is a rough, quite rough, first draft. I would love to hear any input. For this draft, I won't address the things I think I've left out. I want to see what you think of the decision flow and what you think might need to be included. Click on it to embiggen. Thanks to the attendees at my SQLSaturday Louisville pre-con for the great questions and the inspiration to get this done. Thank you in advance for any and all feedback.
Read More