कनेक्शन्स निकालना
कनेक्शन पूलर लंबे समय तक निष्क्रिय रहने के बाद पूल से कनेक्शन निकालता है, या यदि पूलर यह पता लगाता है कि सर्वर के साथ कनेक्शन विच्छेद हो गया है।
ध्यान दें कि सर्वर से संवाद करने के प्रयास के बाद ही एक अलग कनेक्शन का पता लगाया जा सकता है। यदि एक कनेक्शन पाया जाता है जो अब सर्वर से जुड़ा नहीं है, तो इसे अमान्य के रूप में चिह्नित किया गया है।
अवैध कनेक्शन को कनेक्शन पूल से तभी हटाया जाता है जब वे बंद या पुनः प्राप्त होते हैं।
यदि कोई कनेक्शन गायब हो चुके सर्वर से मौजूद है, तो यह कनेक्शन पूल से भी खींचा जा सकता है, भले ही कनेक्शन पूलर ने विच्छेदित कनेक्शन का पता नहीं लगाया हो और उसे अमान्य के रूप में चिह्नित किया हो।
यह मामला है क्योंकि जाँच के ओवरहेड कि कनेक्शन अभी भी मान्य है सर्वर के लिए एक और दौर यात्रा के कारण पूलर होने के लाभों को समाप्त कर देगा।
जब ऐसा होता है, तो कनेक्शन का उपयोग करने का पहला प्रयास यह पता लगाएगा कि कनेक्शन विच्छेद हो गया है, और एक अपवाद फेंक दिया गया है।
मूल रूप से आप जो देख रहे हैं, वह अंतिम वाक्य में अपवाद है।
कनेक्शन पूल से एक कनेक्शन लिया जाता है, एप्लिकेशन को पता नहीं है कि भौतिक कनेक्शन चला गया है, इसका उपयोग करने का प्रयास इस धारणा के तहत किया जाता है कि भौतिक कनेक्शन अभी भी है।
और आपको अपना अपवाद मिलता है।
इसके कुछ सामान्य कारण हैं।
- सर्वर को फिर से शुरू किया गया है, इससे मौजूदा कनेक्शन बंद हो जाएंगे।
इस स्थिति में, SQL सर्वर लॉग पर एक नज़र डालें, जो आमतौर पर पाया जाता है: C: \ Program Files \ Microsoft SQL Server \\ MSSQL \ Log
यदि स्टार्टअप के लिए टाइमस्टैम्प बहुत हाल ही में है, तो हम संदेह कर सकते हैं कि यह क्या त्रुटि का कारण है। अपवाद के समय के साथ इस टाइमस्टैम्प को सहसंबद्ध करने का प्रयास करें।
2009-04-16 11: 32: 15.62 सर्वर 'फ़ाइल: C: \ Program Files \ Microsoft SQL Server \ MSSQL.1 \ MSSQL \ Log \ ERRORLOG' में SQL सर्वर संदेश लॉग करना।
- किसी ने या किसी ने उस SPID को मार दिया है जिसका इस्तेमाल किया जा रहा है।
फिर से, SQL सर्वर लॉग में एक नज़र डालें। यदि आप एक हत्या पाते हैं, तो अपवाद के समय के साथ इस टाइमस्टैम्प को सहसंबंधित करने का प्रयास करें।
2009-04-16 11: 34: 09.57 spidXX प्रोसेस आईडी XX को होस्टनाम xxxxx, होस्ट प्रोसेस आईडी XXXX द्वारा मार दिया गया था।
- एक फ़ेलओवर है (उदाहरण के लिए एक दर्पण सेटअप में) फिर से, SQL सर्वर लॉग में एक नज़र डालें।
यदि कोई विफलता है, तो अपवाद के समय के साथ इस टाइमस्टैम्प को सहसंबंधित करने का प्रयास करें।
2009-04-16 11: 35: 12.93 spidXX मिरर डेटाबेस "" फेलओवर के कारण "PRINCIPAL" से "MIRROR" में भूमिकाएं बदल रहा है।