トップ回答者
SQL Server ユーザ単位のログ取得方法

質問
-
SQL Server において ユーザ単位での操作レベルのログを参照したく、いろいろ調査をしているのですが、どのような操作をすればよいのかわかりません。
具体的に見たいログは…どのユーザが、いつ、どのデータの項目を、どういった操作を行った…というイメージです。
このようなログを参照することはできるのでしょうか?
管理しているサーバの DBMS が SQL Server 2000 ~ 2008 ですので、「SQL Server 2000」「SQL Server 2005」「SQL Server 2008」についての参照方法がわかれば大変ありがたいです。
(もし古いバージョンについて、不明な場合は「SQL Server 2008」だけでも教えていただけると助かります)
参考に対象サーバの各OSとDBMSを記載します。
サーバ①:Windows Server 2000 / SQL Server 2000
サーバ②:Windows Server 2003 R2 / SQL Server 2005 Standard Edition
サーバ③:Windows Server 2008 R2 / SQL Server 2008 R2 Standard Edition
もしわかるかたがいらっしゃったら、ぜひご教授いただきたく、よろしくお願いいたします。
回答
-
>> 具体的に見たいログは…どのユーザが、いつ、どのデータの項目を、どういった操作を行った…というイメージです。
いわゆる操作ログですね。SQL Serverの場合(他もそうだと思うのですが)、ロギングを構成しない限りこういった詳細なログは保存されません。
で、具体的な方法ですが、SQL Server 2008以降の場合、「SQL Server Audit」という機能で賄うことができます。
下記リンク先に詳しい情報が載せられていましたのでご参照下さい。http://d.hatena.ne.jp/matu_tak/20100212/1265915736
なお、それ以前の場合、Keiichi Oumiさんもおっしゃっているようにトリガを使うか、外部ツールを導入する必要があると思います。
-
こんにちは。
皆様いろいろご意見ありがとうございました。
結局、以下の理由のため、外部ツールを利用する事にしました。
・「SQL Server Audit」は SQL Server 2008 R2 Enterprise Editionしか使えない。
→ Enterprise Editionを購入する機会がない。
・「SQL Server Audit」の利用方法が難しく、操作に時間がかかる。
→ そこまで時間をかけられない。
・検討した外部ツールの機能が理想的であったため。
→SQL Server 2000 ~ 2008に対応している
→http://www.vivouac.co.jp/sarasa/index.html- 回答としてマーク Mariko1099 2012年9月12日 8:08
すべての返信
-
>> 具体的に見たいログは…どのユーザが、いつ、どのデータの項目を、どういった操作を行った…というイメージです。
いわゆる操作ログですね。SQL Serverの場合(他もそうだと思うのですが)、ロギングを構成しない限りこういった詳細なログは保存されません。
で、具体的な方法ですが、SQL Server 2008以降の場合、「SQL Server Audit」という機能で賄うことができます。
下記リンク先に詳しい情報が載せられていましたのでご参照下さい。http://d.hatena.ne.jp/matu_tak/20100212/1265915736
なお、それ以前の場合、Keiichi Oumiさんもおっしゃっているようにトリガを使うか、外部ツールを導入する必要があると思います。
-
こんにちは。
皆様いろいろご意見ありがとうございました。
結局、以下の理由のため、外部ツールを利用する事にしました。
・「SQL Server Audit」は SQL Server 2008 R2 Enterprise Editionしか使えない。
→ Enterprise Editionを購入する機会がない。
・「SQL Server Audit」の利用方法が難しく、操作に時間がかかる。
→ そこまで時間をかけられない。
・検討した外部ツールの機能が理想的であったため。
→SQL Server 2000 ~ 2008に対応している
→http://www.vivouac.co.jp/sarasa/index.html- 回答としてマーク Mariko1099 2012年9月12日 8:08