質問: sqlserverでのスロークエリについて 現在、sqlserver2000を使用しているのですが、実行に時間の掛かるクエリを投げた際は、ログを残したいと考えています。 mysqlでのスロークエリと同様似、指定した時間以上掛かった場合ログを残すようなことをsqlserverで出来るのでしょうか。 もしご存知の方がいらっしゃいましたらお知恵を拝借したいです・・・。
回答: sql server プロファイラでサーバトレースを設定するしかないと思います。 プロファイラにはスクリプトをエクスポートする機能があるので、sql:stmt completedのみを(durationにしきい値を設定して)トレースし、 それをストアドプロシージャにしてsql serverエージェントのジョブに登録する(サービス起動時に起動)のですかね。 とりあえず試すときはトレースの止め方/消し方は把握してください。あと、サーバ負荷のチェックも忘れずに。 http://technet.microsoft.com/ja-jp/library/aa173918(sql.80).aspx