Sql-server – Microsoft SQL Server Standard High Availability without Shared Storage

databasedatabase-administrationhigh-availabilitysql server

I'm a software dev with little experience managing SQL so please bear with me!

We are developing a piece of software that needs to be highly available, with a significant degree of resilience.
This application will use SQL server to store much of its operational data.

This application will be running from 2 separate physical locations and no shared disk (SANs or whatnot) is allowed between these 2 locations, shared SMB is a possibility but not well liked by our security people.

This application wont commit loads of data to SQL, but there will be 26 instances of this system deployed in the real world, 52 SQL server instances all together so to cut costs we are pretty sure SQL standard is as expensive as we can afford!!!!

What are my options, since DBase mirroring seems to be being obsoleted in the not too distant future?Basic Application Model

Best Answer

You can use AlwaysOn.

AlwaysOn is the 'new' way to do this, and the reason DB mirroring is becoming obsolete in SQL Server.

It basically works like this:

enter image description here

You need to create a Windows Cluster for the Networking-aspect. Shared storage is not needed, but you will need a file-share for the instances to sync the logs (only DB's in FULL recovery can be used) and for Quorum in the cluster (if you have only 2 nodes).

When you set them up in Synchronous Commit, you can have a near online fail-over. You can write your application to handle the small interference. (fail once? => try again)

With SQL 2014 STD, you can set up AlwaysOn for 2 nodes. In Windows 2012 Failover Clustering is also in the standard edition.

Related Topic