कनेक्शन पूल को त्रुटि के साथ रीसेट किया जा रहा है: 18056, गंभीरता: 20, राज्य: 46. और पल्मोन काउंटर नहीं दिखा रहा है


21

हम SQL Server एंटरप्राइज़ संस्करण 2012 SP1 को Windows 2008 R2 एंटरप्राइज़ सर्वर पर कनेक्ट करने के लिए SQL प्रमाणीकरण (कनेक्शन पूल की संख्या को कम करने के लिए) और .NET 4.0 कनेक्शन स्ट्रिंग्स का उपयोग कर रहे हैं:

Microsoft SQL Server 2012 (SP1) - 11.0.3000.0 (X64)
अक्टूबर 19 2012 13:38:57
कॉपीराइट (c) Microsoft
NT एंटरप्राइज़ संस्करण (64-बिट) Windows NT 6.1 पर (बिल्ड 7601: सर्विस पैक 1)

हम एक वेबसाइट के 8 अलग-अलग समूहों में विभाजित लगभग 50 सर्वरों का उपयोग करते हैं।

हमारी वेबसाइट इस एसक्यूएल सर्वर का उपयोग यात्रा ट्रैकिंग डेटा लॉग करने के लिए कर रही है। पिछले कुछ दिनों में इसने कनेक्शन पूल को रीसेट करने के बारे में निम्नलिखित संदेश दिए हैं:

क्लाइंट SPID 1327 के साथ एक सत्र का पुन: उपयोग करने में असमर्थ था, जिसे कनेक्शन पूलिंग के लिए रीसेट किया गया था। विफलता ID 46 है। यह त्रुटि पहले के ऑपरेशन विफल होने के कारण हो सकती है। इस त्रुटि संदेश से ठीक पहले विफल संचालन के लिए त्रुटि लॉग की जाँच करें।

त्रुटि लॉग पढ़ता है:

त्रुटि: 18056, गंभीरता: 20, राज्य: 46.
क्लाइंट SPID 959 के साथ एक सत्र का पुन: उपयोग करने में असमर्थ था, जिसे कनेक्शन पूलिंग के लिए रीसेट किया गया था। विफलता ID 46 है। यह त्रुटि पहले के ऑपरेशन विफल होने के कारण हो सकती है। इस त्रुटि संदेश से ठीक पहले विफल संचालन के लिए त्रुटि लॉग की जाँच करें।
उपयोगकर्ता 'xxxx' के लिए लॉगिन विफल हुआ। कारण: कनेक्शन पर लॉगिन को पुन: अमान्य करते हुए लॉगिन ऑब्जेक्ट में कॉन्फ़िगर किए गए डेटाबेस 'xxxxxxxx' को खोलने में विफल। [CLIENT: 10.xx.xx.xxx]

कुछ खुदाई के बाद, मैंने सीएसएस ब्लॉग पर यह दस्तावेज़ पाया: यह कैसे काम करता है: त्रुटि 18056 - क्लाइंट SPID ## के साथ एक सत्र का पुन: उपयोग करने में असमर्थ था, जो कनेक्शन पूलिंग के लिए रीसेट किया गया था और आरोन बर्ट्रेंड द्वारा यह एक: समस्या निवारण त्रुटि 18456 । मुझे पता है कि त्रुटि संख्या अलग है, लेकिन विफलता आईडी समान है जिसमें कई संदेश समान हैं)।

Failure ID 46 से पता चलता है कि लॉगिन के पास अनुमतियां नहीं थीं। हमारे लॉगिन मास्टर डेटाबेस के लिए डिफ़ॉल्ट है और db नाम कनेक्शन स्ट्रिंग में विशिष्ट है।

मैं कनेक्शन स्ट्रिंग्स पूल इत्यादि की संख्या की जांच करना चाहता था, और के लिए पर्फोन में सभी काउंटरों की जांच की .Net Data Provider for SqlServer। इसने मुझे केवल defaultdomain9675उदाहरण के लिए विकल्प दिया , इसलिए मैंने चुना कि यह एक प्रणाली है जो हमारे Datacentre नेटवर्क के लिए आईडी नाम जनरेट करता है। दुर्भाग्य से सभी काउंटर शून्य पढ़ रहे हैं। हमारे अन्य मुख्य सर्वरों में से एक पर कनेक्शन पूल 10 के आसपास मँडरा रहे हैं, जो कि मुझे उस तरह के लोड के साथ एक स्वस्थ सर्वर पर देखने की उम्मीद है।

मेरा प्रश्न 3 गुना है

  1. क्या कोई सुझाव दे सकता है कि Windows 2008 R2 सर्वर क्यों नहीं दिखा रहा है .Net Data Provider for SqlServer?

  2. क्या किसी ने इसका अनुभव किया है क्योंकि मुझे स्पष्ट रूप से विश्वास है कि लॉगिन की अनुमति नहीं है एक लाल हेरिंग है?

  3. यदि वेब सर्वर के विभिन्न समूहों में एक ही कनेक्शन स्ट्रिंग सिंटैक्स होता है, लेकिन थोड़े अलग व्हाट्सएप के साथ, तो क्या यह सर्वर किसी अन्य कनेक्शन पूल का उपयोग करेगा?

न्यूनतम और अधिकतम मेमोरी सेटिंग्स क्रमशः 20GB और 58GB हैं। सर्वर 64GB रैम के साथ एक समर्पित डेटाबेस सर्वर है। मुझे नहीं लगता कि स्मृति मुद्दा है क्योंकि बॉक्स में एक अच्छा पृष्ठ दोषपूर्ण प्रत्याशा है। ऑटो बंद सक्षम नहीं है। सर्वर हमेशा ऊपर होता है: यह एक 24x7 वेबसाइट है जिसमें भारी उपयोग होता है।


3
हमारे सर्वरों पर यह एक ही मुद्दा है (.NET एप्लीकेशन / विंडोज 2008 आर 2 / एसक्यूएल सर्वर 2008 आर 2 / एसक्यूएल लॉगिन) रुक-रुक कर; मैं कभी यह ट्रैक नहीं कर पाया कि ऐसा क्यों होता है ... मूल रूप से हमने इस बिंदु पर प्रयास करना छोड़ दिया है। हमने 4.0 से अपग्रेड होने से पहले .NET 3.5 पर भी यह मुद्दा रखा था। अगर किसी ने इसका हल निकाला है तो मुझे अच्छा लगेगा!
जॉन सेगेल

1
@jonSeigel हाय जॉन, मैं यह निर्धारित करने में कामयाब रहा हूं कि प्रश्न में सर्वर वास्तव में विस्तारित घटनाओं पर निम्नलिखित दस्तावेज़ का उपयोग करते हुए समुद्र के किनारे पूलिंग का उपयोग कर रहा है। sqlserverpedia.com/blog/sql-server-bloggers/… वर्तमान में मुझे कनेक्शन पूल की संख्या के लिए कुल जानकारी देने के लिए आवश्यक जानकारी प्राप्त करने के लिए Xevents को अनुकूलित करने की कोशिश कर रहा है
DamagedGoods

मिररिंग का उपयोग कर सर्वर प्रश्न में है? मैंने प्राथमिक मशीन पर यह त्रुटि संदेश देखा है जब डेटाबेस द्वितीयक में विफल हो रहे हैं।
मैक्स वर्नोन

जवाबों:


5

1 - निश्चित रूप से नहीं कह सकता, मुझे खुद को खोदने के लिए एक सर्वर ढूंढना होगा।

2 - हाँ, मैं इसे समय-समय पर अपने वातावरण में देखता हूं, हालांकि हम अभी तक sql 2012 में नहीं हैं, फिर भी हम इसे जिन प्रणालियों से देखते हैं। आप http://blogs.msdn.com/b/psssql/archive/2013/02/13/breaking-down-18065.aspx भी जांचना चाह सकते हैं हालाँकि स्टेट 46 एक विशिष्ट डेटाबेस = xxx में होने से संबंधित प्रतीत होता है कनेक्शन स्ट्रिंग, क्या वह db अभी भी मौजूद है?

जिस तरह से मेरा नेटवर्क स्थापित किया गया है, मुझे संदेह है कि यह 5 मिनट बेकार होने के बाद tcp सत्र के नेटवर्क का स्वचालित समापन है, यह मुद्दा है - न तो db और न ही क्लाइंट सत्र बंद कर रहा है, इसलिए कनेक्शन पूल अभी भी सोचता है कि कनेक्शन खुला है और उपयोग करने का प्रयास करता है केवल यह खोजने के लिए कि यह वास्तव में अब नहीं खुला है। आपने उल्लेख नहीं किया है कि आपके वेब सर्वर और db के बीच का नेटवर्क कैसे कॉन्फ़िगर किया गया है, हो सकता है कि आपका मामला समान हो।

एक और संभावना पुरानी हो सकती है (पुरानी, ​​निश्चित नहीं है कि क्या कभी वास्तव में हल हो गई है, देखें http://support.microsoft.com/kb/942861 ) टीसीपी चिमनी ऑफ़लोड सेटिंग्स के बारे में समस्या।

3 - मेरी समझ से पूलिंग के लिए सटीक स्ट्रिंग मैचों की आवश्यकता होती है, इसलिए व्हॉट्सएप और मापदंडों के अलग-अलग क्रम अलग पूल का कारण बनेंगे। (अगर मैं उस पर गलत हूं, तो कृपया मुझे बताएं।)


4

सामुदायिक विकी का उत्तर मूल रूप से प्रश्न लेखक द्वारा टिप्पणी के रूप में छोड़ा गया

मेरे मामले में यह एक भगोड़ा लॉगिंग टेबल निकला कि किसी ने किसी समस्या के निवारण के लिए क्रिया में स्विच किया था, लेकिन स्विच करना भूल गया। यह एक सेकंड में 1000 रिकॉर्ड तक लॉगिंग समाप्त हुआ।

एक अन्य नौकरी पुराने रिकॉर्ड को टेबल से हटाने का प्रयास कर रही थी। समाप्त होने पर खुद को गांठों में बदलना बंद कर दिया गया था, जब वे हटाने की कोशिश कर रहे थे, उन सभी आवेषणों को अवरुद्ध कर दिया जो कनेक्शन पूल संसाधनों से बाहर निकल गए थे।

जैसे ही मुझे नौकरी मिली, उस व्यक्ति को थप्पड़ मार दिया, जिसने उस सर्वर पर अपने अधिकारों का दुरुपयोग किया और सिर को गोल कर दिया, और काम बंद कर दिया, कनेक्शन पूल के सभी त्रुटि संदेश बंद हो गए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.