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_nameは sysname で、既定値はありません。

[ @target_database = ] 'database_name'

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

リターン コードの値

成功した場合は 0 を、失敗した場合はエラー番号を返します。

最も可能性の高いエラー状態は次のとおりです。

  • サーバー名またはデータベース名がない。

  • 指定したサーバー名またはデータベースへのリンクが見つかりません。

  • リンク間接続が失われ、 sys.sp_wait_for_database_copy_sync 接続タイムアウト後に戻ります。

アクセス許可

プライマリ データベース内のすべてのユーザーが、このシステム ストアド プロシージャを呼び出すことができます。 ログインは、プライマリ データベースとアクティブ セカンダリ データベースの両方のユーザーである必要があります。

解説

呼び出しの前に sp_wait_for_database_copy_sync コミットされたすべてのトランザクションは、アクティブなセカンダリ データベースに送信されます。

次の例では、すべてのトランザクションがプライマリ データベースにコミットされ、AdventureWorksターゲット サーバー上のアクティブなセカンダリ データベースに送信されるように呼び出sp_wait_for_database_copy_syncしますserverSecondary

USE AdventureWorks;
GO
EXEC sys.sp_wait_for_database_copy_sync @target_server = N'serverSecondary', @target_database = N'AdventureWorks';
GO