SQL Server Hybrid Approaches for High Availability
SQL Server High Availability technologies already gives you a lot of flexibility to fit diverse deployment typologies. Additionally, you can also combine different HA or DR methods to give more granular levels of failover options.
Let us look at some of those techniques, which can help us deploy SQL Server and achieve High Availability goals.
These are Geographically dispersed Clusters and with Storage-level Replication at the storage tier, at the RAW file-system level.
Points to Consider:
- This is a vendor specific solution, and Microsoft will only support the OS and the SQL Server deployment. Any issues with Cluster or replication needs to be handled by the vendor support team.
- This is a costly solution and requires a lot of investment on hardware and storage tech. Specialized training may need to be provided to a dedicated support staff to implement such a solution.
- SQL Server is unaware of the Geo-Deployment running underneath. SQL Server deployment on a cluster will still be as per the same checklist that I mentioned before.
- Storage level replication does not understand SQL Server Storage structures, like MDF, LDF, Page files or Extents. The replication is at the storage level and does not ensure Transactional consistencyat the SQL Server level.
Combining Mirroring with Failover Cluster
- Since Database Mirroring is a software solution, and Failover Cluster a hardware solution, both can mutually co-exist. In this example, Principal Server can be a Failover Cluster
- Since Database Mirroring Failover process is faster than Failover Cluster, failover to mirror will occur before failover within the cluster. So Principal will come back up as the Mirror
- Mirror can also have a Failover Cluster. However, this can be a costly solution to implement.
Things to consider before choosing the right SQL Server High Availability Technology:
Failover Detection: Automatic or Manual
Failover: Automatic or Manual
Time to Fail Over : Seconds vs. Minutes
Number of Failures it can survive
Data Currency / Loss
Cost of redundant system(s)
Additional hardware and associated costs
Additional management and IT Support
Granularity of Data Safety:
Instance, Database, Table, Row
Complexity of implementation
How Transparency is the failover process to Clients
Privileges Required to Setup
Remote DR Site : A-Sync or Sync
Impact on Performance
In the next post, I will be talking about SQL Server Availability Groups and its implementation use cases.