Schedulers Unexpectedly Offline in Enterprise Edition of SQL 2012

If you run the following check on your schedulers:
select * from sys.dm_os_schedulers
You should see them all Online, either Visible for user processes or hidden online for internal database engine processes. Unless you are using Affinity mask you should not see any as offline if you are using Enterprise Edition – right?
With SQL 2012 the licensing changes from a processor to a core model. This led to a need for two editions of Enterprise edition – one for people with Enterprise agreements to transition their servers, and one for new core based installations.
This led to some confusion as the Enterprise Edition designed for upgrading your current Server+CAL licensing from 2008 R2 to 2012 has a 20 core limit(or 40 with hyperthreading). If you are running the Enterprise Edition of 2012 and if you have more than 20 cores, we recommend you take a peak at sys.dm_os_schedulers to make sure you are getting all of what you are paying for.

So – how to fix it?  The process to upgrade from Enterprise(Core Limited) to Enterprise(Core unlimited) is the same as any other Edition upgrade.  You need a copy of the correct install media and run setup.exe.  Then just choose Edition Upgrade from the Maintenance screen:

SQL2012EnterpriseUpgrade

When you get to the license screen you want to see this:

SQL2012 Upgrade Correct Version

Be warned you will get an error that tells you this upgrade will break Always On Availability Groups if you are using this feature:

StupidSQL2012UpgradeError

Do not disable your availability groups.  You don’t need to.  Mutter a curse about Microsoft not fixing known bugs, click okay and then forget about it.  Your Availability Groups will continue to function perfectly fine.

Productivity Video from Pluralsight

I hate the feeling that I am spending my whole day reacting to other peoples requests and problems, but this has become more and more of an issue since I moved into a new role last October.  There’s not many free blocks of 30 minutes in my day.  But spending 30 minutes to learn how to get more blocks of 30 minutes to do stuff in seemed to make sense.

I highly recommend anyone who feels like they are being bombarded with time-sucking requests from all directions to schedule themselves 30 minutes when they can sit uninterupted and watch this video:

https://www.pluralsight.com/resource-center/webinars/watch–on-demand-webinar–3-productivity-hacks-for-your-tech-tea0

It’s very well articulated and presented and will hopefully help you with both your productivity and your feeling that you have lost control of your days.

 

SQL Saturday Melbourne 2016 – In Review

A big thanks to all the team in Melbourne for a very well run SQL Saturday.  It was my second time in Melbourne and as last year I had a great time and learned a bunch of stuff.  Here’s a quick rundown on the sessions I was lucky enough to attend.

Keynote – Mark Souza

Mark Souza, the lead on the SQL CAT team presented a good insight into the goodies which SQL 2016 will be giving us.  The session would have been even better had I not been surrounded by presenters complaining bitterly that he was using all the content for their sessions.  At any rate it was an enjoyable keynote which gave an interesting insight into where the current priorities are for Microsoft and what’s in the pipeline(spoiler:  lots).  I also ahd the opportunity to chat with Mark at the after party and found him really approachable and interesting.

Azure for the SQL Server DBA – What we need to know, and how to get started – Michael Van Halderan

This is the second time I’ve seen Michael speak, and I really enjoy his presentation style.  There was some great content, good crowd interaction and I love the natural way that Michael slips humor into his presentation.  The key takeaways from this session for me were the thoughts on the flexibility that organisations now have in starting projects up in a cloud environment and how there is no longer a delay while hardware is ordered, or wasted money if hardware is present but other factors delay the start of the project.  One thing that had impact to us in New Zealand is that stretch DB is currently not available without going to the SE Asia data center.  That hop through Australia and on to SE Asia is going to make it a difficult sell.  However 2016 isn’t released yet, so hopefully it’s rolled into Australia by the time 2016 hits the shelves.

Securing Data on Your Terms – Kristina Rumpff

Data security is just not a popular topic at these things, and I was a little dissapointed at the turnout to this session.  Microsoft has made a concerted effort to remove all the security objections that people were using not to move their data into the cloud, and Kristina did an excellent job of presenting these.  There was a smllish group for the session, and Kristina did some nice demo’s and good Q and A.  The week before SQL Saturday our Nelson user group had a security session from John Martin which also had a very poor turnout.  Come on people – this stuff is important, and you can’t rely on it being someone elses problem.  Biggest takeaway from this session is that Always Encrypted and Dynamic Data Masking can’t work side by side – which is kind of obvious when you think about what they both do, but not so obvious I ever thought about it until it was raised in this session.

Indexing For Optimal Performance – Rob Douglas

So…of course I went to my session.  I wasn’t sure how it would go as it was very much a 100 level presentation and I wasn’t sure if I was pitching it too low for the intended audience.  I chose this topic because early on in my DBA career I got huge value out of a similar session presented by one of our team leads at SQL Services.  Indexing and fragmentation internals is an area where people quite often assume you understand it after you’ve played with data for a certain length of time, so I was taking a bit of a gamble that I wouldn’t be presenting stuff that everyone already knew.  I think that came off.  The crowd seemed to be at exactly the level I had prepped the session, and seemed to be pretty well engaged throughout the session.  Or they were just being polite.  Either way I think this session might be resubmitted to a few more events.

Maintain SQL Server Performance Baseline with Powershell – Allen White

I heard mixed responses about this session, and it must be a very awkward one to present giving that parts of it are aimed at one level and parts of it at another.  I haven’t used powershell at all really, but I found the session pretty easy to follow and Allen did a good job of stepping through his script so even a newbie like me can see what he was doing.  There was a few places where a statement like “that counter is irrelevant now” were made without further support, and I actually got asked a few times later what the reasons for that were.  In most cases they are fairly well documented and I’d come across the same advice in various blogs, but if you don’t take the time to read the number of blogs I do I imagine it would be a bit annoying.  But apart from that criticism I thought Allen did a good job of covering quite a lot of ground at a pretty reasonable depth in the hour he had available.  I find for this level of session I can sometimes walk out without much written down, but I had half a dozen things scribbled down from this session I need to go away and read more about.

The Aftermath

As always the best value from the SQL Saturday was from after the sessions were done.  For those who go along for the day and then don’t take the opportunity to catch up with the speakers afterwards I feel you really are missing a great opportunity to make connections in the SQL community and find out a bit about what everyone is doing and thinking.  It’s sometimes a bit intimidating to approach people, but come on – it’s a bar full of people who deal with SQL all day.  You don’t often get that chance, and by this point all the speakers have finished their sessions, unwound a bit and are always keen to answer questions and have a chat.  I still stay in touch with people I met at last years SQL Saturday, and there’s a few more from this year that I look forward to adding to the list.

 

.

SQL Saturday Melbourne

So you are in Melbourne on Feb 20th and have nothing to do.  What are your options?  how about going to SQL SATURDAY!!

http://www.sqlsaturday.com/464/eventhome.aspx

I’m doing a session on how to index for optimal performance.  Indexing is one of the magic switches in SQL Server that is often misunderstood and can make the difference in a query returning in milliseconds, seconds, minutes or even hours.  I’m going to be taking a look at how indexes fragment, explain the impact of the fragmentation and what is happening under the hood.  We’ll also touch on some common and not so common index creation, maintenance and optimization techniques.

Hope to see you there.

 

 

SQL Saturday Sydney

SQL Saturday Sydney is on 27th February and includes….ME!  And some good speakers.

If you are going to be in the Sydney area I strongly recommend that you come along for a great day of free SQL content from some fantastic International speakers.

http://www.sqlsaturday.com/468/eventhome.aspx

I’ll be doing a presentation on High Availability and disaster recovery, talking about the various options that SQL Server offers out of the box to provide them, and some lessons learned from the Christchurch Earthquakes.

 

Hope to see you there.