特定のms SQL 2005テーブル(asp.net Webアプリケーション、C#Windowsサービス、電子メールパーサーをデータベース自動化ツールsql + VB)を使用します)、監査情報をテーブルに格納します。例えば。 ModifiedBy、ModifiedDateここでModifiedBy =レコードを更新するアプリケーションの名前。複数のアプリケーションで共有されるSQLデータベースに監査情報とアーカイブ情報を生成する最も簡単な方法
また、テーブルに情報をアーカイブしたいと思います。特定のレコードを更新する場合は、現在のレコードをmyTable_Archiveテーブルに格納し、日付をスタンプして、それに応じてmyTableの現在のレコードを更新します。
これを解決するには、既存アプリケーションの影響を最小限に抑えつつ、維持管理が容易でテスト可能なアプローチは何ですか?あるいは誰かがより良いルートを提案することができますか?ストアプロシージャ、C#共有ライブラリ(nhibernate/ado.netなどを使用)、またはms sql 2005ビルトインフィーチャ(たとえば、あれば)を呼び出します。
経由の名前を取得することができます。呼び出し元のアプリケーションまたはプロセスを決定するトリガーには、ModifiedBy(アプリケーション名)フィールドでそのメソッドを使用できる方法がありますか? –
@ルーク・ハットン - 接続文字列にこの情報が含まれている限り、システムテーブルからそれを取得できるはずです。 @Conrad Frix – Oded
からの回答を参照してください、このルートを下ります、トリガーの周りにいくつかのテストを作成します。 –