Feb 152018

I am extremely fortunate to have been named a Friend of Redgate for a fifth year!

If you’re not familiar with the Friends of Redgate program, we work with the Redgate development and product teams to provide feedback on existing products, new tools, and feature enhancements. You can also find us doing things like speaking at events, writing articles on Redgate tools, and participating on the Redgate forums.

Redgate is a wonderful organization to be associated with. Not only do they make great tools and publish some very helpful books, but they’re also extremely community-oriented. They sponsor many functions such as user group meetings and SQL Saturdays, and also put on their own events, such as SQL in the City Streamed. These events used to be on-premises, but now they’re in the cloud and you can attend from anywhere! The next SQL in the City Streamed is taking place on Wednesday, 28 February. If that sounds awesome to you, you can find out more here!

Thank you so much, Redgate. I’m looking forward to another great year!

Feb 132018

SQL Server Mirroring has had a rough time the past few years. It was deprecated in SQL Server 2016, and now it’s more or less being replaced by Basic Availability Groups, (which I love to refer to as “BAGS”). Database Mirroring hasn’t gone the way of the Dodo yet though. Perhaps it won’t be quite so popular in new deployments anymore, but there’s plenty of existing ones out there. For this reason I don’t expect Microsoft to remove the feature for at least a few more years.

A few weeks ago I had a reminder of one of the finer points of the requirements for mirroring: mirrored servers need to be running not only the same version of SQL Server, but the same edition as well.

I hadn’t thought of this in a while, but it makes sense. Asynchronous Database Mirroring (also known as “High-Performance Mode”) is only available in Enterprise Edition, while Standard Edition only supports “High Safety Mode”, which is synchronous. If the primary server in a mirroring topology was Enterprise Edition, but the mirror server was Standard Edition, how would that work? What if the Enterprise Edition server had features enabled that don’t exist in Standard Edition? One way might be to disable features where conflicts occur, but that would probably lead to more issues as well as confusion. The simple solution is “just don’t let that happen” and that is what Microsoft opted for here. If you try to configure mirroring between instances running different editions of SQL Server, you won’t get very far before you see this:

Microsoft makes no secret of this in their documentation. The second listed prerequisite is “The two partners, that is the principal server and mirror server, must be running the same edition of SQL Server. The witness, if any, can run on any edition of SQL Server that supports database mirroring.”

So to sum things up, you may never have to touch a mirrored database again, but if you do, remember that editions matter!

UPDATE: While editions must match, it should be noted that versions of SQL Server need not match, and this exception can be particularly useful for using mirroring to perform upgrades, as mentioned in this blog post by Glenn Berry. However once you failover a mirroring session to a newer version of SQL server, failback to the older version is no longer possible. This is perhaps why Microsoft states in their documentation that versions must match – they will need to for any kind of long-term arrangement.

Feb 072018

I’m so proud to be speaking at SQLBits – Europe’s largest SQL Server conference!

It took me several years of abstract submission before I was accepted to speak at PASS Summit. Once I spoke there, I set my sights on presenting internationally. After some more attempts, I now have the amazing opportunity to present in London and deliver not one but TWO sessions! They are:

VLDBs: Lessons Learned

Whoever coined the term “one size fits all” was not a DBA. Very large databases (VLDBs) have different needs from their smaller counterparts, and the techniques for effectively managing them need to grow along with their contents. In this session, join Microsoft Certified Master Bob Pusateri as he shares lessons learned over years of maintaining databases over 20TB in size. This talk will include techniques for speeding up maintenance operations before they start running unacceptably long, and methods for minimizing user impact for critical administrative processes. You’ll also see how generally-accepted best practices aren’t always the best idea for VLDB environments, and how, when, and why deviating from them can be appropriate. Just because databases are huge doesn’t mean they aren’t manageable, attend this session and see for yourself!

SQL Server Administration on Linux

Times are certainly changing with Microsoft’s recent announcement to adopt the Linux operating system with the SQL Server 2017 release, and you should be prepared to support it. But, what is Linux? Why run your critical databases on an unfamiliar operating system? How do I do the basics, such as backing up to a network share or add additional drives for data, logs, and tempdb files?

This introductory session will help seasoned SQL Server DBAs understand the basics of Linux and how it differs from Windows, all the way from basic management to performance monitoring. By the end of the session, you will be able to launch your own Linux-based SQL Server instance on a production ready VM.


I can’t wait to experience this incredible event I’ve been hearing about from other people for years, and am very interested to compare it to my previous experiences at PASS Summit. Expect a full write-up once I return!

Feb 062018

There’s a little more than a month to go until SQL Saturday Chicago 2018!

This year we received 137 abstracts submitted by 60 speakers, and we are very pleased to announce our schedule. Thank you to all who submitted!

I hope to see you on Saturday, March 17, 2018, at Benedictine University in Lisle for what will be a wonderful day of free training, networking, and career development. (Lunch is available for $15.)

We have broken our previous record for registration, and even though we have a new larger venue, we are now at capacity. That being said, there are still ways you can attend:

Join our waiting list, as spots may open up. As the date nears, many people find they are unable to attend and then cancel their registration. As this occurs, we will be pulling from our waiting list in the order that people joined it. REGISTER HERE for our waiting list.

Register for a pre-conference session and be guaranteed a spot. We are offering 4 full-day pre-conference sessions on Friday, March 16. These in-depth workshops are being conducted by experts in their respective fields. Pre-conference registration includes lunch. Additionally, pre-conference attendees can bypass the SQL Saturday waiting list and are guaranteed a spot. You can find out more information and register for pre-conference sessions at the links below:

I hope to see you here next month!

Feb 052018

While programming, I often need to view different parts of a file at the same time. Consider a long stored procedure: the list of parameters is at the top and it may be helpful to reference them when working elsewhere in the code. I could scroll repeatedly between the top of the file and wherever I am working, but that becomes annoying rather quickly, in addition to wasting time.

Fortunately, SQL Server Management Studio, which is built on Visual Studio, has a wonderful solution to this. Each file has a splitter located in the top right corner.

File Splitter: hiding in plain sight

Simply grab the splitter and drag down to split the file. You now have two independent views of the same file! It’s a huge time saver, and it’s easy!

SQL Operations Studio (which at the time of this writing is still in preview) addresses this problem differently. Rather than having two different views of a file per tab, it lets you open a file multiple times. To do this, right-click on a file in the explorer window, and choose “open to the side”.

This accomplishes the goal of letting you view multiple areas of a file at once, but in my opinion it’s much less optimal. You need a wider window for it to work (as proven by my narrow video for this post) and depending on the width of your code, that may not be convenient.

All things considered, I prefer SSMS’ implementation, and I have to imagine that anyone who has worked in SSMS or Visual Studio for a while would say the same. I have high hopes for SQL Operations Studio, especially since it is still in preview. I don’t expect SSMS feature parity in this new tool, but I hope horizontal file splitting eventually makes it into the product.