2012-01-19 3 views
11

Я использую CONTEXT_INFO пропустить спусковые как таковой:Как вы устанавливаете CONTEXT_INFO = NULL?

IF CONTEXT_INFO() = 0x676E6F7468692073656175746F6E RETURN 

и в моем PROC:

IF CONTEXT_INFO() IS NOT NULL SET @CONTEXT_INFO = CONTEXT_INFO() -- to restore later 
SET CONTEXT_INFO 0x676E6F7468692073656175746F6E 

Как установить его обратно в NULL, если вам нужно? SET CONTEXT_INFO = NULL. нет работа. Мне что-то не хватает?

ответ

19

Просто используйте

SET CONTEXT_INFO 0x /*Gets padded with zeros when cast to binary(128)*/ 

Вы не установите его в NULL. Если вы посмотрите на

select context_info 
from sys.sysprocesses 

Вы увидите, что это не NULL для любого из соединений.

+1

Но до того, как оно определено, оно равно null: выберите context_info() – SQLMason

+0

+1 для предложения sys.sysprocesses – SQLMason

+2

@DanAndrews - Если он обнулен, 'select context_info()' возвращает 'NULL'. т. е. 'SET CONTEXT_INFO 0x; select context_info()' –

Смежные вопросы