Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server中的DBMS_SESSION.set_client_标识符等效项_Sql Server_Sessionid - Fatal编程技术网

Sql server SQL Server中的DBMS_SESSION.set_client_标识符等效项

Sql server SQL Server中的DBMS_SESSION.set_client_标识符等效项,sql-server,sessionid,Sql Server,Sessionid,我想知道是否有一种方法可以像在Oracle中一样使用DBMS\u会话来设置客户端标识符上下文。设置客户端标识符并使用函数获取值 我正在尝试跟踪数据更改,包括谁/哪个用户名进行了更改。 我计划创建捕获旧值、新值和用户名的触发器 到服务器的连接使用池连接,因此使用连接到DB的用户名不是答案 有人有主意吗?如果无法使用连接本身的属性(因为它是池连接),则在调用connection.Open()后,必须设置一些附加信息。但如果我没看错你的问题,那对你来说没关系 因此,您可以使用SQL ServerSET

我想知道是否有一种方法可以像在Oracle中一样使用
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