SQL 2012 Launch

First off, can I say how stoked I was with some of the new features of SQL 2012? I don’t usually geek out this much over software stuff, but I have to say there were several WOW factors on the launch yesterday.

The bad to outweigh the good is that the Launch Event itself was completely terrible. I and a thousand others on twitter spend a good 30 minutes just waiting for the login screen to come up. When it finally did, it still wouldn’t let you login. Finally, about an hour after the scheduled start time, everything was up and running. Epic fail on Microsoft’s part.

The other bad was that there was nothing live. It was all pre-recorded videos on various SQL topics. They were good videos, but nothing is better than a real launch event where you see it all on the big screen and get a big grab-bag full of goodies. I attended the Windows 7 launch a few years back at the Denver Convention Center and it was pretty awesome.

So here’s a link to the launch event. The videos themselves are supposed to be available for 90 days and it’s free to register, so give them a whirl:


What new features did I like?

Resource Governor for multi-tenancy

  • Have multiple customer databases on your SQL server and want to meter them? The resource pools allow you to set minimum and maximum CPU and memory limits. You can allow bursts and if you bill customers via CPU then with the maximum so they don’t get charged extra.
  • Also, much better billing options. Your stats on the server now match exactly what your billing your customers and it really is what they’ve used. How many times do you go to pull CPU/memory stats and have them be completely indecipherable with actual customer usage?

AlwaysOn Availability Groups

  • I’m a Windows Clustering guy, but I’m also a fan of SQL Replication/Mirroring and the options that gives you. AOA Groups take this to a whole new level.
  • The demo I saw still had the base Windows servers in a cluster (a couple local, 1 as a standby, then another at a different site), and with the AlwaysOn you can specify for each database which server was primary for it, which was an automatic failover server, which was a manual failover server, and if you wanted the data to be copied synchronously or asynchronously. I immediately saw HUGE benefits for this for a job at a prior company where we had geo-clusters spread across different locations.
  • The big caveat with AOA Groups is that your end-user application still has to be aware of the nodes and it’s DSN has to be cognizant of all the options.
  • One other option they mentioned but didn’t go into was that you can add a Listener to the configuration and it’s basically the same as the old Virtual IP/Network Name and the end-user application doesn’t necessarily need to be aware of everything that’s going on.
  • You can also specify any of your secondaries as a read-only copy of the data, and can use it as a backup point or for reports or anything like that. This is a brand-new feature as previously you couldn’t touch the copies of Mirrored databases.
  • You also have what they call a “flexible failover policy” where you can specify what parameters can initiate an automatic failover. Again, I see huge benefits for builds I’ve done at prior clients where sometimes the network would hiccup and the DB would failover and no one knew until it was slow.

That’s really only 2 major changes to SQL 2012, but it’s enough to make me download it and start playing!