2010-09-08 80 views
3

我是SQL Server的新手,對ORACLE數據庫更熟悉。 我想知道是否有辦法像使用DBMS_SESSION.set_client_identifier一樣設置客戶端標識符上下文,並使用函數獲取該值。在SQL Server中等效的DBMS_SESSION.set_client_identifier

我試圖跟蹤數據更改,包括誰/哪些用戶名進行了更改。 我計劃創建捕捉舊值,新值和用戶名的觸發器。

與服務器的連接使用池連接,因此使用連接到數據庫的用戶名不是答案。

任何人都有想法?前

感謝, -Y

回答

2

如果您不能使用來自連接本身的屬性(因爲它彙集),你將有你調用connection.Open後設置一些附加信息()。但是如果我正確地閱讀你的問題,那對你來說沒問題。

因此,您可以使用的是SQL Server「SET CONTEXT_INFO」,它允許您在會話/連接上下文中存儲多達128個任意字節,並且可以使用「CONTEXT_INFO()」函數查詢該字節。請參閱說明>here<

+0

謝謝。我認爲這是訣竅。我打算在存儲用戶名,因爲,連接將從一個Web應用程序是未來的審計和日誌記錄。因爲它接受只是一個VARBINARY,我想我必須這樣做:聲明@Test VARBINARY(128) 集@test =轉換(VARBINARY(128), '傑里米') SET CONTEXT_INFO @test – Jeremy 2010-12-15 19:02:22

+0

是啊,這應該這樣做。 – TToni 2010-12-15 20:32:14

相關問題