トレースとトレース テンプレートの保存

適用対象:SQL ServerAzure SQL Managed Instance

トレース ファイルの保存とトレース テンプレートの保存は、区別して考えることが重要です。 トレース ファイルを保存すると、キャプチャされたイベント データが特定の場所に保存されます。 トレース テンプレートを保存すると、特定のデータ列、イベント クラス、フィルターなどのトレースの定義が保存されます。

トレースの保存

キャプチャしたイベント データの分析や再生を後で行う必要がある場合、データをファイルまたは SQL Server テーブルに保存します。 トレース ファイルは、次の用途に使用します。

  • トレース ファイルまたはトレース テーブルから、データベース エンジン チューニング アドバイザーへの入力として使用するワークロードを生成します。

  • トレース ファイルを使用してイベントをキャプチャし、そのトレース ファイルを分析のためにサポート プロバイダーに送信します。

  • SQL Server のクエリ処理ツールを使用して、データにアクセスしたり、 SQL Server プロファイラーでデータを表示したりします。 ただし、トレース テーブルに直接アクセスできるのは、 sysadmin 固定サーバー ロールのメンバーとテーブルの作成者だけです。

注意

トレース データをテーブルにキャプチャすると、ファイルにキャプチャする場合と比べて操作に時間がかかります。 テーブルにキャプチャする代わりに、トレース データをファイルにキャプチャしておき、このトレース ファイルを開き、トレースをトレース テーブルとして保存する方法があります。

トレース ファイルを使用する場合、キャプチャしたイベント データ (トレース定義ではない) は SQL Server プロファイラー により SQL Server プロファイラー トレース (*.trc) ファイルに保存されます。 この拡張子は、トレース ファイルを保存するときに、他の拡張子が指定されているかどうかに関係なくファイル名の終わりに自動的に付加されます。 たとえば、 Trace.datという名前のトレース ファイルを指定すると、作成されるファイルの名前は Trace.dat.trcになります。

重要

SHOWPLAN 権限、ALTER TRACE 権限、または VIEW SERVER STATE 権限を持つユーザーは、プラン表示出力にキャプチャされたクエリを表示できます。 これらのクエリには、パスワードなどの機密情報が含まれている場合があります。 したがって、これらの権限は、機密情報を表示することが認められているユーザー (たとえば db_owner 固定データベース ロールのメンバーや sysadmin 固定サーバー ロールのメンバー) のみに付与することをお勧めします。 また、プラン表示ファイルまたはプラン表示関連のイベントを含むトレース ファイルのみを保存すること、保存先は NTFS ファイル システムが使用されている場所とすること、および機密情報を表示する権限を持つユーザーのみにアクセスを制限することをお勧めします。

テンプレートの保存

トレースのテンプレート定義には、トレースの作成に使用するイベント クラス、データ列、フィルター、およびその他のすべてのプロパティ (キャプチャしたイベント データは除く) が含まれています。 SQL Server プロファイラー にはシステム テンプレートがあらかじめ定義されていて、これを使用することでトレースの一般的な作業、およびデータベース エンジン チューニング アドバイザーで物理的なデータベース デザインをチューニングするためのワークロードを作成するなどの特定の作業を行うことができます。 ユーザー定義テンプレートを作成して保存することもできます。

テンプレートのインポートとエクスポート

SQL Server プロファイラー を使用して、サーバー間でテンプレートのインポートとエクスポートを行うことができます。 テンプレートをエクスポートすると、既存のテンプレートのコピーが指定したディレクトリに移動されます。 テンプレートをインポートすると、指定したテンプレートのコピーが作成されます。 インポートまたはエクスポートしたテンプレートは、SQL Server プロファイラー で表示したときにテンプレート名の後に "(ユーザー)" という語が付いて、システム テンプレートと区別されます。 あらかじめ定義されているシステム テンプレートを上書きしたり、直接変更したりすることはできません。

テンプレートを使用したパフォーマンスの分析

SQL Serverを頻繁に監視する場合は、テンプレートを使用してパフォーマンスを分析してください。 テンプレートを使用すれば、同一のイベント データを毎回キャプチャし、同一のトレース定義で同一のイベントを監視できます。 トレースを作成するたびにイベント クラスやデータ列を定義する必要はありません。 さらに、特定の SQL Server イベントを監視するために、テンプレートを他のユーザーに提供できます。 たとえば、サポート プロバイダーから顧客にテンプレートを提供できます。 顧客はこのテンプレートを使用して必要なイベント データをキャプチャし、キャプチャしたデータを分析のためサポート プロバイダーに送信します。

トレースをファイルに保存するには

トレース結果のファイルへの保存 (SQL Server Profiler)

sp_trace_create (Transact-SQL)

参照

トレース結果のテーブルへの保存 (SQL Server Profiler)
トレース テンプレートの作成 (SQL Server Profiler)
実行中のトレースからのテンプレートの作成 (SQL Server Profiler)
トレース ファイルまたはトレース テーブルからのテンプレートの作成 (SQL Server Profiler)
トレース テンプレートのエクスポート (SQL Server Profiler)
トレース テンプレートのインポート (SQL Server Profiler)