你如何设置CONTEXT_INFO = NULL?

SQL*_*son 12 t-sql sql-server-2005

我用它CONTEXT_INFO来跳过触发器:

IF CONTEXT_INFO() = 0x676E6F7468692073656175746F6E RETURN
Run Code Online (Sandbox Code Playgroud)

在我的PROC中:

IF CONTEXT_INFO() IS NOT NULL SET @CONTEXT_INFO = CONTEXT_INFO() -- to restore later
SET CONTEXT_INFO 0x676E6F7468692073656175746F6E
Run Code Online (Sandbox Code Playgroud)

如果需要,如何将其设置为NULL? SET CONTEXT_INFO = NULL没有工作.我错过了一些明显的东西吗

Mar*_*ith 21

只是用

SET CONTEXT_INFO 0x /*Gets padded with zeros when cast to binary(128)*/
Run Code Online (Sandbox Code Playgroud)

您没有将其设置为NULL.如果你看看

select context_info
from sys.sysprocesses
Run Code Online (Sandbox Code Playgroud)

您将看到它不适NULL用于任何连接.

  • @DanAndrews - 如果它被清零,则select select_info()`返回`NULL`.即`SET CONTEXT_INFO 0x;选择context_info()` (4认同)