There’s always a lot of teeth gnashing surrounding software upgrades and updates, and Microsoft SQL Server has not been immune to the protestations, especially since a popular feature database administrators commonly used to insure high availability and disaster recovery was deprecated.
Initially implemented in Microsoft SQL Server 2005, Database Mirroring in SQL Server was a go-to feature for many database professionals. Database administrators liked using the feature to ensure their databases could be redundant and offer high availability.
Obviously, these particular attributes are desirable, if not mandatory, features in a world where five nines trump all (99.999% uptime). Businesses want and need data around the clock for smooth operations, which makes high availability essential. More importantly, database mirroring has also been a key component in many operations’ disaster recovery plans.
As of February 2016, Microsoft states:
“[Database Mirroring] will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Use AlwaysOn Availability Groups instead.”
AlwaysOn Availability Groups as a Substitute for Database Mirroring
What do you do if you want to do something similar to mirroring? Is Microsoft right about using Basic Availability Groups?
When database mirroring was first deprecated in SQL Server 2012, Microsoft advised users to shift to AlwaysOn Availability Groups. Found in SQL Server Standard Edition, this feature reportedly offers users the same functions as found in database mirroring. For those users without SQL Server Enterprise Edition, they had the option to use log shipping, which is another means for backing up files.
Things have changed a bit since the initial deprecation of database mirroring. It used to be that a Windows cluster was required to use AlwaysOn, as well as the latest iteration of SQL Server Standard Edition, since this feature relied on Windows Server Failover Clustering.
Now, there is an additional option available with SQL Server 2016. If you are also using Windows Server 2016, you can configure a Basic Availability Group via two cluster nodes without needing an Active Directory domain.
This should be a fully formed replacement for database mirroring. As Glenn Berry, Principal Consultant with SQLskills, wrote in 2013:
“In my experience, organizations that choose or need to use SQL Server Standard Edition for whatever reason, tend to also be slower to upgrade to new versions of SQL Server as they are released by Microsoft.”
Therefore, there may be some users who opt to stay with whatever older version of SQL Server they have. Berry does say Microsoft makes the argument for upgrading very compelling via numerous user incentives.
You could also just keep using database mirroring. Since you know you need to look at other options to offer high availability and disaster recovery, why not keep using it as you explore other possible solutions? You may eventually wish to migrate to SQL Server Enterprise Edition, which is optimized for mission-critical business applications.
If you’re still waffling about moving to SQL Server 2016 or wondering whether it will meet your organization’s needs, our website provides many resources for those new to SQL Server 2016 as well as existing users. This includes our whitepapers discussing many popular aspects of SQL Server 2016.
With more than 600 database administrators and 300-plus clients worldwide, Datavail is the largest pure-play database services provider in North America. With 24×7 managed database services, including database design, architecture and staffing, Datavail can support your organization as it works with SQL Server 2016. Contact Datavail to discuss a custom solution designed for your enterprise.
EPM applications help measure the business performance. This post will help you choose the best EPM solutions for your organization’s needs and objectives.
Imagine over one hundred logins in the source server, you need to migrate them to the destination server. Wouldn’t it be awesome if we could automate the process?