संदर्भ जानकारी का कोई दायरा नहीं है (भाषा चर दायरे के अर्थ में) और सत्र के जीवनकाल के लिए बाध्य है। एक बार सेट हो जाने पर, संदर्भ जानकारी कनेक्शन बंद होने तक (सत्र समाप्त होने तक) या एक नया मान सेट होने तक मान सेट पर रहती है। चूंकि सत्र पर निष्पादन हमेशा होता है अनुक्रमिक, संगामिति का कोई सवाल ही नहीं है।
यदि आप किसी प्रक्रिया में संदर्भ जानकारी सेट करते हैं, तो उस सत्र में बाद में निष्पादित कोई भी ट्रिगर नया सेट संदर्भ जानकारी मान देखेगा। संदर्भ जानकारी में उपयोगकर्ता आईडी मान सेट करना, जैसा कि आप प्रस्तावित करते हैं, और इसे ट्रिगर्स में उपयोग करना संदर्भ जानकारी उपयोग का सामान्य उदाहरण है और समेकन के संबंध में पूरी तरह से सुरक्षित है, क्योंकि मूल रूप से बोलने के लिए कोई सहमति नहीं है। यदि आप संदर्भ जानकारी को एक संग्रहीत प्रक्रिया में सेट करने की योजना बनाते हैं और फिर उस ट्रिगर में उस पर भरोसा करते हैं जो उक्त प्रक्रिया में होने वाले विलोपन के कारण चलता है, तो आपका बैच अभी तक समाप्त नहीं हुआ है, आपके द्वारा लिंक किए गए लेख के अनुसार, आप पुनः प्राप्त करते हैं sys.dm_exec_requests
. से संदर्भ जानकारी DMV या CONTEXT_INFO()
. से समारोह। इसे अभी तक sys.dm_exec_sessions
. में पुश नहीं किया जाएगा , यह तभी हो सकता है जब आप संग्रहीत कार्यविधि से बाहर निकलें और सर्वर को भेजे गए T-SQL बैच में कोई अन्य कॉल समाप्त करें ('अनुरोध')।