SQL Server Diagnostic Information Queries for April 2014

I made some small improvements to a few of the queries this month. I plan to add several more SQL Server 2014 specific queries over the next couple of months, along with a lot more comments on how to interpret the results of each query in the entire set.

Rather than having a separate blog post for each version, I have just put the links for all five major versions in this single post. There are two separate links for each version. The first one on the top left is the actual query script, and the one below on the right is the matching blank results spreadsheet.  

SQL Server 2005 Diagnostic Information Queries

SQL Server 2005 Blank Results

SQL Server 2008 Diagnostic Information Queries

SQL Server 2008 Blank Results

SQL Server 2008 R2 Diagnostic Information Queries

SQL Server 2008 R2 Blank Results

SQL Server 2012 Diagnostic Information Queries

SQL Server 2012 Blank Results

SQL Server 2014 Diagnostic Information Queries

SQL Server 2014 Blank Results

The basic idea is that you should run each query in the set, one at a time (after reading the directions). You need to click on the top left square of the results grid in SSMS to select all of the results, and then right-click and select “Copy with Headers” to copy all of the results, including the column headers to the Windows clipboard. Then you paste the results into the matching tab in the blank results spreadsheet. There are also some comments on how to interpret the results after each query.

About half of the queries are instance specific and about half are database specific, so you will want to make sure you are connected to a database that you are concerned about instead of the master system database.

Note: These queries are stored on Dropbox. I occasionally get reports that the links to the queries and blank results spreadsheets do not work, which is most likely because Dropbox is blocked wherever people are trying to connect.

I also occasionally get reports that some of the queries simply don’t work. This usually turns out to be an issue where people have some of their user databases in 80 compatibility mode, which breaks many DMV queries.

There is an initial query in each version that tries to confirm that you are using the correct version of the script for your version of SQL Server. Please let me know what you think of these queries, and whether you have any suggestions for improvements. Thanks!

Posted in Diagnostic Queries, SQL Server 2005, SQL Server 2008, SQL Server 2008 R2, SQL Server 2012, SQL Server 2014 | Tagged , | Leave a comment

SQL Server Diagnostic Information Queries for March 2014

I made a couple of changes in the order of the queries this month and made some other small improvements to a few queries. Rather than having a separate blog post for each version, I’ll just put the links for all five major versions in this single post. There are two separate links for each version. The first one on the top left is the actual query script, and the one below on the right is the matching blank results spreadsheet.  

SQL Server 2005 Diagnostic Information Queries

SQL Server 2005 Blank Results

SQL Server 2008 Diagnostic Information Queries

SQL Server 2008 Blank Results

SQL Server 2008 R2 Diagnostic Information Queries

SQL Server 2008 R2 Blank Results

SQL Server 2012 Diagnostic Information Queries

SQL Server 2012 Blank Results

SQL Server 2014 Diagnostic Information Queries

SQL Server 2014 Blank Results

The basic idea is that you should run each query in the set, one at a time (after reading the directions). You need to click on the top left square of the results grid in SSMS to select all of the results, and then right-click and select “Copy with Headers” to copy all of the results, including the column headers to the Windows clipboard. Then you paste the results into the matching tab in the blank results spreadsheet. There are also some comments on how to interpret the results after each query.

About half of the queries are instance specific and about half are database specific, so you will want to make sure you are connected to a database that you are concerned about instead of the master system database.

Note: These queries are stored on Dropbox. I occasionally get reports that the links to the queries and blank results spreadsheets do not work, which is most likely because Dropbox is blocked wherever people are trying to connect.

I also occasionally get reports that some of the queries simply don’t work. This usually turns out to be an issue where people have some of their user databases in 80 compatibility mode, which breaks many DMV queries.

There is an initial query in each version that tries to confirm that you are using the correct version of the script for your version of SQL Server. Please let me know what you think of these queries, and whether you have any suggestions for improvements. Thanks!

Posted in Diagnostic Queries, SQL Server 2005, SQL Server 2008, SQL Server 2008 R2, SQL Server 2012, SQL Server 2014 | Tagged , | Leave a comment

SQL Server 2008 R2 SP2 CU11

On February 17, 2014, Microsoft released SQL Server 2008 R2 SP2 CU11, which is Build 10.50.4302. This cumulative update has twelve hotfixes in the public fix list.

If you are running SQL Server 2008 R2, the only supported Service Pack level is SP2. Both SP1 and RTM have been retired. This means that if your build number is less than 10.50.4000, you are on an unsupported Service Pack and this cumulative update will not work for you.

I think it is a little ridiculous that we don’t have a SQL Server 2008 SP3 yet. Based on the recent public hints from Microsoft, there might not be a SQL Server 2008 R2 SP3, before this version of the product goes out on Mainstream Support on July 8, 2014.

If you have any thoughts about this, I ask you to take a minute and vote for my Connect item about Service Packs, and also leave a comment. Thanks!

Posted in Cumulative Update, SQL Server 2008 R2 | Tagged | Leave a comment

Scaling SQL Server 2014 Pre-Con in Copenhagen

I will be travelling to Copenhagen, Denmark to deliver a full day pre-con for SQLSaturday #275 on Friday, March 28, 2014. This is a revised and expanded version of the pre-con I delivered at the 2013 PASS Summit, with a lot of new content. It should be a lot of fun!

Here is the abstract:

Scaling SQL Server 2014

SQL Server implementations can quickly evolve and become more complex, forcing DBAs and developers to think about how they can scale their solution quickly and effectively. Scaling up is relatively easy (but can be expensive), while scaling out requires significant engineering time and effort. If you suggest hardware upgrades you may be accused of simply “throwing hardware at the problem”, and if you try to scale out, you may be thwarted by a lack of development resources or 3rd party software restrictions. As your database server nears its load capacity, what can you do? This session gives you concrete, practical advice on how to deal with this situation. Starting with your present workload, configuration and hardware, we will explore how to find and alleviate bottlenecks, whether they are workload related, configuration related, or hardware related. Next, we will cover how you can decide whether you should scale up or scale out your data tier. Once that decision is made, you will learn how to scale up properly, with nearly zero down-time. If you decide to scale out, you will learn about practical, production-ready techniques such as vertical partitioning, horizontal partitioning, and data dependent routing. We will also cover how to use middle-tier caching and other application techniques to increase your overall scalability.

You can register for this pre-con here.

I will also be presenting one session during the actual SQLSaturday event. Here is the abstract for that session: 

Analyzing I/O Subsystem Performance

SQL Server is often I/O bound – but why? Do you feel lost when talking to your storage administrator? Are your storage subsystems like a mysterious black box where your databases live but you can’t go visit? This session will get you up to speed with the fundamentals of storage subsystems for SQL Server. You will learn about the different types of storage that are available, and how to decide what type of storage to use for different workload types. You will also learn useful tips and techniques for configuring your storage for the best performance and reliability. We’ll cover methods to effectively measure and monitor your storage performance so that you will have valuable information and evidence available the next time you have to discuss IO performance with your storage administrator. Come to this session to learn how to analyze I/Os as well as options to reduce the bottlenecks.

I hope to see and meet a lot of new people during these two days!

Posted in SQL Server 2014, SQLSaturday, Teaching | Tagged | Leave a comment

SQL Server Diagnostic Information Queries for February 2014

I improved the file-level latency query this month and made some other small improvements to a few other queries. Rather than having a separate blog post for each version, I’ll just put the links for all five major versions in this single post. There are two separate links for each version. The first one on the top left is the actual query script, and the one below on the right is the matching blank results spreadsheet.  

SQL Server 2005 Diagnostic Information Queries

SQL Server 2005 Blank Results

SQL Server 2008 Diagnostic Information Queries

SQL Server 2008 Blank Results

SQL Server 2008 R2 Diagnostic Information Queries

SQL Server 2008 R2 Blank Results

SQL Server 2012 Diagnostic Information Queries

SQL Server 2012 Blank Results

SQL Server 2014 Diagnostic Information Queries

SQL Server 2014 Blank Results

The basic idea is that you should run each query in the set, one at a time (after reading the directions). You need to click on the top left square of the results grid in SSMS to select all of the results, and then right-click and select “Copy with Headers” to copy all of the results, including the column headers to the Windows clipboard. Then you paste the results into the matching tab in the blank results spreadsheet. There are also some comments on how to interpret the results after each query.

About half of the queries are instance specific and about half are database specific, so you will want to make sure you are connected to a database that you are concerned about instead of the master system database.

Note: These queries are stored on Dropbox. I occasionally get reports that the links to the queries and blank results spreadsheets do not work, which is most likely because Dropbox is blocked wherever people are trying to connect.

I also occasionally get reports that some of the queries simply don’t work. This usually turns out to be an issue where people have some of their user databases in 80 compatibility mode, which breaks many DMV queries.

There is an initial query in each version that tries to confirm that you are using the correct version of the script for your version of SQL Server.

Please let me know what you think of these queries, and whether you have any suggestions for improvements. Thanks!

Posted in Diagnostic Queries, SQL Server 2005, SQL Server 2008, SQL Server 2008 R2, SQL Server 2012, SQL Server 2014 | Tagged , | 1 Comment

Vote on Connect Items for SQL Server 2008/2008 R2 and 2012 Service Packs

As we get closer to the end of mainstream support for both SQL Server 2008 and SQL Server 2008 R2 on July 8, 2014,  (which is less than six months away), I am very curious whether Microsoft is planning on releasing a SQL Server 2008 R2 Service Pack 3 or a SQL Server 2008 Service Pack 4 ?

SQL Server 2008 Service Pack 3 was released on October 25, 2011 , and we are now up to SQL Server 2008 SP3 CU15. SQL Server 2008 R2 Service Pack 2 was released on July 26, 2012, and we are now up to SQL Server 2008 R2 SP2 CU10.

I am not asking for release dates, just some official word on whether there will be new Service Packs for SQL Server 2008 or SQL Server 2008 R2 before they both fall out of mainstream support this July.  Since many organizations still refuse to install Cumulative Updates, we have the very strong possibility of many customers running some very old builds of SQL Server 2008 and 2008 R2 going forward for a long time, unless we get a final set of Service Packs for both versions.

As Paul Randal discovered in his recent survey, a very large percentage of SQL Server 2008 and 2008 R2 instances in the wild are already running on “unsupported service packs”, and this situation only got worse when SQL Server 2008 R2 SP1 fell out of support on October 8, 2013. These links show the builds that have been released since the most recent Service Packs for SQL Server 2008 and SQL Server 2008 R2.

The SQL Server 2008 Builds that were released after SQL Server 2008 Service Pack 3 was released

The SQL Server 2008 R2 Builds that were released after SQL Server 2008 R2 Service Pack 2 was released

If you want to try to influence Microsoft in some small way, please take a moment to up vote these Connect items. It only will take a few seconds to click the green arrow!

This is mine, meant to be a generic item:

https://connect.microsoft.com/SQLServer/feedback/details/814658/release-final-service-packs-for-sql-server-2008-and-2008-r2

This one is from Christoph Muthmann, for SQL Server 2008 SP3:

https://connect.microsoft.com/SQLServer/feedback/details/814600/release-service-pack-3-for-sql-server-2008-r2

This one is from Erland Sommarskog, regarding SQL Server 2012 SP2:

https://connect.microsoft.com/SQLServer/feedback/details/814656/release-service-pack-2-for-sql-server-2012

If you have a bit more time, write a comment in any of the Connect items. Thanks for taking the time to vote and comment!

Posted in SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 | Tagged , , | Leave a comment

SQL Server Diagnostic Information Queries for January 2014

I spent some time this month to true up the SQL Server 2005 version, with the other versions for the queries that are common between all of these versions, since some small differences had cropped up over time across those versions. I also added the drive-level latency query to the 2005 version.

Rather than having a separate blog post for each version, I’ll just put the links for all five major versions here. There are two separate links for each version. The first one on the top left is the actual query script, and the one below on the right is the matching blank results spreadsheet.

I am considering either doing fewer updates or no updates to the SQL Server 2005 version of these queries in the future, since SQL Server 2005 has been out of mainstream support from Microsoft for nearly three years now. On the other hand, I know that a lot of people are still using SQL Server 2005. What do you think?

SQL Server 2005 Diagnostic Information Queries

SQL Server 2005 Blank Results

SQL Server 2008 Diagnostic Information Queries

SQL Server 2008 Blank Results

SQL Server 2008 R2 Diagnostic Information Queries

SQL Server 2008 R2 Blank Results

SQL Server 2012 Diagnostic Information Queries

SQL Server 2012 Blank Results

SQL Server 2014 Diagnostic Information Queries

SQL Server 2014 Blank Results

About half of the queries are instance specific and about half are database specific, so you will want to make sure you are connected to a database that you are concerned about instead of the master system database.

The idea is that you would run each query in the set, one at a time (after reading the directions). You need to click on the top left square of the results grid to select all of the results, and then right-click and select “Copy with Headers” to copy all of the results, including the column headers to the Windows clipboard. Then you paste the results into the matching tab in the spreadsheet. There are also some comments on how to interpret the results after each query.

Note: These queries are stored on Dropbox. I occasionally get reports that the links to the queries and blank results spreadsheets do not work, which is most likely because Dropbox is blocked wherever people are trying to connect.

I also occasionally get reports that some of the queries simply don’t work. This usually turns out to be an issue where people have some of their user databases in 80 compatibility mode, which breaks many DMV queries.

There is an initial query in each version that tries to confirm that you are using the correct version of the script for your version of SQL Server.

Please let me know what you think of these queries, and whether you have any suggestions for improvements. Thanks!

Posted in Diagnostic Queries, SQL Server 2005, SQL Server 2008, SQL Server 2008 R2, SQL Server 2012, SQL Server 2014 | Tagged , | 3 Comments