0
我從我的客戶那裏獲得了他現有SQL Server數據庫的任務。如何獲取執行交易的網絡用戶
他們有一個擁有所有管理權限的用戶的數據庫。他們管理應用程序級別的可訪問權限。
該任務是創建一個審計表,來審計誰從數據庫表中刪除了INSERT,UPDATE,& DELETE。
這個表的結構是簡單的: 表名 操作{INSERT,UPDATE,或DELETE} 時間戳,用戶名
審計日誌被請求通過觸發器是在服務器端。
所以這是一個簡單的任務:添加觸發到每個表&每個事件。在觸發器內部,向審計表插入一個新行,其值爲(TableName,Operation,TimeStamp,& UserName)。
問題是所有用戶的用戶名(SQL:SYSTEM_USER)始終相同,因爲它們全都使用同一個管理員帳戶連接。
無論如何,在SQL服務器中,獲取正在進行交易的網絡用戶名?