我在SQL表上有一個觸發器設置用於審計跟蹤目的。 這裏是觸發代碼。SQL查詢獲取使用ASP.NET觸發器中的服務器名稱
ALTER TRIGGER [dbo].[tri_bowzer_UPDATE] ON [dbo].[Bowzer]
For Update
AS
INSERT Table_Audit(TableName, Action, UserName, ComputerName)
SELECT
'bowzer', 'U', suser_sname(), host_name()
它工作正常,並在桌面應用程序中顯示用戶名和計算機(客戶端)名稱。但在ASP.NET應用程序中,我使用通用SQL登錄名,以便可以使用此登錄名執行數據庫操作。據我所知,由於這個ID,SQL Server正在獲取服務器機器名稱。但是,我希望在執行數據庫操作時捕獲客戶機名稱。
獲取客戶機名稱可以進行哪些更改?
需要注意的是,在任何合理繁忙的網站上,這將爆炸正在使用的連接數,因爲每個用戶的連接字符串是不同的,因此它們最終位於單獨的連接池中。 – 2013-02-18 07:41:33
我該寫remote_addr嗎?或將其更改爲服務器名稱? – 2013-02-18 07:42:26
我的連接字符串是在web.config中定義的,如下所示: –
2013-02-18 07:44:16