簡単な記録管理のために、単純な ASP.NET Details と Grid View を 2 つの別々のページに作成中です。詳細ビューはデータベースにレコードを入力するために利用され、グリッド ビューはこれらのレコードの更新に利用されます。IIS サーバーでは「Windows 認証」のみが有効になっていることに注意してください。
私が追加しようとしている機能の 1 つは、レコードがデータベースに挿入または更新されたときの監査です。SQL Server 2012 で CURRENT_TIMESTAMP コマンドを使用して、レコードが挿入または更新されるタイミングを入力しています。ただし、特定のレコードを更新または挿入した Active Directory ユーザーを書き込もうとしています。最初に SYSTEM_USER コマンドを利用しようとしましたが、データベースに書き込むのは SQL サーバー サービス アカウントまたは dbo アカウントだけであり、これは受け入れられません。SQL Server サービス アカウントが書き込まれている理由は理解していますが、現在の Active Directory ユーザーの名前を以下に示すように「ユーザー名」フィールドに書き込む必要があります。
タイムスタンプとユーザー名に現在使用しているコマンドは次のとおりです (これは、私が使用している正確な SQL コマンドではありません)。
INSERT INTO <table-name> ([timestamp], [username]...) VALUES (CURRENT_TIMESTAMP, SYSTEM_USER...)
UPDATE <table-name> SET [timestamp] = CURRENT_TIMESTAMP, [username]) = SYSTEM_USER WHERE.....
SQL Server サービス アカウントの資格情報ではなく、特定のレコードを挿入または更新するたびに、現在の Active Directory ユーザーの名前を「ユーザー名」フィールドに書き込む最良の方法は何ですか?
前もって感謝します!