sp_wait_for_database_copy_sync (アクティブ geo レプリケーション)

適用対象: Azure SQL データベース 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_namesysname で、既定値はありません。

[ @target_database = ] 'database_name'

アクティブなセカンダリ データベースの名前。 database_namesysname で、既定値はありません。

リターン コードの値

成功した場合は 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