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

Sp_reset_connection क्या करता है?

ओडीबीसी, ओएलई-डीबी और एसक्ल क्लाइंट जैसे डेटा एक्सेस एपीआई की परतें कनेक्शन पूल से कनेक्शन का पुन:उपयोग करते समय (आंतरिक) संग्रहीत प्रक्रिया sp_reset_connection को कॉल करती हैं। यह पुन:उपयोग होने से पहले कनेक्शन की स्थिति को रीसेट करने के लिए ऐसा करता है।

क्या चीजें रीसेट हो जाती हैं, इस पर आधिकारिक दस्तावेज प्रतीत नहीं होता है, लेकिन यहां एक अनौपचारिक सूची है।

sp_reset_connection कनेक्शन के निम्नलिखित पहलुओं को रीसेट करता है:

  • यह सभी त्रुटि स्थितियों और संख्याओं को रीसेट करता है (जैसे @@ त्रुटि)
  • यह सभी ईसी (निष्पादन संदर्भों) को रोकता है जो समानांतर क्वेरी को निष्पादित करने वाले एपेरेंट ईसी के चाइल्ड थ्रेड हैं
  • यह किसी भी बकाया I/O संचालन की प्रतीक्षा करेगा जो बकाया है
  • यह कनेक्शन द्वारा सर्वर पर किसी भी होल्ड किए गए बफर को मुक्त कर देगा
  • यह कनेक्शन द्वारा उपयोग किए जाने वाले सभी बफर संसाधनों को अनलॉक कर देगा
  • यह कनेक्शन के स्वामित्व वाली आवंटित सभी मेमोरी को रिलीज़ कर देगा
  • यह कनेक्शन द्वारा बनाए गए किसी भी कार्य या अस्थायी तालिका को साफ़ कर देगा
  • यह कनेक्शन के स्वामित्व वाले सभी वैश्विक कर्सर को मार देगा
  • यह खुले SQL-XML हैंडल को बंद कर देगा जो खुले हैं
  • यह किसी भी खुली SQL-XML संबंधित कार्य तालिका को हटा देगा
  • यह सभी सिस्टम तालिकाओं को बंद कर देगा
  • यह सभी उपयोगकर्ता तालिकाओं को बंद कर देगा
  • यह सभी अस्थायी वस्तुओं को गिरा देगा
  • यह खुले लेनदेन को रोक देगा
  • सूचीबद्ध होने पर यह एक वितरित लेनदेन से दोषपूर्ण हो जाएगा
  • यह वर्तमान डेटाबेस में उपयोगकर्ताओं के लिए संदर्भ संख्या में कमी करेगा; जो साझा डेटाबेस लॉक जारी करता है
  • यह अधिग्रहीत ताले को मुक्त कर देगा
  • यह अधिग्रहीत किए गए किसी भी हैंडल को रिलीज़ करेगा
  • यह सभी SET विकल्पों को डिफ़ॉल्ट मानों पर रीसेट कर देगा
  • यह @@rowcount मान को रीसेट कर देगा
  • यह @@पहचान मान को रीसेट कर देगा
  • यह dbcc ट्रेसन () का उपयोग करके किसी भी सत्र स्तरीय ट्रेस विकल्प को रीसेट कर देगा

sp_reset_connection रीसेट नहीं होगा:

  • सुरक्षा संदर्भ, यही कारण है कि कनेक्शन पूलिंग सटीक कनेक्शन स्ट्रिंग के आधार पर कनेक्शन से मेल खाता है
  • यदि आपने sp_setapprole का उपयोग करके कोई एप्लिकेशन भूमिका दर्ज की है, क्योंकि एप्लिकेशन भूमिकाओं को वापस नहीं किया जा सकता है
  • लेन-देन अलगाव स्तर


  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. मैं EntityFramework 7 और Asp.Net 5 का उपयोग करके SQL संग्रहीत कार्यविधि को कैसे कॉल कर सकता हूँ?

  3. SQL सर्वर 2005 में संकुल अनुक्रमणिका न होने के कारण

  4. तीन आसान SQL सर्वर प्रदर्शन जीतता है

  5. आप SQL सर्वर 2005 डेटाबेस के सभी मौजूदा कनेक्शन कैसे मारते हैं?