0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Oracle Databaseを使用しているお客様がSQL Serverを検討する際に気にされる点がいくつかありますが、その一つにSQLによる性能劣化があります。

Oracle DatabaseではStatspackやAWRレポートでDBの稼働統計を取得し、SQLの性能調査を行うことができます。
SQL Serverでは、「拡張イベント」 を使用することで上記とほぼ同様のことが行えます。

本記事では拡張イベントの概要について記載します。

拡張イベントとは

SQL Server内で発生したイベント情報や、それに関連する情報を記録することができる機能です。
MS公式ドキュメントでは以下のように記載されています。

拡張イベント アーキテクチャを使用すると、ユーザーは、SQL Server、Azure SQL Database、Azure SQL Managed >Instanceのパフォーマンスの問題のトラブルシューティングや特定に必要なデータをできるだけ多くまたは少なく収集できます。★

拡張イベントが使用できる前は、SQLトレースやSQL Server Profilerという機能があったようですが、それらは非推奨となっているようなので拡張イベントを使用するようにしましょう。

拡張イベントで設定する項目

イベントを選択
例)
  SQLの情報を取得する
  ストアドプロシージャの情報を取得する
  バッチ処理の情報を取得する

選択したイベントから取得する情報を指定
例)
  SQLの全文
  CPU実行時間
  物理読み込み量

取得する情報のフィルタリング
例)
  実行時間が10秒以上

上記で設定した情報はリアルタイムで確認することも可能ですが、xelファイルとして作成してある時点の性能状態と比較するといったことも可能です。

参照サイト

■拡張イベントの概要
 https://learn.microsoft.com/ja-jp/sql/relational-databases/extended-events/extended-events?view=sql-server-ver15

■CREATE EVENT SESSION (Transact-SQL)
 https://learn.microsoft.com/ja-jp/sql/t-sql/statements/create-event-session-transact-sql?view=sql-server-ver16

■SQL:StmtCompleted イベント クラス
 https://learn.microsoft.com/ja-jp/sql/relational-databases/event-classes/sql-stmtcompleted-event-class?view=sql-server-ver16

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?