當用戶「123」登錄到應用程序並對數據庫中的數據執行更改時,我希望完成此更改將記錄到具有「 123「在額外的列。SQL Server:根據應用程序用戶記錄數據庫更改
想法是編寫一個觸發器,在鏡像表中保存「插入」或「刪除」,但問題是應用程序總是使用相同的數據庫用戶,所以我需要將應用程序用戶與數據庫連接不知何故。
所以我的想法是當用戶登錄到應用程序時,將應用程序用戶的@@ SPID保存到表中。不幸的是,我發現@@ SPID對於每個查詢都是不同的,即使我使用相同的ADOConnection類。
我也無法使用應用程序名稱或主機名稱,因爲它可能是同一服務器上的不同用戶啓動相同的應用程序,我需要能夠區分第一個用戶所做的更改與第二個更改用戶確實。
該應用程序非常大,因此更新每個查詢以手動記錄更改現在不是一個選項。
這個問題還有其他解決方案嗎?
類似於https://stackoverflow.com/questions/648166/how-to-get-windows-log-in-user-name-for-a-sql-log-in-user – PacoDePaco
是你的usrs域用戶?您是否想知道使用SQL Server登錄(通過您的應用程序)登錄到服務器的用戶的域帳戶? – sepupic