今回は、SQL Serverの拡張イベントについて簡単に機能を確認しながら、概要をお話していこうと思います。
SQL Serverの拡張イベントとは?
SQL Serverの拡張イベントは、パフォーマンスの問題が発生した場合のトラブルシューティングや、問題の調査に必要な最小限のデータを収集することができます。
日本語だと拡張イベントと呼称しますが、英語だと「Xevent」と呼称されているようです。
また、拡張イベントは非推奨になった SQL Trace と SQL Server Profiler の機能に置き換わるものとなるようです。SQL Server Profilerってすでに非推奨なんですね。。
拡張イベントの簡単な使い方
それでは、拡張イベントの使い方を確認するために今回はデッドロックの調査に便利なデータを収集してみたいと思います。
SSMSでオブジェクトエクスプローラーから、「管理」-「拡張イベント」-「セッション」を右クリック、「新規セッション」を押下します。
以下のようにセッション作成ダイアログ画面が開くと思います。「全般」ページでは、任意のセッション名を入力します。あとスケジュール欄の「セッションの作成後すぐにイベントセッションを開始する」にチェックを入れておきます。
「イベント」ページでは、イベントライブラリから今回は「xml_deadlock_report」を選択します。以下のように選択したイベント欄に表示されていればOKです。
あと、「データストレージ」および「詳細設定」ページですが、今回は何も変更しないで、そのまま「OK」ボタンを押下すれば準備は完了です。
上記設定が完了すると、以下の通り作成した拡張イベントが表示されます。
それでは、動作確認をしていきます。さきほど作成した拡張イベントを右クリックし、「ライブデータの監視」を押下します。
すると、以下のようにライブデータの監視をしている風の画面が開きます。これで準備完了です。適当にデッドロックを発生させます。
以下のようにデッドロックを発生させました。それでは、先ほどのライブデータの監視画面を見てみましょう。
おお、何やら出力されてますね!しっかりデッドロックの情報が確認できます。
おわりに
いかがでしたでしょうか。私自身、拡張イベントは最近知ったのですが色々なイベントがありますので、是非確認していただければと思います。
話は変わりますが、SQL Serverたくさん機能ありますよね。嬉しいのですが、使いこなすのが大変です。ですが、ここらへんだいたいすべてGUIで操作できるるのでとっつきやすい感じはします。
これからも変わらず、色々と知識深めたいなぁと思います。
最後までお読みいただきありがとうございました。今回はこの辺で失礼いたします。