Javaプログラマーの技術メモ

勉強したことのメモ帳

SQL Server上でのSQLトレースの注意点

SQL Server Profilerを利用しないSQLトレース

SQL ServerSQLトレースでは、通常 付属のSQL Server Profilerが利用できるが、これをそのまま運用環境で利用するとSQL Server Profiler自体がボトルネックになり、SQL Serverの負荷が上がる。 以下の記事のように、スクリプトからSQLトレースを実行することで、SQL Server Profilerにキャプチャーしたイベントを流し込んで表示する負荷が下がり、SQLトレースの負荷だけになり、だいぶ処理が軽くなる。

「DO’s&DONT’s #1: やらない方がいいこと – 運用環境で、Profiler GUI を使用してトレースする」 https://blogs.msdn.microsoft.com/jpsql/2011/01/25/dosdonts-1-profiler-gui-1237/

SQL トレーススクリプトの作成、実行 (SQL Server 2005 ~ 2014)」 https://blogs.msdn.microsoft.com/jpsql/2011/01/25/sql-sql-server-2005-2014/

注意

トレースファイルの作成時に以下のエラーが出る場合がある。Windowsのファイル作成権限が足りないらしい。権限をつけるか、SQL Server配下のディレクトリを指定するなどして解消できる。

SP_TRACE_CREATE の実行中に Windows エラーが発生しました。エラー = 0x80070005(アクセスが拒否されました。)。 メッセージ 19062、レベル 16、状態 1、プロシージャ sp_trace_create、行 1 トレース ファイルを作成できませんでした。 (1 行処理されました)

Sql Server : Error : Could not create a trace file (SP_TRACE_CREATE)」 https://sqltimes.wordpress.com/2014/11/08/sql-server-error-could-not-create-a-trace-file-sp_trace_create/