共用方式為


將資源移至新區域 - Azure SQL 資料庫

適用於:Azure SQL 資料庫

本文將說明一般工作流程,了解如何將資料庫或彈性集區移至新區域。

注意

  • 若要將資料庫和彈性集區移至不同的 Azure 區域,您也可以使用建議的 Azure Resource Mover
  • 本文適用於 Azure 公用雲端或相同主權雲端內的移轉。

概觀

在各種情況下,您會想將現有的資料庫或集區從一個區域移至另一個區域。 例如,您要在新區域擴充企業,並想針對新的客戶群將區域最佳化。 或基於合規性理由,您需要將作業移至不同的區域。 或 Azure 發行新的區域,提供更好的鄰近性並改善客戶體驗。

將資源移至不同區域的一般工作流程包含下列步驟:

  1. 驗證移動的必要條件。
  2. 準備在範圍中移動資源。
  3. 監視準備程序。
  4. 測試移動程序。
  5. 起始實際的移動。

驗證移動資料庫的必要條件

  1. 建立各來源伺服器的目標伺服器。
  2. 使用 PowerShell 設定防火牆正確的例外狀況。
  3. 使用正確的登入來設定兩部伺服器。 如果您不是訂用帳戶管理員或 SQL Server 管理員,請與系統管理員合作,指派您所需的權限。 如需詳細資訊,請參閱災害復原後如何管理 Azure SQL Database 安全性
  4. 如果您的資料庫使用透明資料加密 (TDE),並在 Azure Key Vault 中攜帶您自己的金鑰 (BYOK 或客戶自控金鑰),請確定目標區域已佈建正確的加密資料。
    • 若要這麼做,最簡單的方式是從現有的金鑰保存庫,新增加密金鑰 (來源伺服器作為 TDE 保護裝置使用) 至目標伺服器,然後將金鑰設為目標伺服器的 TDE 保護裝置,因為一個區域的伺服器現在可以連線至任何其他區域的金鑰保存庫。
    • 最佳做法是確保目標伺服器可以存取 (還原資料庫備份所需的) 舊版加密金鑰,在來源伺服器上執行 Get-AzSqlServerKeyVaultKey Cmdlet,以傳回可用的金鑰清單,然後將這些金鑰新增至目標伺服器。
    • 如需設定目標伺服器上客戶自控 TDE 的詳細資訊和最佳做法,請參閱 Azure Key Vault 中使用客戶自控金鑰的 Azure SQL 透明資料加密
    • 若要將金鑰保存庫移至新區域,請參閱跨區域移動 Azure Key Vault
  5. 如果已啟用資料庫層級稽核,請停用並改為啟用伺服器層級稽核。 容錯移轉後,資料庫層級稽核需要跨區域流量,但移動後不需要或不允許跨區域流量。
  6. 如果是伺服器層級稽核,請確保:
    • 現有稽核記錄的儲存體容器、記錄分析或事件中樞會移至目標區域。
    • 稽核是在目標伺服器上設定。 如需詳細資訊,請參閱開始使用 SQL Database 稽核
  7. 如果您的伺服器有長期保留原則 (LTR),現有的 LTR 備份會保持與目前伺服器的關聯。 因為目標伺服器不同,您可以使用來源伺服器存取來源區域中較舊的 LTR 備份,即使刪除伺服器後亦如此。

注意

不支援在主權區域和公用區域之間移轉具有現有 LTR 備份的資料庫,因為這需要將 LTR 備份移至目標伺服器,而目前這是不可能的。

準備資源

  1. 在來源伺服器與目標伺服器間建立容錯移轉群組
  2. 新增您要移至容錯移轉群組的資料庫。 所有新增資料庫的複寫都會自動起始。 如需詳細資訊,請參閱搭配 SQL Database 使用容錯移轉群組

監視準備程序

您可以定期呼叫 Get-AzSqlDatabaseFailoverGroup,監視從來源到目標伺服器的複寫。 Get-AzSqlDatabaseFailoverGroup 的輸出物件包含 ReplicationState 的屬性:

  • ReplicationState = 2 (追補) 表示資料庫已同步,並可安全地容錯移轉。
  • ReplicationState = 0 (植入) 表示資料庫尚未植入,所以容錯移轉會失敗。

測試同步

ReplicationState2 後,請使用次要端點 <fog-name>.secondary.database.windows.net 連線各資料庫或資料庫子集,並對資料庫執行任何查詢,以確保連線能力、適當的安全性設定和資料複寫。

起始移動

  1. 使用次要端點 <fog-name>.secondary.database.windows.net 連線目標伺服器。
  2. 使用 Switch-AzSqlDatabaseFailoverGroup 將次要伺服器切換為完整同步的主要伺服器。 此作業會成功或復原。
  3. 使用 nslook up <fog-name>.secondary.database.windows.net 確定 DNS CNAME 項目指向目標區域 IP 位址,即可驗證命令已成功完成。 如果切換器命令失敗,CNAME 不會更新。

移除來源資料庫

完成移動後,請移除來源區域中的資源,避免不必要的費用。

  1. 使用 Remove-AzSqlDatabaseFailoverGroup 刪除容錯移轉群組。
  2. 針對來源伺服器上的每個資料庫,使用 Remove-AzSqlDatabase 刪除每個來源資料庫。 這會自動終止異地複寫連結。
  3. 使用 Remove-AzSqlServer 刪除來源伺服器。
  4. 移除金鑰保存庫、稽核儲存體容器、事件中樞、 Microsoft Entra 租用戶和其他相依資源,即可停止計費。

驗證移動集區的必要條件

  1. 建立各來源伺服器的目標伺服器。
  2. 使用 PowerShell 設定防火牆正確的例外狀況。
  3. 設定伺服器正確的登入。 如果您不是訂用帳戶管理員或伺服器管理員,請與系統管理員合作,指派您所需的權限。 如需詳細資訊,請參閱災害復原後如何管理 Azure SQL Database 安全性
  4. 如果您的資料庫使用透明資料加密,並在 Azure Key Vault 中使用您自己的金鑰,請確定目標區域已佈建正確的加密資料。
  5. 建立各來源彈性集區的目標彈性集區,並確定集區建立在相同的服務層級,而且有相同的名稱和大小。
  6. 如果已啟用資料庫層級稽核,請停用並改為啟用伺服器層級稽核。 容錯移轉後,資料庫層級稽核需要跨區域流量,但移動後不需要或不允許跨區域流量。
  7. 如果是伺服器層級稽核,請確保:
    • 現有稽核記錄的儲存體容器、記錄分析或事件中樞會移至目標區域。
    • 稽核設定是在目標伺服器上設定。 如需詳細資訊,請參閱 SQL Database 稽核
  8. 如果您的伺服器有長期保留原則 (LTR),現有的 LTR 備份會保持與目前伺服器的關聯。 因為目標伺服器不同,您可以使用來源伺服器存取來源區域中較舊的 LTR 備份,即使刪除伺服器後亦如此。

注意

不支援在主權區域和公用區域之間移轉具有現有 LTR 備份的資料庫,因為這需要將 LTR 備份移至目標伺服器,而目前這是不可能的。

準備移動

  1. 在來源伺服器上各彈性集區,及目標伺服器上對應的彈性集區間,建立個別的容錯移轉群組

  2. 將集區中所有的資料庫新增至容錯移轉群組。 所新增資料庫的複寫會自動起始。 如需詳細資訊,請參閱搭配 SQL Database 使用容錯移轉群組

    注意

    雖然您可以建立包含多個彈性集區的容錯移轉群組,但我們強烈建議您為各集區建立個別的容錯移轉群組。 如果有大量跨多個彈性集區的資料庫要移動,您可以平行執行準備步驟,然後平行起始移動步驟。 相較於在相同的容錯移轉群組中包含多個彈性集區,此程序更適合調整大小並花費較少時間。

監視準備程序

您可以定期呼叫 Get-AzSqlDatabaseFailoverGroup,監視從來源到目標資料庫的複寫。 Get-AzSqlDatabaseFailoverGroup 的輸出物件包含 ReplicationState 的屬性:

  • ReplicationState = 2 (追補) 表示資料庫已同步,並可安全地容錯移轉。
  • ReplicationState = 0 (植入) 表示資料庫尚未植入,所以容錯移轉會失敗。

測試同步

ReplicationState2 後,請使用次要端點 <fog-name>.secondary.database.windows.net 連線各資料庫或資料庫子集,並對資料庫執行任何查詢,以確保連線能力、適當的安全性設定和資料複寫。

起始移動

  1. 使用次要端點 <fog-name>.secondary.database.windows.net 連線目標伺服器。
  2. 使用 Switch-AzSqlDatabaseFailoverGroup 將次要伺服器切換為完整同步的主要伺服器。 此作業會成功或復原。
  3. 使用 nslook up <fog-name>.secondary.database.windows.net 確定 DNS CNAME 項目指向目標區域 IP 位址,即可驗證命令已成功完成。 如果切換器命令失敗,CNAME 不會更新。

移除來源彈性集區

完成移動後,請移除來源區域中的資源,避免不必要的費用。

  1. 使用 Remove-AzSqlDatabaseFailoverGroup 刪除容錯移轉群組。
  2. 使用 Remove-AzSqlElasticPool 刪除來源伺服器上的每個來源彈性集區。
  3. 使用 Remove-AzSqlServer 刪除來源伺服器。
  4. 移除金鑰保存庫、稽核儲存體容器、事件中樞、 Microsoft Entra 租用戶和其他相依資源,即可停止計費。

下一步

管理移轉後的資料庫。