我可以用SQL Server中的二进制数据类型做些什么来让我的生活更轻松?
我最近发现了这个漂亮的功能
DECLARE @p0 varbinary(128)
SET @p0 = --?
SET CONTEXT_INFO @p0
如何以合理有效的方式存储在此二进制插槽中有意义的数据?哦,然后以合理的方式访问这些数据?
SELECT ? = context_info
FROM sys.dm_exec_sessions
WHERE session_id = @@SPID
更新:正如gbn
指出的那样SELECT ? = CONTEXT_INFO()
更有用的方法是依赖CONTEXT_INFO()返回某个上下文表的行ID。说:
SELECT *
FROM ContextTable
WHERE RowID = CONTEXT_INFO()
这将允许我查询上下文信息。
答案 0 :(得分:1)
将数据传入触发器(例如,从您的网站发送到审核触发器的用户名)非常有用。
我还会使用CONTEXT_INFO()来读取数据(对于SQL Server 2005及更高版本)
一个问题:它开始为NULL但是在使用后你不能将NULL分配给它。你必须使用0x00。