Business Continuity in Azure SQL database is about the mechanism, policies and procedures that enable business to operate in the face of disruption such as software failure, hardware failure and data center outage. To mitigate such failures Azure SQL database provides built-in regional high availability & geo-replication architecture, which guarantees automatic recovery from these failures with up to 99.995% availability SLA.
Azure’s high availability solution is designed to ensure that committed data is never lost due to failures and operations are not impacted severely due to database failure. There are two high availability options for Azure SQL & Elastic Pool databases, these are Geo-Restore, Geo-Replication, Active Geo-Replication & Failover Group. These HA solutions are based on SQL Server Always-On replication technology.
- Geo-Restore – This is a Business Continuity Process where the database backup is stored in geo-redundant storage account which replicate the backup file to a secondary region. When the primary region becomes unavailable new database server can be restored from the secondary region which lags up-to 1 hour behind the primary.
- Geo-Replication – This feature creates a replication between primary replica and non-readable secondary replica in the same or different region. It supports manual failover only and application must change the connection string after failover to reflect the secondary database. This solution is more suitable for application only require DR SLA with no read-scale out requirement.
- Active Geo-Replication – This feature allow a creation of up-to four readable secondary databases in the same or different regions with asynchronous replication and all the secondary’s support read-scale out operation. Planned or Unplanned Failover to secondary can be initiated by the user or application. You can manage replication & failover of an individual or set of databases on a server or in an elastic pool.
- Failover Group – This feature is build on top of Geo-Replication in order to provide the ability for automatic failover a group of databases to a different region in one go similar to traditional SQL Server Always-On availability group.
Azure SQL database as a fully managed RDBMS with high availability, automated patching, automatic performance tuning provides a service level agreement outlined below
- RTO is the amount of time in which the service becomes available again after failure
- RPO is the maximum expected data loss during a failure