2012-01-19 12 views
11

Io uso CONTEXT_INFO saltare trigger come ad esempio:Come si imposta CONTEXT_INFO = NULL?

IF CONTEXT_INFO() = 0x676E6F7468692073656175746F6E RETURN 

e nel mio PROC:

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

Come si fa a impostare di nuovo a NULL se è necessario? SET CONTEXT_INFO = NULL fa non lavoro. Mi manca qualcosa di ovvio?

risposta

19

Basta usare

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

Non imposta per NULL. Se si guarda alla

select context_info 
from sys.sysprocesses 

Vedrete che non è NULL per una qualsiasi delle connessioni.

+1

Ma prima che sia definito è nullo: select context_info() – SQLMason

+0

+1 per il suggerimento di sys.sysprocesses – SQLMason

+2

@DanAndrews - Se è azzerato 'select context_info()' restituisce 'NULL'. Ad esempio: SET CONTEXT_INFO 0x; select context_info() ' –

Problemi correlati