共用方式為


使用分散式 AG 完成移轉

使用分散式可用性群組 (AG) 將資料庫從 SQL Server 移轉至 Azure 上的 SQL Server 虛擬機器 (VM)。

本文假設您已針對獨立資料庫或可用性群組資料庫設定分散式 AG,現在您已準備好完成移轉至 Azure VM 上的 SQL Server。

監視移轉

使用 Transact-SQL (T-SQL) 來監視移轉的進度。

在全域主要和轉寄站上執行下列指令碼,並驗證主要可用性群組 (OnPremAG) 和次要可用性群組 (AzureAG) 的狀態 synchronization_state_descSYNCHRONIZED。 確認分散式 AG (DAG) 的 synchronization_state_desc 正在同步處理,且 last_hardened_lsn 在全域主要和轉寄站上的每個資料庫都相同。

如果沒有,則請每隔 5 秒左右重新執行兩端的查詢,直到同步為止。

使用下列指令碼來監視移轉:

SELECT ag.name,
    drs.database_id,
    db_name(drs.database_id) AS database_name,
    drs.group_id,
    drs.replica_id,
    drs.synchronization_state_desc,
    drs.last_hardened_lsn
FROM sys.dm_hadr_database_replica_states drs
INNER JOIN sys.availability_groups ag
    ON drs.group_id = ag.group_id;

完成移轉

驗證可用性群組和分散式 AG 的狀態之後,您就可以完成移轉。 這包括將分散式 AG 容錯移轉至轉寄站 (Azure 中的目標 SQL Server),然後將應用程完全移轉至 Azure 端的新主要複本。

若要容錯移轉分散式可用性群組,請檢閱容錯移轉至次要可用性群組

容錯移轉之後,更新應用程式的連接字串,以連線到 Azure 中的新主要複本。 此時,您可以選擇維護分散式可用性群組,或使用 DROP AVAILABILITY GROUP [DAG] 來源和目標 SQL Server 執行個體來卸除。

如果您的網域控制站位於來源端,請在放棄來源 SQL Server 執行個體之前,先驗證 Azure 中的目標 SQL Server VM 是否已加入網域。 請先在 Azure 中的來源端建立網域,並將 SQL Server VM 新增至這個新網域,然後再刪除來源端的網域控制站。