SQL Server ProfilerSQL Server Profiler

SQL Server ProfilerSQL Server Profiler は、トレースを作成および管理し、トレースの結果を分析および再生するために使用する機能の豊富なインターフェイスです。is a rich interface to create and manage traces and analyze and replay trace results. キャプチャされたイベントはトレース ファイルに保存され、後で分析したり、問題の発生したステップを厳密に再現して診断する際に利用できます。The events are saved in a trace file that can later be analyzed or used to replay a specific series of steps when trying to diagnose a problem.

重要

SQL Server ProfilerSQL Server Profilerのトレース キャプチャおよびトレース再生用の データベース エンジンDatabase Engine は廃止されます。We are announcing the deprecation of SQL Server ProfilerSQL Server Profiler for データベース エンジンDatabase Engine Trace Capture and Trace Replay. これらの機能は SQL ServerSQL Serverの次のバージョンではサポートされますが、その後のバージョンでは削除されます。These features will be supported in the next version of SQL ServerSQL Server, but will be removed in a later version. SQL ServerSQL Server のどのバージョンであるかは決定していません。The specific version of SQL ServerSQL Server has not been determined. Microsoft SQL Server の Trace オブジェクトや Replay オブジェクトを含む Microsoft.SqlServer.Management.Trace 名前空間も非推奨とされます。The Microsoft.SqlServer.Management.Trace namespace that contains the Microsoft SQL Server Trace and Replay objects will also be deprecated. Analysis Services のワークロード用の SQL Server ProfilerSQL Server Profiler は非推奨とされておらず、引き続きサポートされます。Note that SQL Server ProfilerSQL Server Profiler for the Analysis Services workloads is not being deprecated, and will continue to be supported.

以下の表に、 SQL Server 2014SQL Server 2014 でトレース データのキャプチャおよび再生を行うために使用が推奨される機能を示します。The following table shows the features we recommend using in SQL Server 2014SQL Server 2014 to capture and replay your trace data:

機能\対象のワークロードFeature\Target Workload リレーショナル エンジンRelational Engine Analysis ServicesAnalysis Services
トレースのキャプチャTrace Capture SQL Server Management Studio の拡張イベントのグラフィカル ユーザー インターフェイスExtended Events graphical user interface in SQL Server Management Studio SQL Server ProfilerSQL Server Profiler
トレースの再生Trace Replay Distributed ReplayDistributed Replay SQL Server ProfilerSQL Server Profiler

SQL Server Profiler の利点Benefits of SQL Server Profiler

Microsoft SQL Server ProfilerSQL Server Profiler は、 データベース エンジンDatabase Engine または Analysis Services のインスタンスを監視するための SQL トレースのグラフィカル ユーザー インターフェイスです。Microsoft SQL Server ProfilerSQL Server Profiler is a graphical user interface to SQL Trace for monitoring an instance of the データベース エンジンDatabase Engine or Analysis Services. 各イベントに関するデータをキャプチャし、ファイルやテーブルに保存して、後で分析できます。You can capture and save data about each event to a file or table to analyze later. たとえば、稼動環境を監視して、どのストアド プロシージャの実行が遅く、パフォーマンスに影響を与えているかを確認できます。For example, you can monitor a production environment to see which stored procedures are affecting performance by executing too slowly. SQL Server ProfilerSQL Server Profiler は、次のようなアクティビティに使用します。is used for activities such as:

  • 問題の原因を特定するため、問題の発生したクエリを順次実行する。Stepping through problem queries to find the cause of the problem.

  • 実行速度の遅いクエリを検出し、その原因を診断する。Finding and diagnosing slow-running queries.

  • 問題の原因となる一連の Transact-SQLTransact-SQL ステートメントをキャプチャする。Capturing the series of Transact-SQLTransact-SQL statements that lead to a problem. トレース ファイルに保存された内容をテスト サーバー上にレプリケートし、問題の診断に利用できます。The saved trace can then be used to replicate the problem on a test server where the problem can be diagnosed.

  • ワークロードを調整するため、 SQL ServerSQL Server のパフォーマンスを監視する。Monitoring the performance of SQL ServerSQL Server to tune workloads. データベース ワークロードに関してデータベースの物理設計を調整する方法については、「 Database Engine Tuning Advisor」を参照してください。For information about tuning the physical database design for database workloads, see Database Engine Tuning Advisor.

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

SQL Server ProfilerSQL Server Profiler では、SQL ServerSQL Server インスタンスで実行された操作の監査もサポートしています。also supports auditing the actions performed on instances of SQL ServerSQL Server. 監査では、後でセキュリティ管理者が調査できるように、セキュリティ関連の操作を記録します。Audits record security-related actions for later review by a security administrator.

SQL Server Profiler の概念SQL Server Profiler Concepts

SQL Server ProfilerSQL Server Profilerを使用するには、ツールがどのように機能するのかを説明する用語を理解しておく必要があります。To use SQL Server ProfilerSQL Server Profiler, you need to understand the terms that describe the way the tool functions.

注意

SQL Server ProfilerSQL Server Profilerを使用するときは、SQL トレースを理解しておくと役に立ちます。When working with SQL Server ProfilerSQL Server Profiler, it is helpful to understand SQL Trace. 詳細については、「 SQL Trace」を参照してください。For more information, see SQL Trace.

イベントEvent
イベントとは、 SQL Server データベース エンジンSQL Server Database Engineのインスタンス内で発生するアクションです。An event is an action generated within an instance of SQL Server データベース エンジンSQL Server Database Engine. 次に例を示します。Examples of these are:

  • ログインの接続、失敗、および接続解除。Login connections, failures, and disconnections.

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

  • リモート プロシージャ コール (RPC) のバッチ ステータス。Remote procedure call (RPC) batch status.

  • ストアド プロシージャの開始または終了。The start or end of a stored procedure.

  • ストアド プロシージャ内のステートメントの開始または終了。The start or end of statements within stored procedures.

  • SQL バッチの開始または終了。The start or end of an SQL batch.

  • SQL ServerSQL Server のエラー ログに書き込まれたエラー。An error written to the SQL ServerSQL Server error log.

  • データベース オブジェクトで取得または解放されたロック。A lock acquired or released on a database object.

  • 開かれたカーソル。An opened cursor.

  • セキュリティ権限の確認。Security permission checks.

イベントによって生成されたデータは、すべてトレースに 1 行で表示されます。All of the data generated by an event is displayed in the trace in a single row. この行の各データ列には、イベントの詳しい説明が表示されます。This row is intersected by data columns that describe the event in detail.

EventClassEventClass
イベント クラスは、トレースできるイベントの種類を定義します。An event class is a type of event that can be traced. イベント クラスには、イベントによって報告できるすべてのデータが含まれています。The event class contains all of the data that can be reported by an event. イベント クラスの例を次に示します。Examples of event classes are the following:

  • SQL:BatchCompletedSQL:BatchCompleted

  • Audit LoginAudit Login

  • Audit LogoutAudit Logout

  • Lock:AcquiredLock:Acquired

  • Lock:ReleasedLock:Released

EventCategoryEventCategory
イベント カテゴリは、 SQL Server ProfilerSQL Server Profiler内でイベントを分類する方法を定義します。An event category defines the way events are grouped within SQL Server ProfilerSQL Server Profiler. たとえば、ロック イベント クラスはすべて、 ロック イベント カテゴリに分類されます。For example, all lock events classes are grouped within the Locks event category. ただし、イベント カテゴリは SQL Server ProfilerSQL Server Profilerでしか存在しません。However, event categories only exist within SQL Server ProfilerSQL Server Profiler. この用語に、エンジン イベントを分類する方法は反映されていません。This term does not reflect the way Engine events are grouped.

DataColumnDataColumn
各データ列は、トレースでキャプチャされるイベント クラスの属性です。A data column is an attribute of an event classes captured in the trace. 収集できるデータの種類はイベント クラスによって異なるため、必ずしもすべてのデータ列がすべてのイベント クラスに使用されるわけではありません。Because the event class determines the type of data that can be collected, not all data columns are applicable to all event classes. たとえば、 Lock:Acquired イベント クラスをキャプチャするトレースでは、ロックされたページ ID またはロックされた行の値が BinaryData データ列に格納されますが、 Integer Data データ列にはまったく値が格納されません。これは、キャプチャ対象のイベント クラスにこのデータ列が適合しないためです。For example, in a trace that captures the Lock:Acquired event class, the BinaryData data column contains the value of the locked page ID or row, but the Integer Data data column does not contain any value because it is not applicable to the event class being captured.

テンプレートTemplate
テンプレートは、トレースの既定の構成を定義します。A template defines the default configuration for a trace. 特に、テンプレートには、 SQL Server ProfilerSQL Server Profilerを使用して監視するイベント クラスを指定します。Specifically, it includes the event classes you want to monitor with SQL Server ProfilerSQL Server Profiler. たとえば、使用するイベント、データ列、およびフィルターを指定するテンプレートを作成できます。For example, you can create a template that specifies the events, data columns, and filters to use. テンプレートは、実行するのではなく、.tdf という拡張子を付けてファイルとして保存しておきます。A template is not executed, but rather is saved as a file with a .tdf extension. 保存したテンプレートは、そのテンプレートに基づいて作成したトレースの実行時にどのようなトレース データをキャプチャするかを制御します。Once saved, the template controls the trace data that is captured when a trace based on the template is launched.

トレースTrace
トレースでは、選択したイベント、データ列、およびフィルターに基づいたデータをキャプチャします。A trace captures data based on selected event classes, data columns, and filters. たとえば、例外エラーを監視するトレースを作成できます。For example, you can create a trace to monitor exception errors. これには、 Exception イベント クラスを選択し、そのデータ列である ErrorState、および Severity を選択します。To do this, you select the Exception event class and the Error, State, and Severity data columns. トレース結果で意味のあるデータを示すには、これら 3 列のデータを収集する必要があります。Data from these three columns needs to be collected in order for the trace results to provide meaningful data. このようにして構成されたトレースを実行し、サーバーで発生するすべての Exception イベントに関するデータを収集することができます。You can then run a trace, configured in such a manner, and collect data on any Exception events that occur in the server. トレース データは、保存することも、すぐに分析に使用することもできます。Trace data can be saved, or used immediately for analysis. トレースは、後日再生できます。ただし、 Exception イベントなど、再生不可能なイベントもあります。Traces can be replayed at a later date, although certain events, such as Exception events, are never replayed. また、トレースをテンプレートとして保存しておき、これに似たトレースを後日作成することもできます。You can also save the trace as a template to build similar traces in the future.

SQL Server では、SQL Server のインスタンスをトレースするために 2 とおりの方法が用意されています。つまり、SQL Server ProfilerSQL Server Profiler を使用してトレースする方法と、システム ストアド プロシージャを使用してトレースする方法です。SQL Server provides two ways to trace an instance of SQL Server: you can trace with SQL Server ProfilerSQL Server Profiler, or you can trace using system stored procedures.

AssertFilter
トレースまたはテンプレートを作成する際には、指定したイベントで収集されたデータをフィルターで選択する基準を定義できます。When you create a trace or template, you can define criteria to filter the data collected by the event. トレースが大きくなりすぎないようにするためには、イベント データのサブセットだけが収集されるようにフィルターを適用します。To keep traces from becoming too large, you can filter them so that only a subset of the event data is collected. たとえば、トレースでキャプチャする Microsoft Windows のユーザー名を特定のユーザーに限定して出力データを絞り込むことができます。For example, you can limit the Microsoft Windows user names in the trace to specific users, thereby reducing the output data.

フィルターが設定されていない場合は、選択したイベント クラスのすべてのイベントがトレースに出力されます。If a filter is not set, all events of the selected event classes are returned in the trace output.

SQL Server Profiler のタスクSQL Server Profiler Tasks

タスクの説明Task Description トピックTopic
特定の種類のイベントを監視することを目的として SQL Server に備わっている定義済みのテンプレートと、トレースを再生するために必要な権限を紹介します。Lists the predefined templates that SQL Server provides for monitoring certain types of events, and the permissions required to use to replay traces. SQL Server プロファイラーのテンプレートとアクセス許可SQL Server Profiler Templates and Permissions
SQL Server Profiler を実行する方法について説明します。Describes how to run SQL Server Profiler. SQL Server Profiler の実行に必要なアクセス許可Permissions Required to Run SQL Server Profiler
トレースの作成方法について説明します。Describes how to create a trace. トレースの作成 (SQL Server Profiler)Create a Trace (SQL Server Profiler)
トレース ファイルに含めるイベントおよびデータ列を指定する方法について説明します。Describes how to specify events and data columns for a trace file. トレース ファイルに含めるイベントとデータ列の指定 (SQL Server Profiler)Specify Events and Data Columns for a Trace File (SQL Server Profiler)
トレース結果をファイルに保存する方法について説明します。Describes how to save trace results to a file. トレース結果のファイルへの保存 (SQL Server Profiler)Save Trace Results to a File (SQL Server Profiler)
トレース結果をテーブルに保存する方法について説明します。Describes how to save trace results to a table. トレース結果のテーブルへの保存 (SQL Server Profiler)Save Trace Results to a Table (SQL Server Profiler)
トレース内のイベントをフィルター処理する方法について説明します。Describes how to filter events in a trace. トレース内のイベントへのフィルターの適用 (SQL Server Profiler)Filter Events in a Trace (SQL Server Profiler)
フィルター情報を表示する方法について説明します。Describes how to view filter information. フィルター情報の表示 (SQL Server Profiler)View Filter Information (SQL Server Profiler)
フィルターを変更する方法について説明します。Describes how to Modify a Filter. フィルターの変更 (SQL Server Profiler)Modify a Filter (SQL Server Profiler)
トレース ファイルの最大ファイル サイズを設定する方法について説明します (SQL Server Profiler)。Describes how to Set a Maximum File Size for a Trace File (SQL Server Profiler). トレース ファイルの最大ファイル サイズの設定 (SQL Server Profiler)Set a Maximum File Size for a Trace File (SQL Server Profiler)
トレース テーブルの最大テーブル サイズを設定する方法について説明します。Describes how to set a maximum table size for a trace table. トレース テーブルの最大テーブル サイズの設定 (SQL Server Profiler)Set a Maximum Table Size for a Trace Table (SQL Server Profiler)
トレースの開始方法について説明します。Describes how to start a trace. トレースを開始するStart a Trace
サーバーへの接続後、トレースを自動的に開始する方法について説明します。Describes how to start a trace automatically after connecting to a server. サーバーへの接続後の自動的なトレースの開始 (SQL Server Profiler)Start a Trace Automatically after Connecting to a Server (SQL Server Profiler)
イベントの開始時刻に基づいてイベントをフィルター選択する方法について説明します。Describes how to filter events based on the event start time. イベントの開始時刻に基づいたイベントのフィルター選択 (SQL Server Profiler)Filter Events Based on the Event Start Time (SQL Server Profiler)
イベントの終了時刻に基づいてイベントをフィルター選択する方法について説明します。Describes how to filter events based on the event end time. イベントの終了時刻に基づいたフィルターでのイベントの選択 (SQL Server Profiler)Filter Events Based on the Event End Time (SQL Server Profiler)
トレース内のサーバー プロセス ID (SPID) をフィルター選択する方法について説明します。Describes how to filter server process IDs (SPIDs) in a trace. トレースでのサーバー プロセス ID (SPIDs )のフィルター選択 (SQL Server Profiler )Filter Server Process IDs (SPIDs) in a Trace (SQL Server Profiler)
トレースを一時停止する方法について説明します。Describes how to pause a trace. トレースの一時停止 (SQL Server Profiler)Pause a Trace (SQL Server Profiler)
トレースを停止する方法について説明します。Describes how to stop a trace. トレースの停止 (SQL Server Profiler)Stop a Trace (SQL Server Profiler)
一時停止後または停止後にトレースを実行する方法について説明します。Describes how to run a trace after it has been paused or stopped. 一時停止または停止したトレースの再開 (SQL Server Profiler)Run a Trace After It Has Been Paused or Stopped (SQL Server Profiler)
トレース ウィンドウをクリアする方法について説明します。Describes how to clear a trace window. トレース ウィンドウの消去 (SQL Server Profiler)Clear a Trace Window (SQL Server Profiler)
トレース ウィンドウを閉じる方法について説明します。Describes how to close a trace window. トレース ウィンドウを閉じる (SQL Server Profiler)Close a Trace Window (SQL Server Profiler)
トレース定義の既定値を設定する方法について説明します。Describes how to set trace definition defaults. トレース定義の既定値の設定 (SQL Server Profiler)Set Trace Definition Defaults (SQL Server Profiler)
トレース表示の既定値を設定する方法について説明します。Describes how to set trace display defaults. トレース表示の既定値の設定 (SQL Server Profiler)Set Trace Display Defaults (SQL Server Profiler)
トレース ファイルを開く方法について説明します。Describes how to open a trace file. トレース ファイルを開く (SQL Server Profiler)Open a Trace File (SQL Server Profiler)
トレース テーブルを開く方法について説明します。Describes how to open a trace table. トレース テーブルを開く (SQL Server Profiler)Open a Trace Table (SQL Server Profiler)
トレース テーブルを再生する方法について説明します。Describes how to replay a trace table. トレース テーブルを再生する (SQL Server Profiler)Replay a Trace Table (SQL Server Profiler)
トレース ファイルを再生する方法について説明します。Describes how to replay a trace file. トレース ファイルを再生する (SQL Server Profiler)Replay a Trace File (SQL Server Profiler)
一度に単一のイベントを再生する方法について説明します。Describes how to replay a single event at a time. 一度に単一のイベントの再生 (SQL Server Profiler)Replay a Single Event at a Time (SQL Server Profiler)
ブレークポイントまで再生する方法について説明します。Describes how to replay to a breakpoint. ブレークポイントまでの再生 (SQL Server Profiler)Replay to a Breakpoint (SQL Server Profiler)
カーソルまで再生する方法について説明します。Describes how to replay to a cursor. カーソルまでの再生 (SQL Server Profiler)Replay to a Cursor (SQL Server Profiler)
Transact-SQL スクリプトを再生する方法について説明します。Describes how to replay a Transact-SQL script. Transact-SQL スクリプトの再生 (SQL Server Profiler)Replay a Transact-SQL Script (SQL Server Profiler)
トレース テンプレートの作成方法について説明します。Describes how to create a trace template. トレース テンプレートの作成 (SQL Server Profiler)Create a Trace Template (SQL Server Profiler)
トレース テンプレートの変更方法について説明します。Describes how to modify a trace template. トレース テンプレートの変更 (SQL Server Profiler)Modify a Trace Template (SQL Server Profiler)
グローバル トレース オプションを設定する方法について説明します。Describes how to set global trace options. グローバル トレース オプションの設定 (SQL Server Profiler)Set Global Trace Options (SQL Server Profiler)
トレース中に値列またはデータ列を検索する方法について説明します。Describes how to find a value or data column while tracing. トレース中の値列またはデータ列の検索 (SQL Server Profiler)Find a Value or Data Column While Tracing (SQL Server Profiler)
実行中のトレースからテンプレートを作成する方法について説明します。Describes how to derive a template from a running trace. 実行中のトレースからのテンプレートの作成 (SQL Server Profiler)Derive a Template from a Running Trace (SQL Server Profiler)
トレース ファイルまたはトレース テーブルからテンプレートを作成する方法について説明します。Describes how to derive a template from a trace file or trace table. トレース ファイルまたはトレース テーブルからのテンプレートの作成 (SQL Server Profiler)Derive a Template from a Trace File or Trace Table (SQL Server Profiler)
トレースを実行するための Transact-SQL スクリプトを作成する方法について説明します。Describes how to create a Transact-SQL script for running a trace. トレースを実行するための Transact-SQL スクリプトの作成 (SQL Server Profiler)Create a Transact-SQL Script for Running a Trace (SQL Server Profiler)
トレース テンプレートをエクスポートする方法について説明します。Describes how to export a trace template. トレース テンプレートのエクスポート (SQL Server Profiler)Export a Trace Template (SQL Server Profiler)
トレース テンプレートをインポートする方法について説明します。Describes how to import a trace template. トレース テンプレートのインポート (SQL Server Profiler)Import a Trace Template (SQL Server Profiler)
スクリプトをトレースから抽出する方法について説明します。Describes how to extract a script from a trace. トレースからのスクリプトの抽出 (SQL Server Profiler)Extract a Script from a Trace (SQL Server Profiler)
トレースと Windows パフォーマンス ログ データを相互に関連付ける方法について説明します。Describes how to correlate a trace with Windows performance log data. トレースと Windows パフォーマンス ログ データの関連付け (SQL Server Profiler)Correlate a Trace with Windows Performance Log Data (SQL Server Profiler)
トレースに表示される列を構成する方法について説明します。Describes how to organize columns displayed in a trace. トレースに表示される列の構成 (SQL Server Profiler)Organize Columns Displayed in a Trace (SQL Server Profiler)
SQL Server Profiler を起動する方法について説明します。Describes how to start SQL Server Profiler. SQL Server Profiler の起動Start SQL Server Profiler
トレースとトレース テンプレートを保存する方法について説明します。Describes how to save traces and trace templates. トレースとトレース テンプレートの保存Save Traces and Trace Templates
トレース テンプレートの変更方法について説明します。Describes how to modify trace templates. トレース テンプレートを変更するModify Trace Templates
トレースと Windows パフォーマンス ログ データを相互に関連付ける方法について説明します。Describes how to correlate a trace with Windows performance log data. トレースと Windows パフォーマンス ログ データの関連付けCorrelate a Trace with Windows Performance Log Data
SQL Server Profiler を使用したトレースの表示と分析の方法について説明します。Describes how to view and analyze traces with SQL Server Profiler. SQL Server Profiler を使用したトレースの表示と分析View and Analyze Traces with SQL Server Profiler
SQL Server Profiler を使用してデッドロックを分析する方法について説明します。Describes how to analyze deadlocks with SQL Server Profiler. SQL Server Profiler を使用したデッドロックの分析Analyze Deadlocks with SQL Server Profiler
SQL Server Profiler での SHOWPLAN 結果を使用してクエリを分析する方法について説明します。Describes how to analyze queries with SHOWPLAN results in SQL Server Profiler. SQL Server Profiler での Showplan 結果を使用したクエリの分析Analyze Queries with SHOWPLAN Results in SQL Server Profiler
SQL Server Profiler でトレースにフィルターを適用する方法について説明します。Describes how to filter traces with SQL Server Profiler. SQL Server Profiler でのトレースへのフィルターの適用Filter Traces with SQL Server Profiler
SQL Server Profiler の再生機能の使用方法について説明します。Describes how to use the replay features of SQL Server Profiler. トレースの再生Replay Traces
SQL Server Profiler の状況依存ヘルプ トピックについて紹介します。Lists the context-sensitive help topics for SQL Server Profiler. SQL Server Profiler の F1 ヘルプSQL Server Profiler F1 Help
SQL Server ProfilerSQL Server Profiler でパフォーマンスと利用状況を監視する際に使用される一連のシステム ストアド プロシージャを紹介します。Lists the system stored procedures that are used by SQL Server ProfilerSQL Server Profiler to monitor performance and activity. SQL Server Profiler のストアド プロシージャ (Transact-SQL)SQL Server Profiler Stored Procedures (Transact-SQL)

参照See Also

Locks イベント カテゴリ Locks Event Category
Sessions イベント カテゴリ Sessions Event Category
Stored Procedures イベント カテゴリ Stored Procedures Event Category
TSQL イベント カテゴリ TSQL Event Category
サーバーのパフォーマンスと利用状況の監視Server Performance and Activity Monitoring