SQL Server中的DBMS_SESSION.set_client_identifier等效项

时间:2010-09-08 04:50:25

标签: sql-server sessionid

我是SQL Server的新手,我对ORACLE数据库更熟悉。 我想知道是否有办法通过使用DBMS_SESSION.set_client_identifier来设置客户端标识符上下文,并使用函数获取值。

我正在尝试跟踪数据更改,包括用户/哪个用户名进行了更改。 我计划创建捕获OLD值,NEW值和用户名的触发器。

与服务器的连接使用池连接,因此使用连接到数据库的用户名不是答案。

有人有想法吗?

先谢谢, -Y

1 个答案:

答案 0 :(得分:2)

如果你不能使用连接本身的属性(因为它是池化的),你必须在调用connection.Open()之后设置一些额外的信息。但如果我正确地阅读了你的问题,那对你来说没问题。

所以你可以使用SQL Servers“SET CONTEXT_INFO”,它允许你在会话/连接上下文中存储多达128个任意字节,然后你可以使用“CONTEXT_INFO()”函数进行查询。请参阅说明>here<