SQL 2016 – Basic Availability Groups

With database mirroring out of the picture a question on most SMEs mind was how can we get HA on our SQL machines now? Database mirroring was a favorite for most small businesses since it allowed the user to have multiple usable database engines and therefore was able to justify the cost of using SQL Server. Now while most enterprise users will prefer to go with enterprise edition of SQL Server and would have the requirement for FC or traditional Always ON Availability groups it would be overkill for small companies.

Enter basic availability group for Standard Edition and above starting with SQL 2016. Now you can have a 2 node Always On Availability Group but with a catch. A lot of the functionality still looks like Mirroring. For example you can have only 1 replica, it supports both Synchronous and Asynchronous replicas, and the secondary replica is unusable (no read even). Because the secondary for all purposes is treated just like it would in a Database mirroring configuration you can’t even take backups off it.

But it does allow a cloud replica which might come as a relief for those looking to manage costs. Apparently there is no UI for this yet. Also it supports only one database per availability group making this pretty much the exact same thing as DB mirroring with all of the weaknesses of Mirroring and none of the strengths of AlwaysOn. Using this feature requires the use of WITH BASIC keyword when creating the Availability Group (demo on this coming soon).

What bothers me most about this is the fact that MS clearly went with money as a deciding factor here. Force companies to use Enterprise edition for any serious HA while the design effort for implementing this functionality is arguably not much of a stretch for MS which has matured Availability Groups over the last few years. A word of advice to MS – If you’re going to churn out releases every 2 years at least give users a decent excuse to migrate to it.