適用於:Azure SQL 資料庫
本指南說明如何更新 Azure SQL Database,以使用 可用性區域進行區域備援。
為 Azure SQL Database 啟用區域備援可確保高可用性,讓您的資料庫和彈性集區能夠復原到較大的失敗集,例如災難性的數據中心中斷,而不需要變更應用程式邏輯。 啟用區域備援時,您的資料庫會利用可用性區域,在單一 Azure 區域內的多個實體位置復寫數據。
Prerequisites
啟用可用性區域支援之前,請確定您的 Azure SQL Database 位於支援的服務層級和部署模型中。 請確保您的層級和模型是在支援可用性區域的地區中提供。
| 服務層級 | 部署模型 | 區域備援可用性 |
|---|---|---|
| 進階 | 單一資料庫或彈性集區 | 所有支援可用性區域的地區 |
| 業務關鍵 | 單一資料庫或彈性集區 | 所有支援可用性區域的地區 |
| 常規用途 | 單一資料庫或彈性集區 | 所選支援可用性區域的地區 |
| 超大規模資料庫 | 單一資料庫 | 所有支援可用性區域的地區 |
停機需求
針對 Premium、高級、商務重要型和一般用途服務層級啟用區域冗餘,是一項在線作業,且會短暫中斷連線。 如果您已針對標準暫時性錯誤實作重試邏輯,則不會注意到容錯移轉。
針對超大規模資料庫服務層級,區域備援支援只能在資料庫建立期間指定,而且在佈建資源後就無法修改。 如果您想要移至可用性區域支援,就必須使用資料庫複製、時間點還原或異地複本來傳輸資料。 若目標資料庫位於與來源不同的區域中,或是若目標的資料庫備份儲存體備援與來源資料庫不同時,則停機時間與資料作業的大小成正比。
啟用區域備援(進階、業務關鍵和一般用途)
針對進階、業務關鍵和一般用途服務層級,可以啟用區域備援。
請遵循下列步驟,為單一資料庫或彈性集區啟用區域備援。
為單一資料庫啟用區域備援
啟用彈性集區的區域備援
Important
啟用彈性集區的區域備援支援,可將集區內的所有資料庫設為區域備援。
移至 Azure 入口網站 以尋找並選取所需的彈性集區。
在 [設定] 底下,選取 [計算 + 記憶體]。
針對要將此彈性集區設為區域備援嗎?選取 [是]。
選取 [儲存]。
等候在 Azure 入口網站頂端功能表的 [通知] 中接收作業完成通知。
若要確認是否已啟用區域備援,請選取 [設定],然後選取 [集區設定]。
區域備援選項應設為 [是]。
重新部署 (超大規模)
針對超大規模資料庫服務層級,區域備援支援只能在資料庫建立期間指定,而且在佈建資料庫後就無法修改。 如果您希望取得區域備援支援,則必須從現有的超大規模資料庫服務層級單一資料庫執行資料傳輸。 若要執行傳輸並啟用區域備援選項,就必須使用資料庫複製、時間點還原或異地複本來建立複製。
重新部署考量
重新部署有兩種模式 (線上和離線):
資料庫複製和時間點還原方法 (離線模式) 在特定時間點建立交易一致的資料庫。 因此,在複製或還原作業啟動後執行的任何資料變更,皆無法在複製或還原的資料庫上使用。
異地複本方法 (線上模式) 是一種重新部署,會讓來源中的任何資料變更都同步至目標。
您必須更新應用程式的連接字串,以指向區域備援資料庫。
重新部署單一資料庫
資料庫副本
若要使用 Azure 入口網站、PowerShell 或 Azure CLI 建立資料庫複本並啟用區域備援,請遵循在 Azure SQL Database 中複製資料庫的交易一致性複本的指示進行操作。
時間點還原
若要使用 Azure 入口網站、PowerShell 或 Azure CLI 建立時間點資料庫還原並啟用區域備援,請遵循時間點還原的指示進行操作。
Geo-replica
若要建立資料庫的異地複本:
請遵循設定作用中異地複寫與容錯移轉 (Azure SQL Database) 的指示使用 Azure 入口網站、PowerShell 或 Azure CLI,並在 [計算 + 儲存體] 下啟用區域備援
複本已植入,而植入資料所需時間取決於來源資料庫的大小。 若要監視植入狀態,您可以透過 Azure 入口網站,或在複本資料庫上執行下列 TSQL 查詢:
SELECT * FROM sys.dm_geo_replication_link_status; SELECT * FROM sys.dm_operation_status;資料庫植入完成後,請執行已規劃的 (無資料遺失) 容錯移轉,讓區域備援目標資料庫成為主要資料庫。
- 使用 sys.dm_geo_replication_link_status 來檢視異地複寫狀態的情況。 當次要資料庫處於一致的交易狀態時,
replication_state_desc為CATCH_UP。 - 在 sys.dm_operation_status 動態管理檢視中,當植入作業完成時,檢查
state_desc是否為COMPLETED。
- 使用 sys.dm_geo_replication_link_status 來檢視異地複寫狀態的情況。 當次要資料庫處於一致的交易狀態時,
更新應用程式連接字串中的伺服器名稱,以反映新的區域備援資料庫。
若要執行清除作業,請考慮從異地複本關聯性中移除原始的非區域備援資料庫。 您可以選擇將其刪除。
驗證區域備援
您可以使用 Azure PowerShell 或 Azure CLI 或 REST API 來檢查 ZoneRedundant 資料庫的 屬性。
- 在 Azure 入口網站中,流覽至您的 Azure SQL Database。
- 在 [設定] 底下,選取 [計算 + 記憶體]。
- 檢查 您要讓這個資料庫區域備援嗎? 設定的值。
停用區域備援
若要停用單一資料庫或彈性集區的區域備援,您可以使用 Azure 入口網站、ARM API、PowerShell 或 CLI。
停用單一資料庫的區域備援
移至 Azure 入口網站,以尋找並選取您不再需要區域備援的資料庫。
在 [設定] 底下,選取 [計算 + 記憶體]。
針對 [否] 選取 [是否要讓此資料庫區域備援?
選取 [儲存]。
停用彈性集區的區域備援
移至 Azure 入口網站,以尋找並選取您不想再成為區域備援的彈性集區。
在 [設定] 底下,選取 [計算 + 記憶體]。
針對您要讓此彈性集區區域備援?,選取 [否]。
選取 [儲存]。
若要停用超大規模資料庫服務層級的區域備援,您可以反轉重新部署 (超大規模資料庫) 中所述的步驟。