- PR -

ASP.NETページがSQL Serverに送ったSQL文のログ

1
投稿者投稿内容
しい
常連さん
会議室デビュー日: 2006/07/12
投稿数: 27
お住まい・勤務地: 関東
投稿日時: 2009-03-11 13:56
お世話になっております。

ASP.NET2.0 + SQLserver2005で動作するWebサイト(アプリケーション)を開発しております。

今回、SQLserverに対して、いつどのような挿入や更新(SQL文)がなされたかのログを取る事になっております。

1日に1件程度、insert文やupdate文がWebサイトよりSQLserverに対して流れます。
流れたSQL文のログを記録しておく良いアイディア・方法はありませんでしょうか?

SQL Server Profilerを立ち上げっぱなしにするしかないでしょうか。


みなさまのお知恵を拝借させていただきたく、よろしくお願い申し上げます。


[ メッセージ編集済み 編集者: しい 編集日時 2009-03-11 14:06 ]
ハント
会議室デビュー日: 2009/02/03
投稿数: 4
投稿日時: 2009-03-12 13:05
Webサイトを開発しているなら、SQLを発行する処理でログに書く方法があると思います。
また、Profilerはファイルメニューからトレース定義をエクスポートしておけば
Profilerを起動しなくてもトレースを行うことが可能です。
sp_trace_createとかsp_trace_setstatus辺りを参考にしてください。
リンダオ
会議室デビュー日: 2009/03/10
投稿数: 5
投稿日時: 2009-03-12 15:42
どもども、リンダオと申します。

>いつどのような挿入や更新(SQL文)がなされたかのログを取る事になっております。

この程度の記録なら、Webアプリが処理を行う過程でWebサーバー内の任意のテキストファイルか、或いはWindowsのイベントログに発行したSQL文とその結果を書き込むようにするのもありかなと思います。

ついでにそのログの内容を閲覧出来るインターフェイス(Webページ)を設ければ確認も楽になるかもしれませんね。
大きなお世話でした。^^;
しい
常連さん
会議室デビュー日: 2006/07/12
投稿数: 27
お住まい・勤務地: 関東
投稿日時: 2009-03-13 13:20
お世話になります。

ハントさま>
ありがとうございます。
sp_trace_create、sp_trace_setstatusでProfilerの同様の動作ができるのですね。
トリガで起動する事はできるのでしょうか?
いろいろ調べているのですが、ストアドプロシ−ジャーってけっこう難しいですね。
なんとかSQL文をキャッチしたいです。
ご意見を元に、いろいろ試行錯誤中です。

リンダオさん>
ありがとうございます。
イベントログにSQLを書き込むという視点はありませんでした。
SQLserverが書き込んでくれるという感じでしょうか?
貴重なご意見をありがとうございます。いろいろ調べてみたいと思います。
1

スキルアップ/キャリアアップ(JOB@IT)