Speaking at Rocky Mountain Tech Trifecta 2012 on May 19

I will be presenting two sessions at the Rocky Mountain Tech Trifecta in Denver on May 19, 2012. This is an all-day, free event that is very similar to a SQLSaturday or a CodeCamp. There are a large number of great speakers at the event (which is not SQL Server only), which is being held on the Auraria Campus in downtown Denver. I will be doing DMV Emergency Room! and Hardware 301: Diving Deeper into Database Hardware. Here are the abstracts:

 

DMV Emergency Room!

If you have ever been responsible for a mission critical database, you have probably been faced with a high stress, emergency situation where a database issue is causing unacceptable application performance, resulting in angry users and hovering managers and executives. If this hasn’t happened to you yet, thank your lucky stars, but start getting prepared for your time in the hot seat. This session will show you how to use DMV queries to quickly detect and diagnose the problem, starting at the server and instance level, and then progressing down to the database and object level. Based on the initial assessment of the problem, different types of DMV queries will help you narrow down and identify the problem. This session will show you how to assemble and use an emergency DMV toolkit that you can use to save the day the next time a sick database shows up on your watch in the Database ER!

 

Hardware 301: Diving Deeper into Database Hardware

Making the right hardware selection decisions is extremely important for database scalability. Having properly sized and configured hardware can both increase application performance and reduce capital expenses dramatically. Unfortunately, there are so many different choices and options available when it comes to selecting hardware and storage subsystems, it is very easy to make bad choices based on outmoded conventional wisdom. This session will give you a framework for how to pick the right hardware and storage subsystem for your workload type. You will learn how to evaluate and compare key hardware components, such as processors, chipsets, and memory. You will also learn how to evaluate and compare different types of storage subsystems for different database workload types. This session will give you the knowledge you need to make sure you get the best performance and scalability possible from your hardware budget!

I have spoken at the Tech Trifecta several times in the past, and it has always been a good time!

Posted in Computer Hardware, Microsoft, Teaching | Tagged | Leave a comment

The Fantastic 12 of SQL Server 2012

The SQL Server Team Blog is in the midst of posting twelve, short weekly videos that let someone from the SQL Server Product team talk about their favorite features and improvements in SQL Server 2012. These videos go up every Thursday, continuing through the end of June. The first four episodes are linked below:

The Fantastic 12 of 2012: Behind the Scenes Look into Required 9s and Data Protection

The Fantastic 12 of 2012: A Behind the Scenes View of Blazing Fast Performance

Fantastic 12 of 2012: Behind the Scenes of Organizational Security and Compliance

The Fantastic 12 of 2012: Behind the Scenes – Ensuring Peace of Mind

You can also enter their Twitter contest, for a chance to win a SQL Server 2012 T-Shirt.

Posted in Microsoft, SQL Server, SQL Server 2012, SQL Server Denali | Tagged | 1 Comment

Updated SQL Rockstar Blogger Rankings

This morning, Thomas LaRock (blog |@SQLRockstar) released an updated version of his Blogger Rankings. I was very happy and humbled to see that I had been promoted to the ResourceDB group, which I really appreciate!  My co-worker, Joe Sack (blog | @josephsack) has been promoted from msdb to model, while Paul White (blog | @sql_kiwi) has been promoted from tempdb to model, and Ted Krueger (blog | @onpnt) has been promoted from tempdb to msdb.

Especially if you are new to the SQL Server Community, Tom’s Blogger Rankings list is a good place to find quality blogs to subscribe to and read, and SQL Server people to follow on Twitter. There is a very active and vibrant online community of people in the SQL Server world, that are a very valuable resource if you are working with SQL Server. You are not alone in your cubicle, with only Bing and Google to help you!

Posted in Blogging, SQL Server, Teaching | Tagged | Leave a comment

SQL Server 2005 Diagnostic Information Queries (May 2012)

Even though SQL Server 2005 fell out of Mainstream Support back in April of 2011, I know many people are still using it and will be for some time to come. Because of this, I decided to release an updated version of my diagnostic queries for SQL Server 2005. The last time I released a version for SQL Server 2005 was back in March of 2011. You can get the new version from the following link: SQL Server 2005 Diagnostic Information Queries (May 2012).

I also wanted to thank everyone on Twitter who beta tested these scripts for me. Any remaining issues are totally my responsibility!  Please tell me what you think of this version.

Posted in SQL Server 2005 | Tagged , | 1 Comment

Building an Intel Ivy Bridge Desktop System, Part 2

A few weeks ago, I wrote about buying some of the components that I needed to build a new 22nm Ivy Bridge based desktop system. When I wrote that initial blog post, the actual Ivy Bridge desktop processors were not yet available for sale, but that changed on Sunday, April 29. Luckily, we have a Micro Center in Denver, so I was standing at their front door when they opened at 11AM so I could get my new Intel Core i7-3770K processor for $289.99 (which is $40 lower than the price from NewEgg).  I put that processor in my nearly completed system when I got home, and hit the power button to be rewarded by the deafening sound of silence…  There was an LED lit on the motherboard, but no other sign of life. This meant that the power supply was probably good.

At this point, I was a little annoyed. It was not clear whether I had a bad CPU, and bad motherboard, or simply a loose connection somewhere. I was busy with other things the rest of the day, but I was able to start troubleshooting the problem late last night. I had another system with a Core i7-2600K processor in an ASUS P8Z68-V PRO motherboard available, so I decided to do some component swapping to figure out what the problem might be. First, I decided to take the Ivy Bridge processor and put it in the ASUS P8Z68-V PRO motherboard. This worked, which proved that the new processor was fine. Next, I decided to put the older Core i7-2600K processor in the new ASUS Sabertooth Z77 motherboard. This did not work, which put suspicion on the new motherboard. Next, I decided to yank that motherboard out of the case to possibly return it to Micro Center. As I was removing the case fan for the Corsair H80 water cooler for the CPU, I noticed that one of the connectors from the power supply to the motherboard was loose, which was the real source of the problem (it was covered up by the fan and radiator for the CPU cooler). At this point, I decided to keep on removing the new motherboard, since I wanted to use the older ASUS P8Z68-V PRO motherboard in the new Antec 302 case to see how that would work out.

After this thrashing around, I put together all of the parts in the Antec 302 case, and everything worked as expected when I hit the power button. I got Windows 7 installed and patched, and then ran a few quick benchmarks last night. This little system is extremely fast, even using the Intel HD4000 integrated graphics. It only uses 51 watts at idle, while it has 32GB of RAM and a GeekBench score of 13167.  You can take a look at the various screenshots shown below for some more details.

ZDNet’s Adrian Kingsley-Hughes has a blog post entitled Build your own “Ivy Bridge” desktop PC for another perspective on building a more modest system.

 

image

Figure 1: Intel Core i7 3770K processor under load

 

image

Figure 2: Intel Core i7 3770K processor at idle

 

image

Figure 3: Windows Experience Index Scores for Ivy Bridge desktop system

 

image

Figure 4: Mainboard tab from CPU-Z

 

image

Figure 5: Memory tab from CPU-Z

 

image

Figure 6: SPD tab from CPU-Z

 

image

Figure 7: Geekbench 2.3.1 Score for Core i7-3770K System

 

image

Figure 8: CrystalDiskMark scores for 180GB Intel 520 SSD

 

image

Figure 9: CrystalDiskMark scores for 1.5TB WD Black drive

Posted in Computer Hardware, Intel, Ivy Bridge, Processors | Tagged | 2 Comments

Checking Your Main BIOS Version

As some of you may know, I spent four years in the U.S. Marine Corps back during the Reagan administration. I started out as an 0311 Basic Rifleman (aka Grunt) for a couple of years, and then became an 1811 Armor Crewman, ending up as a Tank Commander of an M60A1 Rise/Passive main battle tank. I got out of the Marines as an E-5 Sergeant, and went to college at U.C. Irvine, and the rest is rather ancient history. You might be wondering what my military experience has to do with SQL Server and the importance of checking your main BIOS?

Well, here is the relationship (at least in my mind). It comes from attention to detail, which is a very important characteristic for a good DBA. One thing that the Marines liked to do periodically was have a formal personnel inspection of a everyone in a small unit, such as a Rifle platoon. Depending on who the inspecting officer was, this might cause anywhere from hours to weeks of preparation by the members of the unit, doing things like thoroughly cleaning your weapon, cleaning and properly marking all of the items of your uniform and web gear, clipping off loose threads on your uniform (known as “Irish pennants” or “Russian ropes”), and all manner of other little things to get completely “squared away” in the Marine Corps vernacular.  After all of this extensive preparation, the formal inspection would finally occur, often taking several hours for a platoon of 42 people.

Everyone in the platoon would be standing at attention in formation, and the inspecting officer would go one by one, down the ranks of the formation doing his formal inspection. He would turn to face you, and you would have to do an Inspection Arms movement with your rifle for him. After you were done, he would slap the weapon out of your hands, and start looking at it in excruciating detail, while asking you questions like “What is the maximum effective range of this weapon?”, or “Who is your regimental commander?”. Woe to the Marine who did not know the answer to these questions! One thing that I saw a number of times during these types of inspections was when the inspecting officer found some obvious problem with the Marine that he was inspecting, something that was literally in plain view, but had been missed by everyone during all of the preparations and pre-inspections. For example, maybe one of the buttons on a pocket flap of your utilities was not buttoned, or maybe there was a long, loose thread on  a seam of one of your chest pockets. If the inspecting officer found something obvious like this, they would sometimes literally start undressing the Marine, looking for other violations that were sure to be found under the surface!  The inspecting officer’s zeal and attention to detail was always rewarded in a case like this, since if something so obvious was missed, there would be many other things that were wrong, hidden under the surface…

This is where I get back to SQL Server and the importance of doing the obvious things like checking the main BIOS version on your database servers. As I discussed recently, it is pretty easy and pretty important to periodically check the version of your main system BIOS for a machine, using tools like msinfo32.exe, CPU-Z, or management tools like Dell Open Systems Management Administrator (OMSA).  The large system vendors like Dell, HP, IBM, etc. will release new versions of the main system BIOS to fix problems that are discovered with that model server.  As a DBA, I think it is very important to keep tabs on this, even if someone else (such as a systems administrator) is actually responsible for maintaining your database servers. One reason is that if you ever have a hardware problem and you call your system vendor for support, they are going to want you to run a utility that will check the versions of your main system BIOS, any other firmware, and your hardware driver versions. If any of these are out of date, they will want you to update them. If there was a hardware problem that caused an outage, the fact that the hardware had old versions of the main BIOS or other firmware will also tend to focus some blame on whoever was supposed to maintain that hardware.

The other reason why this is important is that it shows that someone in your organization (hopefully you) is paying attention to the obvious details. Almost invariably, when I have looked at someone’s system after they have asked me for help, and I find that they are running a main system BIOS that is multiple versions out of date, that means that I will find numerous other problems with their system and database configuration. It is really a pretty reliable predictor of trouble! 

There are several reasons why people don’t maintain their database hardware properly. First, they may not know any better, since they may not know that you actually have to maintain this type of thing. Second, they may be afraid of breaking something. What happens if you update your system BIOS, and then the server refuses to POST or boot afterwards? Third, they may just be lazy. After all the server seems to be running fine, why should I stick my neck out and have to flash the BIOS at 11PM on Friday night? Fourth, they may not have a good, tested HA solution in place for that database server, so doing something like flashing the BIOS will cause a relatively long outage because of a reboot. Perhaps they are unsure whether their applications will continue to work after failing over their database(s) to a mirror instance.

I would argue that a good DBA will find a way around all of these objections and fears, and put a regular maintenance program into place for your database servers. This forces you to think about your HA solution and to actually test it on a fairly regular basis. If you have an HA technology in place, such as failover clustering, database mirroring, or SQL Server 2012 AlwaysOn, you can do rolling upgrades to minimize your downtime during maintenance. With some testing and planning, you can combine BIOS updates, firmware updates, Windows Updates, and SQL Server Updates all in one maintenance window with minimal downtime. Planning this effort and then actually doing it on a regular basis, forces you and your organization to exercise your HA solution while you keep your systems up to date (which I think will reduce the number of problems you run in to in the future).  This is far better than just avoiding the whole issue, and leaving your database servers running the original versions of everything on a permanent basis. Don’t be afraid!

Posted in Computer Hardware, Dell, Laptops | Tagged , , | 7 Comments

SQL Server 2008 Diagnostic Information Queries (May 2012)

Since tomorrow is May 1, I think it is time to publish the latest set of SQL Server 2008 Diagnostic Information Queries. This version works on SQL Server 2008 and SQL Server 2008 R2. There are a few queries that only work with SQL Server 2008 R2 SP1, but they are noted in the comments.

Many of these queries are DMV queries that require VIEW SERVER STATE permission. Make sure to read the instructions before you run each query. You really should run these queries one at a time, and take a few moments to look at each set of results, rather than running them in a single batch. Much of the value of these diagnostic queries is in the result interpretation comments after each query.

I have fixed a few minor issues with this version, and added several new queries. Please let me know what you think!

Posted in SQL Server 2008, SQL Server 2008 R2 | Tagged , | 6 Comments