共用方式為


將 Azure SQL Database 移轉至可用性區域支援

本指南說明如何將 Azure SQL Database 從非可用性區域支援移轉至可用性支援。

啟用 Azure SQL Database 的區域備援可確保高可用性,因為資料庫會利用 Azure 可用性區域,在 Azure 區域內的多個實體位置之間複寫資料。 藉由選取區域備援,您無須進行任何應用程式邏輯變更,即可讓資料庫和彈性集區在面對大規模故障 (例如發生嚴重的資料中心服務中斷) 時,也能確保復原能力。

必要條件

移轉至可用性區域支援之前,請參閱下表以確保您的 Azure SQL Database 位於支援的服務層級和部署模型中。 請確保您的層級和模型是在支援可用性區域的地區中提供。

服務層級 部署模型 區域備援可用性
進階 單一資料庫或彈性集區 所有支援可用性區域的地區
業務關鍵 單一資料庫或彈性集區 所有支援可用性區域的地區
一般用途 單一資料庫或彈性集區 所選支援可用性區域的地區
超大規模資料庫 單一資料庫 所有支援可用性區域的地區

停機時間需求

進階、業務關鍵和一般用途服務層級的移轉是一項線上作業,在最後會短暫中斷連線以完成移轉流程。 如果您已針對標準暫時性錯誤實作重試邏輯,則不會注意到容錯移轉。

針對超大規模資料庫服務層級,區域備援支援只能在資料庫建立期間指定,而且在佈建資源後就無法修改。 如果您想要移至可用性區域支援,就必須使用資料庫複製、時間點還原或異地複本來傳輸資料。 若目標資料庫位於與來源不同的區域中,或是若目標的資料庫備份儲存體備援與來源資料庫不同時,則停機時間與資料作業的大小成正比。

移轉 (進階、業務關鍵和一般用途)

針對進階、業務關鍵和一般用途服務層級,可移轉至區域備援。

請遵循下列步驟,針對單一資料庫或彈性集區執行移轉。

移轉單一資料庫

  1. 移至 [Azure 入口網站] 尋找您的資料庫。 搜尋並選取 [SQL 資料庫]

  2. 選取您想要移轉的資料庫。

  3. 在 [設定] 下,選取 [計算 + 儲存體]

  4. 針對要將此資料庫設為區域備援嗎?選取 [是]

  5. 選取套用

  6. 等候在 Azure 入口網站頂端功能表的 [通知] 中接收作業完成通知。

  7. 若要確認是否已啟用區域備援,請選取 [概觀],然後選取 [屬性]

  8. 在 [可用性] 區段下,確認區域備援設定為 [已啟用]

移轉彈性集區

重要

啟用彈性集區的區域備援支援,可將集區內的所有資料庫設為區域備援。

  1. 移至 [Azure 入口網站],尋找並選取您要移轉的彈性集區。

  2. 選取 [設定],然後選取 [設定]

  3. 針對要將此彈性集區設為區域備援嗎?選取 [是]

  4. 選取 [儲存]。

  5. 等候在 Azure 入口網站頂端功能表的 [通知] 中接收作業完成通知。

  6. 若要確認是否已啟用區域備援,請選取 [設定],然後選取 [集區設定]

  7. 區域備援選項應設為 [是]

重新部署 (超大規模資料庫)

針對超大規模資料庫服務層級,區域備援支援只能在資料庫建立期間指定,而且在佈建資料庫後就無法修改。 如果您希望取得區域備援支援,則必須從現有的超大規模資料庫服務層級單一資料庫執行資料傳輸。 若要執行傳輸並啟用區域備援選項,就必須使用資料庫複製、時間點還原或異地複本來建立複製。

重新部署考量

  • 重新部署有兩種模式 (線上和離線):

    • 資料庫複製和時間點還原方法 (離線模式) 在特定時間點建立交易一致的資料庫。 因此,在複製或還原作業啟動後執行的任何資料變更,皆無法在複製或還原的資料庫上使用。

    • 異地複本方法 (線上模式) 是一種重新部署,會讓來源中的任何資料變更都同步至目標。

  • 您必須更新應用程式的連接字串,以指向區域備援資料庫。

重新部署單一資料庫

資料庫複本

若要使用 Azure 入口網站、PowerShell 或 Azure CLI 建立資料庫複本並啟用區域備援,請遵循在 Azure SQL Database 中複製資料庫的交易一致性複本的指示進行操作。

還原時間點

若要使用 Azure 入口網站、PowerShell 或 Azure CLI 建立時間點資料庫還原並啟用區域備援,請遵循時間點還原的指示進行操作。

異地複本

若要建立資料庫的異地複本:

  1. 請遵循設定作用中異地複寫與容錯移轉 (Azure SQL Database) 的指示使用 Azure 入口網站、PowerShell 或 Azure CLI,並在 [計算 + 儲存體] 下啟用區域備援

  2. 複本已植入,而植入資料所需時間取決於來源資料庫的大小。 若要監視植入狀態,您可以透過 Azure 入口網站,或在複本資料庫上執行下列 TSQL 查詢:

        SELECT * FROM sys.dm_geo_replication_link_status;
        SELECT * FROM sys.dm_operation_status;
    
  3. 資料庫植入完成後,請執行已規劃的 (無資料遺失) 容錯移轉,讓區域備援目標資料庫成為主要資料庫。 使用 sys.dm_geo_replication_link_status 來檢視異地複寫狀態的情況。 當次要資料庫處於一致的交易狀態時,replication_state_descCATCH_UP。 在 sys.dm_operation_status 動態管理檢視中,當植入作業完成時,檢查 state_desc 是否為 COMPLETED

  4. 更新應用程式連接字串中的伺服器名稱,以反映新的區域備援資料庫。

  5. 若要執行清除作業,請考慮從異地複本關聯性中移除原始的非區域備援資料庫。 您可以選擇將其刪除。

停用區域備援

若要停用單一資料庫或彈性集區的區域備援,您可以使用入口網站或 ARM API。

若要停用超大規模資料庫服務層級的區域備援,您可以反轉重新部署 (超大規模資料庫) 中所述的步驟。

若要使用 Azure 入口網站 停用區域備援:

  1. 移至 Azure 入口網站,以尋找並選取您不想再成為區域備援的彈性集區。

  2. 選取 [設定],然後選取 [設定]

  3. 針對您要讓此彈性集區區域備援?,選取 [否]。

  4. 選取儲存

若要使用PowerShell停用區域備援:

Set-AzSqlElasticpool -ResourceGroupName "RSETLEM-AzureSQLDB" -ServerName "rs-az-testserver1" -ElasticPoolName "testep10" -ZoneRedundant:$false

若要使用 Azure CLI 停用區域備援:

az sql elastic-pool update --resource-group "RSETLEM-AzureSQLDB" --server "rs-az-testserver1" --name "testep10" --zone-redundant false

若要使用ARM停用區域備援, 請參閱 資料庫 - 在ARM 中建立或更新並使用 properties.zoneRedundant 屬性。

下一步