ユーザー "123"がアプリケーションにログインした後、データベース内のデータに変更を加えたときに、この変更がミラーテーブルに記録され、 123 "と表示されます。SQL Server:アプリケーションユーザーに基づいてデータベースの変更をログに記録する
"挿入された"または "削除された"をミラーテーブルに保存するというアイデアがありましたが、アプリケーションは常に同じデータベースユーザーを使用しているため、アプリケーションユーザーをデータベースに接続する必要がありますどういうわけか。
私の考えは、ユーザーがアプリケーションにログインするときにアプリケーションのユーザーと一緒に@@ SPIDをテーブルに保存することでした。残念ながら、同じADOConnectionクラスを使用していても、すべてのクエリで@@ SPIDが異なる可能性があると考えました。
同じサーバー上の異なるユーザーが同じアプリケーションを起動する可能性があり、最初のユーザーが行った変更を2番目の変更から区別できる必要があるため、アプリケーション名またはホスト名を使用できませんユーザーがしました。
アプリケーションが非常に大きいので、手動で変更を記録するようにすべてのクエリを更新することは現在オプションではありません。
他にもこの問題の解決策がありますか?
https://stackoverflow.com/questions/648166/how-to-get-windows-log-in-user-name-for-a-sql-log-in-userに似ています – PacoDePaco
あなたのusrsドメインユーザーはいますか?アプリケーションからSQL Serverログインを使用してサーバーにログインするユーザーのドメインアカウントを知りたいですか? – sepupic