どのアプリケーションまたはSPが設定テーブルの値を変更しているかを知るにはどうすればよいですか?私は責任があるアプリを隔離していると思ったが、これらの特定の値は、それらを偽に変更したままにしておけば、真に戻ります。変更内容を確認するデータベース列を参照
1
A
答えて
5
まず、ロギング表を作成します。
CREATE TABLE modlog(
datestamp smalldatetime,
username varchar(255) NOT NULL DEFAULT SYSTEM_USER
);
その後、あなたのテーブルの上にUPDATEトリガーを作成します。
CREATE TRIGGER mytable_mods ON mytable FOR UPDATE AS
INSERT INTO modlog(smalldatetime) VALUES (GETDATE());
だけで、テーブルを更新しているユーザーを把握するmodlogテーブル覗いといつ。あなたは気が利いて、特定のフィールドを更新してログに記録することもできます。
もう1つの方法は、SQL Server Profilerでトレースを設定し、そのテーブルの更新情報のみをフィルタリングし、何かが発生するまで開いたままにしておきます。
もしあなたのアプリケーションは、あなたがAPP_NAMEを()を使用することができ、その接続文字列にのApplicationNameパラメータを含め代わりに余分な探偵の仕事を削除、アプリケーション名を記録しますSYSTEM_USER、の。ユーザーを知ることはまだ有用かもしれないので、更新プログラムを起動するために何をしているのか把握することができます。
1
更新プログラムをロールバックするためのトリガーを作成します。アプリのエラーが出るのを待ちます。それはちょうど簡単なティーザーとしてSQL Serverで2005
それを行うための方法です - これまでの回答をその場で絶対にある
CREATE TRIGGER BugOffRogueProgram
ON MyConfigTable
FOR UPDATE
AS
BEGIN
ROLLBACK TRAN
END
0
:それは非常にシンプルなトリガすることができ:SQL Server 2008には、Change Data Captureという新しい機能があり、トリガーを作成してテーブルを自分で更新する必要はなく、そのままの状態でこの正確なシナリオをサポートします。かなり便利です!
マーク
関連する問題
- 1. 即時にオブジェクトの参照内容を変更する
- 2. 列の内容を変更
- 3. SQL Server CEデータベースの内容を確認する方法
- 4. メソッド内の参照型(文字列)を変更する
- 5. 更新リンク/参照フィールドを含む内容のあるエントリ
- 6. テキストボックスの内容を確認する
- 7. txtファイルの内容を確認する
- 8. NSMutableArrayの内容を確認する
- 9. 参照内のファイルを変更(置換)
- 10. JavaScriptで文字列の内容を確認する
- 11. 「同期」ロックの変更可能な参照を再確認しますか?
- 12. バッチファイル内の変数としてのワイルドカードの内容の参照
- 13. Java - 参照変数を変更する
- 14. ローカルファイルとS3の内容を確認して変更したファイルをアップロード
- 15. 変更セット内のOData参照要求
- 16. データベースの内容をモデルに変更する
- 17. 変更内容
- 18. 変更内容
- 19. Androidの内部クラス - 親への参照を変更する
- 20. C言語のchar配列の内容を確認
- 21. Javascriptオブジェクト内の内容を確認するには
- 22. xmlHttpRequest mysqlデータベースの変更を確認する
- 23. データベースの変更を確認する(バージョン管理)
- 24. Androidサービスmysql - データベース変更を確認する
- 25. データベースを複数の参照データベースの問題で更新する
- 26. Twigファイルで段落の内容を参照する
- 27. DLLファイルの内容を参照する方法
- 28. Pythonでの参照の確認
- 29. 変換内で新しい列を参照する
- 30. Googleシートのステータス列を変更する方法参照番号
ユーザー名を識別しますか? –
@richard、ユーザー名と特定のアプリケーションとを関連付けることができれば、これはうまくいくはずです。 –
はい、更新を実行しているSQL Serverセッションに関連付けられているユーザー名が識別されます。ユーザーと時間を知っていれば、どのアプリが責任を持っているか把握できます。 – richardtallent