2012-01-19 16 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 

कैसे आप शून्य करने के लिए वापस सेट है, तो आप करने के लिए आवश्यक? 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

लेकिन इससे पहले कि यह परिभाषित किया गया है कि यह शून्य है: sys.sysprocesses – SQLMason

+0

+1 का चयन करें - यदि यह शून्य_ आउट हो गया है तो 'context_info() 'रिटर्न' NULL' चुनें। यानी 'SET CONTEXT_INFO 0x; context_info() ' – SQLMason

+2

@DanAndrews का सुझाव देने के लिए context_info() –

संबंधित मुद्दे