進一步使用可用性
根據預設,Azure SQL Database 和 Azure SQL 受控執行個體在各種服務層級間提供優秀的可用性選項。 您還可以執行一些額外動作來增加或修改資料庫/執行個體的可用性。 您可以直接在服務等級協定 (SLA) 中看到影響。 在本單元中,您將會了解如何進一步使用 Azure SQL 中的各種可用性選項。
可用性區域
在 Azure SQL Database 的業務關鍵層級中,若區域支援,則可加入 (無須任何額外費用) 區域備援設定。 就高層級而言,其會在單一區域內的三個可用區域中部署在業務關鍵資料庫和受控執行個體後方執行的 Always On 可用性群組 (AG)。 可用性區域基本上是指定區域內的個別資料中心。 可用性區域之間一律會有實體分隔。 這項功能可保護區域中資料中心可能發生的重大失敗。
從效能觀點而言,網路延遲可能會有些微的增加,因為 AG 現在會分散在資料中心間,且每個資料中心之間都有一些距離。 基於這個理由,預設不會開啟可用性區域。 您可以選擇使用通常稱為「多重 AZ」或「單一 AZ」部署的選項。 設定這個選項的流程相當簡單,只需要將參數新增到 PowerShell/Azure CLI 命令,或在 Azure 入口網站中核取方塊。
可用性區域是 Azure SQL 中相對較新的功能,因此目前僅供特定的地區和服務層級使用。 經過一段時間後,在更多區域甚至更多服務層級中可能會支援此功能。 例如,最近 Azure SQL Database 一般用途層發行的多 AZ 部署預覽版。
Azure SQL SLA
Azure SQL 會維護服務等級協定 (SLA),該協定提供承諾的財務支援,以達到和維護服務層級。 如果未如 SLA 中所述達成及維護服務層級,則可能有資格取得每月服務費用的一部分折抵。
目前,您可以透過已設定可用性區域的 Azure SQL Database 業務關鍵部署來達成最高可用性 (99.995%)。 業務關鍵層是產業中唯一可分別提供 5 到 30 秒之 RPO 和 RTO SLA 的選項。
- RPO 代表「復原點物件」。 其代表在最糟的情況下,您可能會遺失的資料量。
- RTO 代表「復原時間目標」。 其代表萬一發生嚴重損壞時,備份和重新執行的時間長度。
針對 Azure SQL Database 或 Azure SQL 受控執行個體的一般用途或單一區域業務關鍵部署,SLA 為 99.99%。
超大規模資料庫層級的 SLA 取決於複本的數目。 請記住您在超大規模資料庫中選擇多少個複本。 如果您沒有任何複本,容錯移轉行為更像是一般用途的容錯移轉。 如果您有複本,則容錯移轉行為更像是業務關鍵的容錯移轉。 以下是根據複本數目的 SLA:
- 0 個複本:99.5%
- 1 個複本:99.9%
- 2 個以上的複本:99.99%
異地複寫和自動容錯移轉群組
在您選擇服務層級 (並且適當考量可用性區域) 之後,您可以考量一些其他選項以便取得讀取縮放或容錯移轉至其他區域的能力:異地複寫和自動容錯移轉群組。 在 SQL Server 內部部署中,設定其中任何一個選項都需要大量的規劃、協調和時間。
雲端 (特別是 Azure SQL) 已讓這個程序更輕鬆。 針對異地複寫和自動容錯移轉群組,您可透過在 Azure 入口網站中按幾下滑鼠,或在 PowerShell/Azure CLI 中設定幾個命令來進行配置。
有一些考量可協助您決定異地複寫或自動容錯移轉群組是否最適合案例:
功能 | 異地複寫 | 容錯移轉群組 |
---|---|---|
Automatic failover | 否 | 是 |
同時容錯移轉多個資料庫 | 否 | 是 |
使用者必須在容錯移轉之後更新連接字串 | 是 | 否 |
SQL 受控執行個體支援 | 否 | 是 |
可位於與主要複本相同的區域 | 是 | 否 |
多個複本 | 是 | 否 |
支援讀取縮放 | 是 | Yes |