トランザクション レプリケーションの待機時間の計測と接続の検証
トランザクション レプリケーションには、トレーサ トークン機能が用意されており、これによって簡単にトランザクション レプリケーション トポロジにおける待機時間を計測したり、パブリッシャ、ディストリビュータ、およびサブスクライバの間の接続を検証したりすることができます。トークン (小量のデータ) は、パブリケーション データベースのトランザクション ログに書き込まれ、通常のレプリケートされたトランザクションのようにマークされ、システム全体に送信されます。トークンを使用して以下の値を計算できます。
パブリッシャでトランザクションがコミットされてから、対応するコマンドがディストリビュータでディストリビューション データベースに挿入されるまでの経過時間
ディストリビューション データベースにコマンドが挿入されてから、対応するトランザクションがサブスクライバでコミットされるまでの経過時間
これらの計算結果から、以下のようなさまざまな内容を特定できます。
パブリッシャから変更を受信するまでの時間が一番長いサブスクライバはどれか。
トレーサ トークンを受信予定のサブスクライバの中で、まだ受信していないものはどれか。
トランザクション レプリケーションの待機時間を計測して接続を検証するには
Microsoft SQL Server Management Studio: トランザクション レプリケーションの待機時間を計測して接続を検証する方法 (レプリケーション モニタ)
レプリケーション Transact-SQL プログラミング : トランザクション レプリケーションの待機時間を計測して接続を検証する方法 (レプリケーション Transact-SQL プログラミング)
レプリケーション管理オブジェクト (RMO) プログラミング : トランザクション レプリケーションの待機時間を計測して接続を検証する方法 (RMO プログラミング)
トレーサ トークンは、システムを停止する場合にも役立ちます。このとき、すべての処理を停止して、すべてのノードがすべての未処理の変更を受信したかどうかを検証します。詳細については、「レプリケーション トポロジを停止する方法 (レプリケーション Transact-SQL プログラミング)」を参照してください。
トレーサ トークンに関する注意点
トレーサ トークンを使用するには、特定のバージョンの Microsoft SQL Server を使用する必要があります。
ディストリビュータは Microsoft SQL Server 2005 以降である必要があります。
パブリッシャは SQL Server 2005 以降であるか、Oracle パブリッシャである必要があります。
プッシュ サブスクリプションでは、サブスクライバが Microsoft SQL Server 7.0 以降である場合に、トレーサ トークン統計がパブリッシャ、ディストリビュータ、およびサブスクライバから収集されます。
プル サブスクリプションでは、サブスクライバが SQL Server 2005 以降である場合にのみ、トレーサ トークン統計がサブスクライバから収集されます。サブスクライバが SQL Server 7.0 または Microsoft SQL Server 2000 である場合は、統計はパブリッシャおよびディストリビュータからのみ収集されます。
その他にも、次のような問題点と制限事項について注意する必要があります。
トレーサ トークンを受信するには、サブスクリプションをアクティブにする必要があります。サブスクリプションは、初期化されている場合はアクティブです。
再初期化を行うと、関連するサブスクリプションに対する保留中のトレーサ トークンがすべて削除されます。
サブスクライバは、初期同期の完了後に作成されたトレーサ トークンのみを受信します。
レーサ トークンは、再パブリッシュ サブスクライバからは転送されません。