データベース ミラーリング セッションを手動でフェールオーバーする方法 (Transact-SQL)
適用対象 SQL Server
ミラー化されたデータベースが同期されている場合 (つまり、データベースが SYNCHRONIZED 状態である場合)、データベース所有者はミラー サーバーに対して手動フェールオーバーを開始できます。 手動フェールオーバーは、プリンシパル サーバーのみから開始できます。
データベース ミラーリング セッションを手動でフェールオーバーするには
プリンシパル サーバーに接続します。
次のように、データベース コンテキストを master データベースに設定します。
USE master;
プリンシパル サーバーで次のステートメントを実行します。
ALTER DATABASE database_name SET PARTNER FAILOVER (database_name はミラー化されたデータベースです)。
これにより、プリンシパル ロールへのミラー サーバーの移行がすぐに開始されます。
前のプリンシパルでは、クライアントはデータベースとの接続が切断され、インフライト トランザクションがロールバックされます。
注意
Microsoft 分散トランザクション コーディネーターを使用して準備したトランザクションのうち、フェールオーバーの発生時点でコミットされなかったトランザクションは、データベースのフェールオーバー後に中断したと見なされます。
参照
ALTER DATABASE データベース ミラーリング (Transact-SQL)
データベース ミラーリング セッションの手動フェールオーバー (SQL Server Management Studio)
データベース ミラーリング セッション中の役割の交代 (SQL Server)