再生を実行するための必要条件
トレースを再生するには、監視するイベント クラスのほかに、以下に示すイベント クラスがトレースにキャプチャされていなければなりません (後で再生に使用されるトレースの設定に TSQL_Replay トレース テンプレートが使用されている場合、これらのイベントは既定で有効になっていることに注意してください)。
CursorClose (サーバー側のカーソルを再生する場合のみ必要)
CursorExecute (サーバー側のカーソルを再生する場合のみ必要)
CursorOpen (サーバー側のカーソルを再生する場合のみ必要)
CursorPrepare (サーバー側のカーソルを再生する場合のみ必要)
CursorUnprepare (サーバー側のカーソルを再生する場合のみ必要)
Audit Login
Audit Logout
ExistingConnection
RPC Output Parameter
RPC:Completed
RPC:Starting
Exec Prepared SQL (サーバー側の準備された SQL ステートメントを再生する場合のみ必要)
Prepare SQL (サーバー側の準備された SQL ステートメントを再生する場合のみ必要)
SQL:BatchCompleted
SQL:BatchStarting
トレースを再生するには、キャプチャ対象となるデータ列のほかに、以下のデータ列をトレースにキャプチャする必要があります。
Event Class
EventSequence
TextData
Application Name
LoginName
DatabaseName
Database ID
ClientProcessID
HostName
ServerName
Binary Data
SPID
Start Time
EndTime
IsSystem
NTDomainName
NTUserName
Error
注 |
---|
再生するデータをトレースにキャプチャする場合は、トレース テンプレート TSQL_Replay を使用します。 |
Microsoft SQL Server では、必要なイベントおよび列が存在するかどうかを再生時に調べます。この変更によって再生の精度が上がり、必要なデータがない場合でも、再生のトラブルシューティング時に根拠のない作業をしなくて済みます。必要なデータがトレースにない場合は、再生によってエラーが返され、ファイルの再生が停止します。
最初にトレースしたサーバー (ソース) 以外の SQL Server を実行しているサーバーに対してトレースを再生するには、次の条件を満たす必要があります。
トレースに含まれるすべてのログインとユーザーが、ターゲット コンピュータ上の、ソースと同じデータベース内にあらかじめ作成されていること。
ターゲット コンピュータのすべてのログインとユーザーに、ソース コンピュータ上と同じ権限が与えられていること。
すべてのログイン パスワードが、再生を実行するユーザーと同じであること。
ターゲット コンピュータ上のデータベース ID が、ソース コンピュータ上のデータベース ID と同じであること。ただし、これらが同じでない場合、トレース内に DatabaseName が存在すれば、それに基づいて一致させることができます。
トレースに記録されている各ログインの既定データベースが、ターゲット コンピュータ上で、ログインの対象データベースにそれぞれ設定されていること。たとえば、再生するトレースに、ソース コンピュータ上の Fred_Db データベースに対する Fred というログインについての利用状況が含まれているとします。この場合、ターゲット コンピュータ上では、ログイン Fred の既定データベースが、Fred_Db に一致するデータベースに設定されていなければなりません (データベース名が異なる場合も同様)。ログインの既定データベースを設定するには、sp_defaultdb システム ストアド プロシージャを使用します。
失われたログインや不正なログインに関連付けられたイベントを再生すると、再生エラーとなります。ただし、再生の処理は継続されます。
トレースの再生に必要な権限の詳細については、「SQL Server Profiler の実行に必要な権限」を参照してください。