次の方法で共有


分散型 AG を使用した移行の完了

分散型可用性グループ (AG) を使用して、データベースを SQL Server から Azure Virtual Machines (VM) 上の SQL Server に移行します。

この記事では、 スタンドアロン データベース または 可用性グループ データベースに対して分散 AG を既に構成しており、Azure VM 上の SQL Server への移行を完了する準備ができたことを前提としています。

移行の監視

Transact-SQL (T-SQL) を使用して、移行の進行状況を監視します。

グローバル プライマリとフォワーダーで次のスクリプトを実行し、プライマリ可用性グループ (synchronization_state_desc) とセカンダリ可用性グループ (OnPremAG) のAzureAGの状態がSYNCHRONIZEDされていることを確認します。 分散 AG (synchronization_state_desc) のDAGが同期中であり、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 AS drs
     INNER JOIN sys.availability_groups AS ag
         ON drs.group_id = ag.group_id;

移行の完了

可用性グループと分散 AG の状態を検証したら、移行を完了する準備が整います。 これには、分散型 AG のフォワーダー (Azure のターゲット SQL Server) へのフェールオーバーと、その後の Azure 側の新しいプライマリへのアプリケーションのカットオーバーがあります。

分散型可用性グループをフェールオーバーするには、 セカンダリ可用性グループへのフェールオーバーを確認します

フェールオーバーの後、アプリケーションの接続文字列を更新して、Azure の新しいプライマリ レプリカに接続します。 この時点で、分散型可用性グループを維持するか、ソース インスタンスとターゲットの両方の SQL Server インスタンスで DROP AVAILABILITY GROUP [DAG] を使用して削除するか選択できます。

ドメイン コントローラーがソース側にある場合は、ソース SQL Server インスタンスを破棄する前に、Azure 内のターゲット SQL Server VM がドメインに参加していることを検証します。 Azure でソース側にドメインを作成し、この新しいドメインに SQL Server VM を追加するまで、ソース側のドメイン コントローラーを削除しないでください。