Sql server SQL Server中的DBMS_SESSION.set_client_标识符等效项
我想知道是否有一种方法可以像在Oracle中一样使用Sql server SQL Server中的DBMS_SESSION.set_client_标识符等效项,sql-server,sessionid,Sql Server,Sessionid,我想知道是否有一种方法可以像在Oracle中一样使用DBMS\u会话来设置客户端标识符上下文。设置客户端标识符并使用函数获取值 我正在尝试跟踪数据更改,包括谁/哪个用户名进行了更改。 我计划创建捕获旧值、新值和用户名的触发器 到服务器的连接使用池连接,因此使用连接到DB的用户名不是答案 有人有主意吗?如果无法使用连接本身的属性(因为它是池连接),则在调用connection.Open()后,必须设置一些附加信息。但如果我没看错你的问题,那对你来说没关系 因此,您可以使用SQL ServerSET
DBMS\u会话来设置客户端标识符上下文。设置客户端标识符
并使用函数获取值
我正在尝试跟踪数据更改,包括谁/哪个用户名进行了更改。
我计划创建捕获旧值、新值和用户名的触发器
到服务器的连接使用池连接,因此使用连接到DB的用户名不是答案
有人有主意吗?如果无法使用连接本身的属性(因为它是池连接),则在调用
connection.Open()
后,必须设置一些附加信息。但如果我没看错你的问题,那对你来说没关系
因此,您可以使用SQL Server
SET CONTEXT\u INFO
,它允许您在会话/连接上下文中存储多达128个任意字节,然后您可以使用CONTEXT\u INFO()
函数进行查询。请参见此处的描述>谢谢。我想这就是关键。我计划存储一个用户名,因为连接将来自一个web应用程序,用于审计和记录目的。由于它只接受一个varbinary,我想我必须这样做:声明@test varbinary(128)set@test=convert(varbinary(128),'Jeremy')set CONTEXT_INFO@test