sp_wait_for_database_copy_sync (アクティブ geo レプリケーション)
適用対象: Azure SQL Database
Azure SQL Managed Instance
この手順のスコープは、プライマリとセカンダリの間のアクティブ geo レプリケーションリレーションシップです。 sys.sp_wait_for_database_copy_sync
を呼び出すと、アクティブなセカンダリ データベースによってコミットされたすべてのトランザクションがレプリケートされ、確認されるまでアプリケーションは待機します。 プライマリ データベースでのみ sys.sp_wait_for_database_copy_sync
を実行します。
構文
sp_wait_for_database_copy_sync [ @target_server = ] 'server_name'
, [ @target_database = ] 'database_name'
引数
[ @target_server = ] 'server_name'
アクティブなセカンダリ データベースをホストする Azure SQL Database サーバーの名前。 server_name は sysname で、既定値はありません。
[ @target_database = ] 'database_name'
アクティブなセカンダリ データベースの名前。 database_name は sysname で、既定値はありません。
リターン コードの値
成功した場合は 0 を、失敗した場合はエラー番号を返します。
最も可能性の高いエラー状態は次のとおりです。
サーバー名またはデータベース名がない。
指定したサーバー名またはデータベースへのリンクが見つかりません。
リンク間接続が失われ、接続タイムアウト後に
sys.sp_wait_for_database_copy_sync
が返されます。
アクセス許可
プライマリ データベース内のすべてのユーザーが、このシステム ストアド プロシージャを呼び出すことができます。 ログインは、プライマリ データベースとアクティブ セカンダリ データベースの両方のユーザーである必要があります。
解説
sp_wait_for_database_copy_sync
呼び出しの前にコミットされたすべてのトランザクションは、アクティブなセカンダリ データベースに送信されます。
例
次の例では、 sp_wait_for_database_copy_sync
を呼び出して、すべてのトランザクションがプライマリ データベースにコミットされていることを確認します。 AdventureWorks
、ターゲット サーバー serverSecondary
上のアクティブなセカンダリ データベースに送信されます。
USE AdventureWorks;
GO
EXEC sys.sp_wait_for_database_copy_sync @target_server = N'serverSecondary', @target_database = N'AdventureWorks';
GO