Taking a Moment to Give Thanks

By: on November 25, 2015 in Advice | No Comments

Tomorrow (November 26th) is Thanksgiving here in the United States. I get that depending on your viewpoint, it is not necessarily a good day, so it’s not a holiday without some controversy. That is not the intent of this blog post. Personally, Thanksgiving has never been a big deal for me. My birthday sometimes falls on Thanksgiving, but that’s another day I generally don’t really think about either. I want to focus on the “thanks” part of Thanksgiving, because I think so much common courtesy has been lost in our daily interactions. I used to work retail, so a simple “please” and “thank you” goes a long way, but there are a lot of self-centered people out there. Consulting and teaching are, at their core, customer service jobs. I never forget that.

A few months back, I write a blog post entitled “In the End – Life (and IT) Lessons from Rush.” I also wrote another one entitled “August Anniversaries.” One of the things I’ve never shied away from on this blog is how my friends and family matter to me or writing about difficult subjects (see the blog post “Reality Is Always Different” ). All of our experiences in life, including the people we interact with, form who we are. Unfortunately, some of those interactions  are negative, and we were reminded of that yesterday in my good friend Wendy Pastrick’s blog post up on the PASS website. Ugh.

There are people, times, and events that remind us that there’s no need to be (pardon my “French”) a douchebag in life and that everything you do can, and arguably, will have an impact on others. I saw a link to this Youtube video where Fred Rogers (look at the link if you do not know who he is) was inducted into the Television Hall of Fame here in the USA. Please take a few minutes and watch it. By all accounts, Fred Rogers was the same man on screen and off. I really love his message here because we can apply it to what we do. Sure, it’s a speech about TV, but it’s more than that. How gutsy was it for him to take a whole audience and made them reflect for ten seconds? That was an amazing, powerful moment.

Over the years, but moreso recently, I’ve had a lot of people come up to me wholly unsolicited told me that I inspired their career or got them started down a path based on something I did – be it one of my books (yeah, yeah ..), a precon, a session at a conference … you get the idea. That is incredibly humbling, but at the same time, gratifying. It’s nice to know what I do has a positive impact on others. I try to give back – a topic I’ve addressed elsewhere (see the life lessons blog post linked above). I always want to give 100% and challenge myself and others to be better.

At the same time, I also know that I’m not infallible and sometimes even when I give my best, or have the right intention, things don’t always work out in one way or another. It’s how you deal with failures or disappointment and how you learn from it that helps you improve both as a person and a professional. If you don’t know adversity, how can you know success? I know I’m much more thankful and appreciative of what I have and where I am because I know what the other side looks like. Like everyone reading this blog post, I have my moments and bad days, but I try not to let it show when that happens. We’re human, after all.

Here’s a story for you. Around this time last year, we were supposed to wrap up an engagement with a series of meetings onsite at a client. The night before the meetings, I got a call from my Mom telling me not to worry but my Dad was in the hospital.  Don’t worry indeed. Luckily, Max was with me and he handled everything. The client understood, and because the call came in so late, I couldn’t fly out until the next morning. Not going to NJ was not an option. I was also scheduled to go to Japan on vacation a few weeks later but would have cancelled all that if I had to. Luckily, my Dad was OK and I would up being able to go on vacation (but still checked in, of course), but it’s these moments that matter. I won’t be spending Thanksgiving with my folks this year, but will see them soon. The point here is that despite what could have been a really bad time, I could rely on Max for which I am forever grateful. He’s a great business partner and friend. Other people would not be as generous.

This Thanksgiving, not only am I thankful for my parents (of course) who are still here and leading busy lives (I know some folks who sadly lost a parent this year) and have always supported me, but also Max and my other friends and family. Most importantly, I am thankful for all of you. You make what I do worth it. All of the behind the scenes hours I put into the labs for a precon, class, or presentation do not go wasted when I get the wonderful comments and scores back that I did from this year’s PASS Summit. I truly appreciate it when people choose to do things like spend their training budge/own money as well as time (be it an hour, a day, or a four-day class) with me because there are many choices out there. I do not take any of it for granted. (Shameless plug – take advantage of our Black Friday training sale for 2016.)

Whether you celebrate Thanksgiving or not, take a few moments and do what Mr. Rogers asked that audience to do: reflect on those who have helped you become who you are.

Happy Thanksgiving, everyone. See you on the other side.


New 2016 Training Schedule and Black Friday Training Sale

By: on November 20, 2015 in SQLHAU, Training | No Comments

It’s been a busy week over here at SQLHA, or should I say in this case, SQLHAU®. This week, I finalized most of our 2016 training schedule for the 4-day Mission Critical SQL Server class. Four new cities have been added (the links take you to each event’s page):

If you’re in Australia, I’ll be coming down there soon. I’ll be delivering the Mission Critical SQL Server class in both Melbourne (February 15 – 18, 2016) and Canberra (February 22 – 25, 2016). I’ll be doing the Australia classes in conjunction with our partner WardyIT.

There are other classes and cities coming; stay tuned!

You may also notice that if you clicked on the main SQLHAU® page linked above there are two new things that will debut soon – online training and the Mission Critical Moment. I’m not quite ready to talk about them in more detail just yet, but 2016 is going to be a big year. The best way to stay informed about anything new at SQLHA and SQLHAU® is to sign up for our newsletter. Subscribers may even get special discounts that are unavailable elsewhere … you never know.

To celebrate these new classes, we’re running a special sale. We’re calling it a Black Friday sale, but why wait until then? Take advantage of it right now, and it ends November 30th. What’s on sale?

  • 30% all of the SQLHA-run Mission Critical SQL Server classes (Boston, Philadelphia, Chicago, and Silicon Valley) You do not need to enter a discount code; the price will be reflected at checkout. Mission Critical SQL Server lists for $2895, so that means you will save $868.50. That’s a tremendous savings.
  • 30% off custom or private training where we come onsite to you. Contact us for more information. We find many customers love this option because they can get the whole team trained at the same time, saving them travel costs, and you can even get the non-DBAs in as needed.

If you miss out on the discount for the Mission Critical SQL Server class, don’t worry. We’ve got other discounts posted for each class starting with 20% on December 1st. See each event’s page for more details.

Finally,if you need help justifying SQLHAU® classes to your manager beyond our fabulous sale prices, give them this letter.

Hope to see you in our classes next year.

Have a great weekend, everyone.

Aftermath of a PASS Summit Preconference Session

By: on October 27, 2015 in Conference, Lab, PASS, PASS Summit, Pre-conferece, Presenting | 1 Comment

It’s currently the Tuesday morning after my PASS Summit 2015 preconference session “Advanced SQL Server Availability Architectures and Deployments“. Before I say anything, I wanted to thank all of the attendees for taking the time out of their schedules to spend a day with lil’ ol’ me and using their training budget for my session. I really do appreciate it. I know they have a choice, and it’s why I do things like stay for an hour after the session to answer questions. Needless to say, I was a bit fried by the time I was done. I grabbed dinner with my business partner Max Myrick, and as soon as I got back to the hotel, it was time for la la land.

The early buzz on Twitter so far has been very good. I am both humbled and pleased since I never make any assumptions going into things. When you put an event like this together, you sometimes have no idea how it’ll go. There were more, but below is a sampling of some of the comments posted (with their relevant links … I don’t make this stuff up).

“RDMA? RDMA! Happy as a pig in poop at @SQLHA presentation …”

“Geek heaven, lots of hardware discussions because guess what SQL runs on…:D”

“Best session ever! Addressed many pain points in design and implementation! Thanks!”

Thanks for the great session today @SQLHA lots of stuff I can use when I get back to work

Lab creation setup for @SQLHA #PASS #Summit15 precon is *really* cool. I’d like to see something like that for training/sandbox inhouse :-)

great class material, great class vibe :-)


I will admit – it’s always fun to see 100 people doing labs simultaneously which are all hosted in the cloud (and no, not Azure or Amazon). This is the second year in a row I’ve done had labs at a PASS precon, and it’s gratifying to see months of hard work come together. Last year was the grand experiment. I remember many people thinking I was insane for even attempting it. And yes, the rumors are true – I demoed an Availability Group that spanned both Azure IaaS and Amazon EC2. Maybe I’ll blog about that configuration at some point.

Labs are fun ...

Labs are fun …

You don’t just show up in October and do a precon with labs at a major event. The process begins much earlier in the year when the call for speakers happens. In my “go big or go home” philosophy, as if doing what did last year was not hard enough, I decided to one up myself and submit a higher level session that was more advanced. Why? Taking the challenge aspect out for me (I love a good one …), there’s a lot of people who have been asking for more than “What is clustering?” type of content. There’s always a risk in submitting something more advanced because one person’s 200 level is another’s 500 level. But what the heck, you only live once, right?

Before I even submitted another precon abstract with labs, I asked PASS if they would let me do it if it was selected. There’s a practical reason for this: cost. There are some very tangible things that are not free when it comes to doing a precon with labs. They said yes, so abstract submitted, and thankfully, accepted a few months later. Away we go – the real work now begins.

I truly believe that everyone learns differently, but for what I do, hands on experience is pretty essential. My labs are not some canned thing someone else does and I’m reusing; I spend time doing instructional design so it fits the content I will be presenting. I try to add a hands on component where I can in all that I do. It’s not always possible. For the lab portion, each student gets their own lab environment. The labs for this one had two main lab exercises which encompassed 10 VMs (six for Lab 1, four for Lab 2). That’s just under 200 GB of VMs for every student.

While doing my four day Mission Critical SQL Server class is one thing, making sure 100 people can all do labs at the same time is another. There’s a lot of back and forth making sure that not only the venue has enough bandwidth, but the company that I use for the labs will have enough horsepower reserved to ensure all of the attendees can use up to 1000 VMs simultaneously. There’s also the fact that all of this, again, costs money so it has to be practical. This is why PASS and I agreed both years to cap the attendees to a maximum of 100 people.

When labs start in a session of this size, there are always some issues to deal with (for example, resetting login or password information, various connectivity issues), but time in and time out, things have worked with only minor things to deal with. I want to give a quick shout out to the Washington State Convention Center folks. They handled a few issues with the wired connections as well as power pretty quickly yesterday. They’re also very nice to deal with (they even remembered the requirements from last year). I also need proctors – it’s nearly impossible in a class of that size to answer everyone’s questions on my own. A special thanks to Max as well as Nic Cain (blog | Twitter) for helping out yesterday. I also have to thank the folks back at PASS HQ, especially Leeza Zelmer. None of this is possible without them, but Leeza really was my main contact and helped facilitate quite a bit behind the scenes.

Will there be another precon at PASS Summit with labs in my future? Who knows … let’s see what 2016 brings. At the moment, I need a bit of time not to be worrying about VMs, connectivity, or labs for a few weeks, but chances are high I’ll be having the same “Will you allow me to do this?” conversation with PASS in the spring again. All the effort and time is worth it when students have comments like the above because the day really isn’t about me; it’s all about them and for them.

I’m looking forward to the formal start of PASS Summit tomorrow morning. See you at the keynote!

Failover Cluster Manager Can Be Deceiving

By: on October 16, 2015 in Failover Cluster Manager, Failover Clustering, PowerShell | No Comments

GUIs are good for some things, but at other times, they are not always what we need or should be using. Case in point: Failover Cluster Manager in Windows. I use it fairly extensively, but there are times I want to strangle it because what you see in the UI doesn’t match what you may see in PowerShell. One or the other is accurate – but which is it?

A great example of this is when you want to enable the Availability Groups feature with the PowerShell cmdlet Enable-SqlAlwaysOn (see my rant about AlwaysOn). If you use the -Force option, it will stop and start the SQL Server service, but not SQL Server Agent (another annoying issue that is a “feature”). Executing this, you will see what is in Figure 1 in Failover Cluster Manager.

Figure 1. Stopped status for the FCI Role

Figure 1. Stopped status for the FCI Role

You can clearly see that SQL Server Agent is offline and the LabFCI role has a status of Stopped. Now, anyone looking at that who was not looking at the resources tab may have a heart attack thinking SQL Server is down. It clearly isn’t.

In PowerShell, if you see what’s going on with the role, you can see that it has a status of PartialOnline. Diving further, if you look at the resources, you’ll see in Figure 2 that SQL Server Agent is offline (just as it shows in FCM). PartialOnline is much more friendly and less threatening than Stopped.

Figure 2. PartialOnline role status and resources

Figure 2. PartialOnline role status and resources

The point here is that sometimes what you see is not really 100% accurate to what is going on. Yes, one resource in the role is offline, but is the whole role stopped? No!

So as you are putting together your plans to go live in production and monitoring your WSFC and the roles running in it, keep these types of things in mind. You may need to scratch below the surface to find out what’s really going on as to not cause yourself some undue stress.

32-Bit Server-based SQL Server Is Finally Dead

By: on October 5, 2015 in Setup, SQL Server, SQL Server 2016, X64, X86 | 1 Comment

Some of you may have noticed that Microsoft recently released SQL Server 2016 CTP 2.4. There is one major change that I am very happy about – x86, or the 32-bit version, is no longer included. SQL Server 2016 is now 64-bit only. This is what you see in Windows Explorer:

SQL Server 2016 CTP 2.4 file - no x86 directory

SQL Server 2016 CTP 2.4 file – no x86 directory

This is one of those changes that has been a long time coming. I first blogged in 2009 about the beta release of Windows Server 2008 R2, and how it was 64-bit only. I’ve talked publicly how SQL Server was really  the only major Microsoft server product left shipping a 32-bit version and how the SQL Server dev team needed to stop shipping an x86 version – especially since the last 32-bit Windows Server release was Windows Server 2008. I even entered a formal bug for SQL Server 2014. Now that SQL Server 2016 is officially not supported on that OS, it’s time to kill it – and it has finally happened.

Its removal is actually the result of an offline conversation I had with someone on the SQL Server development team earlier this year (that conversation covered other stuff which has not and probably will never be fixed … grumble). I’ve been lobbying for this to happen for quite some time (since Windows Server 2008 R2, actually). I pleaded my case yet again during that chat, and they said they would see what they could do – no promises. I did not hear anything for about half a year until an e-mail in June saying that 32-bit would officially be dropped, and was told a few weeks ago it would finally be in CTP 2.4. Lo and behold, no x86! I know it was hard work for the dev team to do, and I for one, thank them from the bottom of my heart. It’s been hard sitting on this one for all this time, but I’m glad I can finally talk about it. As the old saying goes, people really do win on MTV.

Another major reason to kill 32-bit would be so that the SQL Server development team could have more test coverage elsewhere, Think about it – for everything they test, it had to be done twice (x86, x64). Now it’s just once.

Does this mean there will be no 32-bit version of SQL Server 2016? They may make some desktop version; I don’t know nor have I been following. But as a Server product? RIP, and good riddance.

So you can thank (or damn) me for this one. Me, I’m going to celebrate. Where’s my bottle of Coca Cola with real sugar?