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

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

Red Gate 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 2005, SQL Server 2008, SQL Server 2012, SQL Server 2014, 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

PASS Summit 2017

Azure, PowerShell
Don't you want to go to the single largest collection of Microsoft Data Platform professionals and developers on the planet? Sure you do. PASS Summit 2017 is coming up. Now is the time to register for this unique event. This year I've been honored to be able to present a session at the PASS Summit. It's on three subjects that are very near and dear to my heart, automation, PowerShell, and the Azure data platform. The session is called Using PowerShell to Automate Your Azure Databases. It covers a lot of material from controlling your Azure SQL Databases to creating Azure SQL Data Warehouse databases to automating maintenance. We'll even get your Azure PowerShell installed & working locally. I'm very excited about this and I sure hope to see you…
Read More

IT/Dev Connections 2017

Database Lifecycle Management, DevOps, SQL Server 2016
I'm very honored to be able to announce that I am going to be speaking at IT/Dev Connections in San Francisco. I'm not just speaking there, I'm presenting an all day seminar on the tools needed for query tuning. The title does say SQL Server 2016, but most of the tools I'll cover can be used be used from SQL Server 2012 to SQL Server 2017. I'll also throw in a few SQL Server 2017 tools just to spice things up. If you're looking for a lot of information about how to get your query tuning done, I'm here to help. I'm also going to be talking about two other favorite topics of mine, DevOps and Monitoring. Please check it out and join me at this event.
Read More

Database Fundamentals #7: Create a Table Using T-SQL

Database Fundamentals, TSQL
The syntax for creating a table logically follows many of the same steps that you did when using the GUI, but it will all be done with the statements. This script will exactly replicate everything that you did with the GUI: CREATE TABLE dbo.Person ( PersonID int IDENTITY(1,1) NOT NULL, FirstName varchar(50) NOT NULL, LastName varchar(50) NOT NULL, DateOfBirth date NULL ) ON [PRIMARY]; Breaking the script into separate lines, it’s easy to see how the TSQL commands perform the actions defined in the GUI (it also makes it easier to read). The CREATE TABLE statement in this context is self-explanatory.  After that you’re defining the schema and the table name. Within the parenthesis you define each of the columns. First is the name of the column followed by the…
Read More

There Is a Magic Button, a Rant

SQL Server 2005, SQL Server 2008, SQL Server 2012, SQL Server 2014, SQL Server 2016, TSQL
OK guys. I think it's way past time. A bunch of us have been keeping a secret from the rest of you. We know something that you don't. I don't think we should hide this secret from the world any more. Illuminati? Incompetents. Free Masons? I am one, so I already know all those secrets. Bilderbergers, Cthulhu Cultists, MKUltra, New World Order, Rotarians? All of these are nothing compared to the vast conspiracy that I'm about to reveal. We need to just unveil the magic "Run Really Fast" button. We've been keeping that sucker a secret forever. It's been tough. Every so often some unauthorized person almost finds it or a "query tuning expert" (as if that was a real thing) tries to reveal it. But we've kept it secret…
Read More

Being a Positive Influencer

Professional Development
I read a lot of self-help and improvement information. I'm always trying to hack my brain or my attitude to arrive at a better, more productive, more useful individual. I suck at it. Positive If you read a lot of these books and articles about how to go about getting better, positivity is one of the most important aspects. That's not to say you should be a Pollyanna. In fact, it's extremely important to be honest with yourself and others. It's more about how you're critical or how you deliver bad news, not whether or not you should deliver bad news. Quick story that happened to me recently. My family and I went to Fort Sumter during our vacation (that's "on holiday" for my friends across the pond). Follow the…
Read More