Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर में CONTEXT_INFO का दायरा क्या है?

संदर्भ जानकारी का कोई दायरा नहीं है (भाषा चर दायरे के अर्थ में) और सत्र के जीवनकाल के लिए बाध्य है। एक बार सेट हो जाने पर, संदर्भ जानकारी कनेक्शन बंद होने तक (सत्र समाप्त होने तक) या एक नया मान सेट होने तक मान सेट पर रहती है। चूंकि सत्र पर निष्पादन हमेशा होता है अनुक्रमिक, संगामिति का कोई सवाल ही नहीं है।

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. टी-एसक्यूएल का उपयोग करके SQL सर्वर में उपयोगकर्ता-परिभाषित डेटा प्रकार उपनाम कैसे बनाएं?

  2. एक ही कुंजी वाला एक आइटम पहले ही जोड़ा जा चुका है डेटासेट सेट करने का प्रयास करते समय SSRS पर त्रुटि

  3. एसक्यूएल सर्वर ऑलवेजऑन (उपलब्धता समूह) आर्किटेक्चर और स्टेप बाय स्टेप इंस्टालेशन -1

  4. Red Hat पर sqlcmd और bcp कैसे स्थापित करें?

  5. SQL सर्वर (T-SQL) में डेटाबेस मेल के लिए कॉन्फ़िगरेशन सेटिंग्स कैसे बदलें