SQLServerプロファイラーとは
SQL Server Profilerは、トレースを作成および管理し、トレース結果を分析および再生するためのインターフェイスです。これらのイベントはトレースファイルに保存され、後で問題を診断しようとするときに、分析または一連の特定の手順を再生するために使用できます。同時に、以下のファイルの分析にも使用でき、分析が完了した後に最適化の提案が提供されます。
SQLServerプロファイラーの使用
以下では、写真とテキストによる説明を使用して、追跡と最適化に使用する方法を段階的に説明します。
最初のステップは
、図1に示すように、SSMSを起動することです-> [ツール]-> [SQLServerプロファイラー]を起動してSQLServerプロファイラーを起動します。
図1SQLServerプロファイラーの起動
2番目のステップが
開始されると、図2に示すように、追跡されたデータベースに再度接続するように求められます。
図2追跡されたデータベースへの接続
3番目のステップは
、図3に示すように、追跡プロパティを設定し、インターフェイスのプロンプトに従って関連情報を入力することです。
図3追跡プロパティを設定するための一般的なページ
4番目のステップは
、[イベント選択]の内容を設定することです。図4のプロンプトに従って、関連する内容を確認します。
図4イベント選択設定ページ
5番目のステップ
[イベントの選択]は、データベースの追跡を容易にするためにデータベースが表示されているページを表示し続けます。5ステップの操作を押します。
図5DatabaseNameオプションを確認する
ステップ
6図6の手順に従って、[Column Filter ...]をクリックしてポップアップページで[DatabaseName]オプションを見つけ、指定したデータベース名を入力します。ここにAdventureWorksと入力します。これは、エディターのローカルデータベースの名前です。
図6追跡されたデータベースの名前を入力します
7番目のステップは
、図7のステップに従い、[TextData]オプションを選択し、select%と入力します。これは、selectで始まるクエリステートメントを追跡することを意味します。%はワイルドカードです。[OK]をクリックすると、プロンプトボックスが表示されます。[OK]をクリックするだけです。
図7トレースされたTextDataの入力
8番目のステップは
、SSMSに戻り、AdventureWorksデータベースを選択し、新しいクエリを作成して、[実行]をクリックすることです。図8に示すように:
図8追跡されたクエリステートメントを追跡されたデータベースに入力する
9番目のステップは
、SQL Serverプロファイラーに戻ってトレースインターフェイスを表示することです。図9に示すように、トレースページで実行されたばかりのクエリステートメントを確認できます。
トレースされたクエリステートメントを表示するには、図9を参照してください。
10番目のステップは
、図10に示すように、現在のトレースファイルをトレースファイルTest.trcとして保存することです。
図10トレースファイルを保存する
11番目のステップで
は、SQL Server Profilerのメニューバーで[ツール]-> [データベースエンジン最適化アドバイザー]をクリックして、図11に示すように、今すぐTest.trcファイルの分析を開始します。
図11オープンエンジン最適化コンサルタント
ポップアップページの12番目のステップでは、最適化コンサルタントの設定を開始します。
[ワークロード]に保存したばかりのTest.trcファイルを見つけます
最適化するデータベースとテーブルを選択する際に、分析する必要のあるテーブルアドレスを個別に見つけます
図12に示すように:
図12エンジン最適化インターフェースの設定
13番目のステップを
設定したら、図13に示すように、[分析の開始]をクリックします。
図13追跡されたファイルの分析の開始
ステップ14:
分析が完了すると、最適化の提案がインデックス提案列の最後の列[定義]に表示されます。ここをクリックし、[クリップボードにコピー]をクリックして最適化提案スクリプトを取得し、SSMSに戻って貼り付けます実行後、最適化を完了することができます。図14に示すように:
図14最適化の提案を取得するためのスクリプト
15番目のステップ
このステップは14番目のステップと似ていますが、よりインテリジェントで、スクリプトを実行するためにコピーして貼り付けることなく、システムによって自動的に実行されます。Data Engine OptimizationAdvisorのメニューバーで[操作]-> [アプリケーションの提案...]をクリックします。図15に示すポップアップダイアログボックスで、[OK]をクリックして、EngineAdvisorによって提供される最適化の提案を自動的に実行します。
図15最適化の提案を自動的に実行する
上記はSQLServer Profilerの基本的な操作ですが、他にも多くの用途があり、友人はゆっくりと探索することができます。長期間使用すると、間違いなくアーティファクトであることがわかります。