トップ回答者
SQLプロファイラの解析について(TSQL-SPs)

質問
-
いつもお世話になっております。
海老原と申します。
日が経つにつれて処理が遅くなっているストアドがあり、原因を探るべく
SQLプロファイラ(テンプレート:TSQL-SPs)にて情報を取得したのですが、
クエリのスタート時間は分かりましたが、見方がよく分からず解析に苦慮しています。
※同一環境を別サーバに作成し、テストしてみましたが、そちらは遅くならず再現性が無く、
SQLプロファイラを取得してみました。
SQLプロファイラの解析方法についておしえていただければ助かります。
※サイトを検索しましたが、自身では見つけきれませんでした。
OS:Windows2003 SP2
DB:SQLServer2000 SP4
よろしくお願いいたします。
以上
回答
-
Takayoshi Ebiharaさん の発言:
早速の回答ありがとうございました。
今回、ストアド内部を調べたかったのでテンプレートにTSQL-SPsを使用したのですが、Duration列が表示されていませんでした。
何かプロパティ等でDration列を表示させる方法ございますでしょうか?
もしくは別テンプレートを使用したほうがよろしいのでしょうか?
あれ? SQL Server 2000のTSQL-SPsでもDuration列が表示されませんでしたっけ。
(以前SQL Server 2000/2005使っていた時、気にも留めていなかったんで出ているものと思っていました)
Duration列の出し方ですが、「余談」に書いた内容を行えば出ると思います。
念のため、仮想環境にWindows Server 2003/SQL Server 2000を入れてみますが、こちらは環境を作るのに時間がかかるので、「余談」に書いた内容を試してみてもらえないでしょうか?- 回答としてマーク Takayoshi Ebihara 2009年2月23日 10:39
すべての返信
-
「Duration」という項目が処理にかかった時間ですので、それを見てチューニングの参考にしてください。
ここから余談。
SQL Server 2008のプロファイラでは、Durationがテンプレートで表示されなくなっているみたいですね。
今回はSQL Server 2000ですからDurationも表示されているので問題ないかと思いますが、SQL Server 2008のプロファイラを使用してストアドプロシージャのボトルネックを調べる場合、[トレースのプロパティ]で[すべての列を表示する]にチェックして隠れている項目を表示し、必要な項目(今回はDuration)をチェックする必要があるようです。 -
Takayoshi Ebiharaさん の発言:
早速の回答ありがとうございました。
今回、ストアド内部を調べたかったのでテンプレートにTSQL-SPsを使用したのですが、Duration列が表示されていませんでした。
何かプロパティ等でDration列を表示させる方法ございますでしょうか?
もしくは別テンプレートを使用したほうがよろしいのでしょうか?
あれ? SQL Server 2000のTSQL-SPsでもDuration列が表示されませんでしたっけ。
(以前SQL Server 2000/2005使っていた時、気にも留めていなかったんで出ているものと思っていました)
Duration列の出し方ですが、「余談」に書いた内容を行えば出ると思います。
念のため、仮想環境にWindows Server 2003/SQL Server 2000を入れてみますが、こちらは環境を作るのに時間がかかるので、「余談」に書いた内容を試してみてもらえないでしょうか?- 回答としてマーク Takayoshi Ebihara 2009年2月23日 10:39