再生を実行するための必要条件Replay Requirements

適用対象: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

SQL Server プロファイラーSQL Server Profiler または Distributed Replay Utility を使用してトレース データを再生するには、特定のイベント クラスと列のセットがトレースにキャプチャされている必要があります。In order to replay trace data with SQL Server プロファイラーSQL Server Profiler or the Distributed Replay Utility, a specific set of event classes and columns must be captured in the trace. TSQL_Replay トレース テンプレートを使用して、後で再生に使用するトレースを構成した場合、これらの設定は既定で有効になります。These settings are enabled by default if the TSQL_Replay trace template is used to configure a trace that is later used for replay. このトピックでは、これらの設定と、再生を実行するためのその他の必要条件について説明します。This topic describes these settings and other replay requirements.

注意

(アクティブなコンカレント接続が多数ある、またはスループットが高い) 集中型の OLTP アプリケーションを再生する場合は、Distributed Replay Utility を使用することをお勧めします。We recommend using the Distributed Replay Utility for replaying an intensive OLTP application (with many active concurrent connections or high throughput). Distributed Replay Utility では、複数のコンピューターからのトレース データを再生し、ミッションクリティカルなワークロードをより正確にシミュレートできます。The Distributed Replay Utility can replay trace data from multiple computers, better simulating a mission-critical workload. 詳細については、「 SQL Server Distributed Replay」を参照してください。For more information, see SQL Server Distributed Replay.

再生に必要なイベント クラスEvent Classes Required for Replay

SQL Server プロファイラーSQL Server Profilerで再生するには、監視するイベント クラスのほかに、以下の一連のイベント クラスをトレースにキャプチャする必要があります。To be replayed by SQL Server プロファイラーSQL Server Profiler, the following set of event classes, in addition to any other event classes you want to monitor, must be captured in the trace:

  • CursorClose(サーバー側のカーソルを再生する場合のみ必要)CursorClose ( only required when replaying server-side cursors)

  • CursorExecute (サーバー側のカーソルを再生する場合のみ必要)CursorExecute (only required when replaying server-side cursors)

  • CursorOpen (サーバー側のカーソルを再生する場合のみ必要)CursorOpen (only required when replaying server-side cursors)

  • CursorPrepare (サーバー側のカーソルを再生する場合のみ必要)CursorPrepare (only required when replaying server-side cursors)

  • CursorUnprepare (サーバー側のカーソルを再生する場合のみ必要)CursorUnprepare (only required when replaying server-side cursors)

  • Audit LoginAudit Login

  • Audit LogoutAudit Logout

  • ExistingConnectionExistingConnection

  • RPC Output ParameterRPC Output Parameter

  • RPC:CompletedRPC:Completed

  • RPC:StartingRPC:Starting

  • Exec Prepared SQL (サーバー側の準備された SQL ステートメントを再生する場合のみ必要)Exec Prepared SQL (only required when replaying server-side prepared SQL statements)

  • Prepare SQL (サーバー側の準備された SQL ステートメントを再生する場合のみ必要)Prepare SQL (only required when replaying server-side prepared SQL statements)

  • SQL:BatchCompletedSQL:BatchCompleted

  • SQL:BatchStartingSQL:BatchStarting

再生に必要なデータ列Data Columns Required for Replay

トレースを再生するには、キャプチャ対象となるデータ列のほかに、以下のデータ列をトレースにキャプチャする必要があります。In addition to any other data columns you want to capture, the following data columns must be captured in a trace to allow the trace to be replayed:

  • Event ClassEvent Class

  • EventSequenceEventSequence

  • TextDataTextData

  • アプリケーション名Application Name

  • LoginNameLoginName

  • DatabaseNameDatabaseName

  • [データベース ID]Database ID

  • ClientProcessIDClientProcessID

  • HostNameHostName

  • ServerNameServerName

  • Binary DataBinary Data

  • SPIDSPID

  • Start TimeStart Time

  • EndTimeEndTime

  • IsSystemIsSystem

  • NTDomainNameNTDomainName

  • NTUserNameNTUserName

  • ErrorError

注意

再生するデータをトレースにキャプチャする場合は、トレース テンプレート TSQL_Replay を使用します。Use the trace template TSQL_Replay for traces that capture data for replay.

再生を実行するためのその他の必要条件Other Replay Requirements

Microsoft SQL ServerSQL Serverでは、必要なイベントおよび列が存在するかどうかを再生時に調べます。In Microsoft SQL ServerSQL Server, replay checks for the presence of required events and columns. この変更によって再生の精度が上がり、必要なデータがない場合でも、再生のトラブルシューティング時に根拠のない作業をしなくて済みます。This change helps improve the accuracy of replay and takes the guesswork out of troubleshooting replay when required data is missing. 必要なデータがトレースにない場合は、再生によってエラーが返され、ファイルの再生が停止します。Replay returns an error and stops replaying a file when required data is missing from a trace.

最初にトレースしたサーバー (ソース) 以外の SQL ServerSQL Server を実行しているサーバーに対してトレースを再生するには、次の条件を満たす必要があります。To replay a trace against a server (the target) on which SQL ServerSQL Server is running other than the server originally traced (the source), make sure the following has been done:

  • トレースに含まれるすべてのログインとユーザーが、ターゲット コンピューター上の、ソースと同じデータベース内にあらかじめ作成されていること。All logins and users contained in the trace must be created already on the target and in the same database as the source.

  • ターゲット コンピューターのすべてのログインとユーザーに、ソース コンピューター上と同じ権限が与えられていること。All logins and users in the target must have the same permissions they had in the source.

  • すべてのログイン パスワードが、再生を実行するユーザーと同じであること。All login passwords must be the same as those of the user that executes the replay.

  • ターゲット コンピューター上のデータベース ID が、ソース コンピューター上のデータベース ID と同じであること。The database IDs on the target ideally should be the same as those on the source. ただし、これらが同じでない場合、トレース内に DatabaseName が存在すれば、それに基づいて一致させることができます。However, if they are not the same, matching can be performed based on DatabaseName if it is present in the trace.

  • トレースに記録されている各ログインの既定データベースが、ターゲット コンピューター上で、ログインの対象データベースにそれぞれ設定されていること。The default database for each login contained in the trace must be set (on the target) to the respective target database of the login. たとえば、再生するトレースに、ソース コンピューター上の Fred_Dbデータベースに対する Fred というログインについての利用状況が含まれているとします。For example, the trace to be replayed contains activity for the login, Fred, in the database Fred_Db on the source. この場合、ターゲット コンピューター上では、ログイン Fredの既定データベースが、 Fred_Db に一致するデータベースに設定されていなければなりません (データベース名が異なる場合も同様)。Therefore, on the target, the default database for the login, Fred, must be set to the database that matches Fred_Db (even if the database name is different). ログインの既定データベースを設定するには、 sp_defaultdb システム ストアド プロシージャを使用します。To set the default database of the login, use the sp_defaultdb system stored procedure.

失われたログインや不正なログインに関連付けられたイベントを再生すると、再生エラーとなります。ただし、再生の処理は継続されます。Replaying events associated with missing or incorrect logins results in replay errors, but the replay operation continues.

トレースの再生に必要な権限の詳細については、「 SQL Server Profiler の実行に必要な権限」を参照してください。For information about what permissions are required to replay a trace, see Permissions Required to Run SQL Server Profiler.

参照See Also

トレース テーブルを再生する (SQL Server Profiler) Replay a Trace Table (SQL Server Profiler)
トレース ファイルを再生する (SQL Server Profiler) Replay a Trace File (SQL Server Profiler)
SQL Server イベント クラスの参照 SQL Server Event Class Reference
sp_defaultdb (Transact-SQL) sp_defaultdb (Transact-SQL)
SQL Server Distributed ReplaySQL Server Distributed Replay