サーバーのポーリング

マルチサーバー管理を実装している場合、対象サーバーからマスタ サーバーに定期的にアクセスし、既に実行したジョブの情報をアップロードして新しいジョブをダウンロードします。マスタ サーバーにアクセスする処理はサーバー ポーリングと呼ばれ、定期的なポーリング間隔で行われます。

ポーリング間隔

対象サーバーからマスタ サーバーに接続し、命令をダウンロードしてジョブの実行結果をアップロードする頻度をポーリング間隔 (既定値は 1 分) で制御します。

対象サーバーからマスタ サーバーにポーリングするとき、対象サーバーに割り当てられる操作を msdb データベースの sysdownloadlist テーブルから読み取ります。読み取った操作により、マルチサーバー ジョブや対象サーバーのさまざまな動作を制御します。操作の例には、ジョブの削除、ジョブの挿入、ジョブの開始、対象サーバーのポーリング間隔の更新などがあります。

操作は次のいずれかの方法で sysdownloadlist テーブルに書き込まれます。

  • sp_post_msx_operation ストアド プロシージャを使用して明示的に行います。

  • 他のジョブ ストアド プロシージャを使用して暗黙的に行います。

ジョブ ストアド プロシージャを使用してマルチサーバー ジョブ スケジュールやジョブ ステップを変更する場合、または SQL-DMO (SQL 分散管理オブジェクト) を使用してマルチサーバー ジョブを制御する場合、マルチサーバー ジョブのステップやスケジュールを変更してから次のコマンドを実行します。

EXECUTE msdb.dbo.sp_post_msx_operation 'INSERT', 'JOB', '<job id>'

EXECUTE msdb.dbo.sp_post_msx_operation 'INSERT', 'JOB', '<job id>'

このコマンドを実行すると、現在のジョブ定義が対象サーバーと同期されます。

次の場合、操作を明示的に書き込む必要はありません。

  • Microsoft SQL Server Management Studio を使用してマルチサーバー ジョブを制御する場合。

  • ジョブ スケジュールまたはジョブ ステップを変更しないジョブ ストアド プロシージャの場合。

対象サーバーからマスタ サーバーにポーリングさせるには

関連項目

概念