What would be the best way to achieve the best high availability in SQL Server 2012 Standard edition where connected clients/programs will not notice anything at all, or almost nothing, when a server goes down?
It involves the following setup:
2 physical servers, each server has a maximum of 4 Virtual Machines (Windows Server 2012 Standard)
VM 1 (same on both physical servers) - Domain controllers with Failover Clustering for Windows services.
VM 2 (same on both physical servers) - Exchange 2013 DAG/Client Access redundancy with HLB.
VM 3 (same on both physical servers) - SQL Server 2012 Standard - technology undecided
VM 4 (same on both physical servers) - undecided
At the moment i am looking at 2 options:
(1)
Use VM 3 on both physical servers for Failover Clustering of SQL Server 2012 (AlwaysON failover clustering), though this will only use 1 shared database if i am correct? So share problems means database problems (SAN might be implemented but not sure yet). Though clients shouldn't notice anything from the failover, and it only uses 2 nodes (maximum anyways for Standard edition). VM 4 does not get used in this case which makes it also cheaper.
Are there any downsides to this?
(2)
Use VM3 and VM4 for Database mirroring combined with Failover clustering. 2 Clusters (VM3 in a cluster, vm4 in a cluster) and install SQL Server 2012 Express on the Exchange machine as a witness server, not sure if this has to be clustered as well on both machines though.
It's sort of like described here: http://msdn.microsoft.com/en-us/library/ms191309.aspx
6 clean nodes/VMs is unfortunately impossible, so the witness server will have to share it with either Exchange or a domain controller.
---------------------------------------------------------------------------
Am i looking at this the right way or am i completely off?
I don't really have a problem with using Database mirroring as it is the same principle as AlwaysOn Availability Groups. I could use that argument to make the transition to that technology easier when the next version of SQL comes out (The enterprise version
that's required now is WAY too expensive).