1

ユーザーが ASP.NET アプリケーションからデータを挿入または更新するときにログを記録するためのベスト プラクティスは何だろうと思っています。

私のアプリケーションでは、どのユーザーが変更を行ったかを知る必要があります。オプションが必要だと思います:

  • ASP.NET ユーザーを SQL Server に登録して、必要なテーブルに対する権限を追加し、ユーザーごとに個別の接続文字列を保存します。したがって、データベースに接続するときに、現在ログインしているユーザーの接続文字列を使用して、SELECT および UPDATE の T-SQL トリガーを作成できます。

  • 私が考えたもう 1 つのオプションは、ASP.NET ユーザー名を入力パラメーターとして取得し、ログを作成するストアド プロシージャを作成することです (アプリケーションで接続文字列を 1 つだけ使用します)。アプリケーションからデータベースを変更した後、現在ログインしているユーザーのユーザー名を指定してこのプロシージャを呼び出します。

2 番目のオプションの方が簡単に思えますが、そのためには最初のオプションを選択する必要があると思います。

4

1 に答える 1

1

2番目のオプションに進みます。データベース内のユーザーを管理すると、頭痛の種が増えます。データベースサーバーを移動する必要がある場合はどうなりますか?すべてのユーザーのすべての接続文字列を更新する必要があります。追加の管理オーバーヘッドが発生するだけです。

さらに、データベース内のすべての変更をログに記録する必要がある場合は、データベースに加えられたすべての変更を時間の経過とともに保存するために過去に使用したものを思いつきました。見てください、それは役に立つかもしれません。

http://richhooper.wordpress.com/2012/06/11/sql-server-row-level-versioning/

于 2013-01-04T13:42:02.143 に答える