SQL Server Profiler

SQL Server Profiler は、トレースを作成および管理し、トレースの結果を分析および再生するために使用する機能の豊富なインターフェイスです。 キャプチャされたイベントはトレース ファイルに保存され、後で分析したり、問題の発生したステップを厳密に再現して診断する際に利用できます。

重要な注意事項重要

データベース エンジンのトレース キャプチャおよびトレース再生用の SQL Server Profiler は廃止されます。 これらの機能は SQL Server の次のバージョンではサポートされますが、その後のバージョンでは削除されます。 SQL Server のどのバージョンであるかは決定していません。 Microsoft SQL Server の Trace オブジェクトや Replay オブジェクトを含む Microsoft.SqlServer.Management.Trace 名前空間も廃止される予定です。 Analysis Services のワークロード用の SQL Server Profiler は廃止されず、引き続きサポートされます。

以下の表に、SQL Server 2012 でトレース データのキャプチャおよび再生を行うために使用が推奨される機能を示します。

機能\対象のワークロード

リレーショナル エンジン

Analysis Services

トレースのキャプチャ

SQL Server Management Studio の拡張イベントのグラフィカル ユーザー インターフェイス

SQL Server Profiler

トレースの再生

Distributed Replay

SQL Server Profiler

SQL Server Profiler の利点

Microsoft SQL Server Profiler は、データベース エンジンまたは Analysis Services のインスタンスを監視するための SQL トレースのグラフィカル ユーザー インターフェイスです。 各イベントに関するデータをキャプチャし、ファイルやテーブルに保存して、後で分析できます。 たとえば、稼動環境を監視して、どのストアド プロシージャの実行が遅く、パフォーマンスに影響を与えているかを確認できます。SQL Server Profiler を使用して、以下のような操作を行うことができます。

  • 問題の原因を特定するため、問題の発生したクエリを順次実行する。

  • 実行速度の遅いクエリを検出し、その原因を診断する。

  • 問題の原因となる一連の Transact-SQL ステートメントをキャプチャする。 トレース ファイルに保存された内容をテスト サーバー上にレプリケートし、問題の診断に利用できます。

  • ワークロードを調整するため、SQL Server のパフォーマンスを監視する。 データベース ワークロードに関してデータベースの物理設計を調整する方法については、「データベース エンジン チューニング アドバイザー」を参照してください。

  • 問題を診断するために、さまざまなパフォーマンス カウンターの関連を調べる。

SQL Server Profiler では、SQL Server インスタンスで実行された操作の監査もサポートしています。 監査では、後でセキュリティ管理者が調査できるように、セキュリティ関連の操作を記録します。

SQL Server Profiler の概念

SQL Server Profilerを使用するには、ツールがどのように機能するのかを説明する用語を理解しておく必要があります。

注意

SQL Server Profiler を使用するときは、SQL トレースを理解しておくと役に立ちます。 詳細については、「SQL トレース」を参照してください。

  • イベント
    イベントとは、SQL Server データベース エンジンのインスタンス内で発生するアクションです。 次に例を示します。

    • ログインの接続、失敗、および接続解除。

    • Transact-SQL SELECT、INSERT、UPDATE、および DELETE ステートメント。

    • リモート プロシージャ コール (RPC) のバッチ ステータス。

    • ストアド プロシージャの開始または終了。

    • ストアド プロシージャ内のステートメントの開始または終了。

    • SQL バッチの開始または終了。

    • SQL Server のエラー ログに書き込まれたエラー。

    • データベース オブジェクトで取得または解放されたロック。

    • 開かれたカーソル。

    • セキュリティ権限の確認。

    イベントによって生成されたデータは、すべてトレースに 1 行で表示されます。 この行の各データ列には、イベントの詳しい説明が表示されます。

  • イベントクラス
    イベント クラスは、トレースできるイベントの種類を定義します。 イベント クラスには、イベントによって報告できるすべてのデータが含まれています。 イベント クラスの例を次に示します。

    • SQL:BatchCompleted

    • Audit Login

    • Audit Logout

    • Lock:Acquired

    • Lock:Released

  • イベントカテゴリ
    イベント カテゴリは、SQL Server Profiler 内でイベントを分類する方法を定義します。 たとえば、ロック イベント クラスはすべて、ロック イベント カテゴリに分類されます。 ただし、イベント カテゴリは SQL Server Profiler でしか存在しません。 この用語に、エンジン イベントを分類する方法は反映されていません。

  • データ列
    各データ列は、トレースでキャプチャされるイベント クラスの属性です。 収集できるデータの種類はイベント クラスによって異なるため、必ずしもすべてのデータ列がすべてのイベント クラスに使用されるわけではありません。 たとえば、Lock:Acquired イベント クラスをキャプチャするトレースでは、ロックされたページ ID またはロックされた行の値が BinaryData データ列に格納されますが、Integer Data データ列にはまったく値が格納されません。これは、キャプチャ対象のイベント クラスにこのデータ列が適合しないためです。

  • テンプレート
    テンプレートは、トレースの既定の構成を定義します。 特に、テンプレートには、SQL Server Profiler を使用して監視するイベント クラスを指定します。 たとえば、使用するイベント、データ列、およびフィルターを指定するテンプレートを作成できます。 テンプレートは、実行するのではなく、.tdf という拡張子を付けてファイルとして保存しておきます。 保存したテンプレートは、そのテンプレートに基づいて作成したトレースの実行時にどのようなトレース データをキャプチャするかを制御します。

  • トレース
    トレースでは、選択したイベント、データ列、およびフィルターに基づいたデータをキャプチャします。 たとえば、例外エラーを監視するトレースを作成できます。 これには、Exception イベント クラスを選択し、そのデータ列である ErrorState、および Severity を選択します。 トレース結果で意味のあるデータを示すには、これら 3 列のデータを収集する必要があります。 このようにして構成されたトレースを実行し、サーバーで発生するすべての Exception イベントに関するデータを収集することができます。 トレース データは、保存することも、すぐに分析に使用することもできます。 トレースは、後日再生できます。ただし、Exception イベントなど、再生不可能なイベントもあります。 また、トレースをテンプレートとして保存しておき、これに似たトレースを後日作成することもできます。

    SQL Server では、SQL Server のインスタンスをトレースするために 2 とおりの方法が用意されています。つまり、SQL Server Profiler を使用してトレースする方法と、システム ストアド プロシージャを使用してトレースする方法です。

  • フィルター
    トレースまたはテンプレートを作成する際には、指定したイベントで収集されたデータをフィルターで選択する基準を定義できます。 トレースが大きくなりすぎないようにするためには、イベント データのサブセットだけが収集されるようにフィルターを適用します。 たとえば、トレースでキャプチャする Microsoft Windows のユーザー名を特定のユーザーに限定して出力データを絞り込むことができます。

    フィルターが設定されていない場合は、選択したイベント クラスのすべてのイベントがトレースに出力されます。

SQL Server Profiler のタスク

タスクの説明

トピック

特定の種類のイベントを監視することを目的として SQL Server に備わっている定義済みのテンプレートと、トレースを再生するために必要な権限を紹介します。

SQL Server プロファイラーのテンプレートと権限

SQL Server Profiler を実行する方法について説明します。

SQL Server Profiler の実行に必要な権限

トレースの作成方法について説明します。

トレースの作成 (SQL Server Profiler)

トレース ファイルに含めるイベントおよびデータ列を指定する方法について説明します。

トレース ファイルに含めるイベントとデータ列の指定 (SQL Server Profiler)

トレース結果をファイルに保存する方法について説明します。

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

トレース結果をテーブルに保存する方法について説明します。

トレース結果のテーブルへの保存 (SQL Server Profiler)

トレース内のイベントをフィルター処理する方法について説明します。

トレース内のイベントへのフィルターの適用 (SQL Server Profiler)

フィルター情報を表示する方法について説明します。

フィルター情報の表示 (SQL Server Profiler)

フィルターを変更する方法について説明します。

フィルターの変更 (SQL Server Profiler)

トレース ファイルの最大ファイル サイズを設定する方法について説明します (SQL Server Profiler)。

トレース ファイルの最大ファイル サイズの設定 (SQL Server Profiler)

トレース テーブルの最大テーブル サイズを設定する方法について説明します。

トレース テーブルの最大テーブル サイズの設定 (SQL Server Profiler)

トレースの開始方法について説明します。

トレースの開始

サーバーへの接続後、トレースを自動的に開始する方法について説明します。

サーバーへの接続後の自動的なトレースの開始 (SQL Server Profiler)

イベントの開始時刻に基づいてイベントをフィルター選択する方法について説明します。

イベントの開始時刻に基づいたイベントのフィルター選択 (SQL Server Profiler)

イベントの終了時刻に基づいてイベントをフィルター選択する方法について説明します。

イベントの終了時刻に基づいたフィルターでのイベントの選択 (SQL Server Profiler)

トレース内のサーバー プロセス ID (SPID) をフィルター選択する方法について説明します。

トレースでのサーバー プロセス ID (SPID) のフィルター選択 (SQL Server Profiler)

トレースを一時停止する方法について説明します。

トレースの一時停止 (SQL Server Profiler)

トレースを停止する方法について説明します。

トレースの停止 (SQL Server Profiler)

一時停止後または停止後にトレースを実行する方法について説明します。

一時停止または停止したトレースの再開 (SQL Server Profiler)

トレース ウィンドウをクリアする方法について説明します。

トレース ウィンドウの消去 (SQL Server Profiler)

トレース ウィンドウを閉じる方法について説明します。

トレース ウィンドウを閉じる (SQL Server Profiler)

トレース定義の既定値を設定する方法について説明します。

トレース定義の既定値の設定 (SQL Server Profiler)

トレース表示の既定値を設定する方法について説明します。

トレース表示の既定値の設定 (SQL Server Profiler)

トレース ファイルを開く方法について説明します。

トレース ファイルを開く (SQL Server Profiler)

トレース テーブルを開く方法について説明します。

トレース テーブルを開く (SQL Server Profiler)

トレース テーブルを再生する方法について説明します。

トレース テーブルの再生 (SQL Server Profiler)

トレース ファイルを再生する方法について説明します。

トレース ファイルの再生 (SQL Server Profiler)

一度に単一のイベントを再生する方法について説明します。

一度に単一のイベントの再生 (SQL Server Profiler)

ブレークポイントまで再生する方法について説明します。

ブレークポイントまでの再生 (SQL Server Profiler)

カーソルまで再生する方法について説明します。

カーソルの再生 (SQL Server Profiler)

Transact-SQL スクリプトを再生する方法について説明します。

Transact-SQL スクリプトの再生 (SQL Server Profiler)

トレース テンプレートの作成方法について説明します。

トレース テンプレートの作成 (SQL Server Profiler)

トレース テンプレートの変更方法について説明します。

トレース テンプレートの変更 (SQL Server Profiler)

グローバル トレース オプションを設定する方法について説明します。

グローバル トレース オプションの設定 (SQL Server Profiler)

トレース中に値列またはデータ列を検索する方法について説明します。

トレース中の値列またはデータ列の検索 (SQL Server Profiler)

実行中のトレースからテンプレートを作成する方法について説明します。

実行中のトレースからのテンプレートの作成 (SQL Server Profiler)

トレース ファイルまたはトレース テーブルからテンプレートを作成する方法について説明します。

トレース ファイルまたはトレース テーブルからのテンプレートの作成 (SQL Server Profiler)

トレースを実行するための Transact-SQL スクリプトを作成する方法について説明します。

トレースを実行するための Transact-SQL スクリプトの作成 (SQL Server Profiler)

トレース テンプレートをエクスポートする方法について説明します。

トレース テンプレートのエクスポート (SQL Server Profiler)

トレース テンプレートをインポートする方法について説明します。

トレース テンプレートのインポート (SQL Server Profiler)

スクリプトをトレースから抽出する方法について説明します。

トレースからのスクリプトの抽出 (SQL Server Profiler)

トレースと Windows パフォーマンス ログ データを相互に関連付ける方法について説明します。

トレースと Windows パフォーマンス ログ データの関連付け (SQL Server Profiler)

トレースに表示される列を構成する方法について説明します。

トレースに表示される列の構成 (SQL Server Profiler)

SQL Server Profiler を起動する方法について説明します。

SQL Server Profiler の起動

トレースとトレース テンプレートを保存する方法について説明します。

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

トレース テンプレートの変更方法について説明します。

トレース テンプレートの変更

トレースと Windows パフォーマンス ログ データを相互に関連付ける方法について説明します。

トレースと Windows パフォーマンス ログ データの関連付け

SQL Server Profiler を使用したトレースの表示と分析の方法について説明します。

SQL Server Profiler を使用したトレースの表示と分析

SQL Server Profiler を使用してデッドロックを分析する方法について説明します。

SQL Server Profiler を使用したデッドロックの分析

SQL Server Profiler での SHOWPLAN 結果を使用してクエリを分析する方法について説明します。

SQL Server Profiler での Showplan 結果を使用したクエリの分析

SQL Server Profiler でトレースにフィルターを適用する方法について説明します。

SQL Server Profiler でのトレースへのフィルターの適用

SQL Server Profiler の再生機能の使用方法について説明します。

トレースの再生

SQL Server Profiler の状況依存ヘルプ トピックについて紹介します。

SQL Server Profiler の F1 ヘルプ

SQL Server Profiler でパフォーマンスと利用状況を監視する際に使用される一連のシステム ストアド プロシージャを紹介します。

SQL Server Profiler のストアド プロシージャ (Transact-SQL)

関連項目

概念

Locks イベント カテゴリ

Sessions イベント カテゴリ

Stored Procedures イベント カテゴリ

TSQL イベント カテゴリ

SQL Server Profiler

サーバーのパフォーマンスと利用状況の監視