2012-09-07 18 views
9

हम वर्तमान में निम्न संदेश के साथ हमारे विकास के वातावरण में एक नहीं बल्कि परेशानी समस्या का सामना कर रहे साथ हाथ मिलाना संकट ...पूर्व के लिए लॉग इन एसक्यूएल को सीधे जोड़ने Azure

A connection was successfully established with the server, 
but then an error occurred during the pre-login handshake. 
(provider: SSL Provider, error: 0 - The certificate's CN 
name does not match the passed value.) 

... आमतौर पर स्वीकार किया ज्ञान इस को हल करने के लिए ट्रू के कनेक्शन के ट्रस्टसेवर प्रमाणपत्र भाग को सेट करना समस्या है। हालांकि, यह भरोसेमंद या लगातार काम नहीं करता है।

यह विशेष त्रुटि कई उदाहरणों में होती है, उदाहरण के लिए हमारे एज़ूर एमुलेटर में हमारे डब्ल्यूसीएफ सेवा का परीक्षण/होस्टेड एसक्यूएल एज़ूर इंस्टेंस या यहां तक ​​कि एसक्यूएल प्रबंधन स्टूडियो का उपयोग करने से बात करते हैं। हमने पाया है कि यह एकमात्र आम संप्रदाय यह है कि यह तब होता है जब हम सीधे एसक्यूएल एज़ूर से कनेक्ट होते हैं, क्योंकि इसके होस्टेड और एज़ूर सीधे SQL Azure (जो काम करता है) से बात कर रहा है।

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

अन्य कारक जिन्हें मैंने समाप्त कर दिया है।

  • हम इन त्रुटियों से पुनर्प्राप्त करने के प्रयास के लिए ट्रांजिटिक एप्लिकेशन ब्लॉक का उपयोग कर रहे हैं, लेकिन नहीं।
  • हमारे कार्यालय में Azure होस्टेड सेवाओं के हमारे कनेक्शन के साथ कोई प्रॉक्सी सर्वर नहीं है।

क्या किसी और ने इस समस्या का अनुभव किया है या कोई सुझाव है?

+0

हमम ... विचारों के दो जोड़े: क्या आपने इस डेटाबेस को किसी अन्य व्यक्ति को कॉपी करने का प्रयास किया था? मुझे आश्चर्य है कि सर्वर पर ऐसे मुद्दे हैं जो आप वर्तमान में चालू हैं। वास्तव में, क्या आपने सिर्फ किक्स के लिए एक और डेटा सेंटर में कोशिश की? अगर समस्या बनी रहती है, तो ड्राइवर ही हो सकता है? क्या आप वाकई नवीनतम ड्राइवर/नवीनतम एसएसएमएस का उपयोग कर रहे हैं? मैं कहता हूं कि जब आप Azure में होस्ट करते हैं, तो ऐसा लगता है - इसलिए मुझे आश्चर्य है कि यह ड्राइवर समस्या है या नहीं। –

+0

प्रतिक्रिया के लिए धन्यवाद।हम एक बहु-किरायेदार प्रणाली पर चल रहे हैं जो अनिवार्य रूप से एक ही डेटाबेस चला रहे हैं? क्या इससे कोई विशेष समस्या हो सकती है? मैंने नया एसक्यूएल मूल क्लाइंट 11 डाउनलोड किया है लेकिन एक ही समस्या का अनुभव किया है। मैं डेटा सेंटर को स्थानांतरित करने में शामिल कदमों के बारे में भी निश्चित नहीं हूं, यह एक भारी प्रणाली है, इसलिए मुझे यह भी यकीन नहीं है कि यह कैसे प्राप्त किया जा सकता है ... – SeanCocteau

+1

आह - यह एक भारी प्रणाली है? हमम ... मैंने दुर्लभ मामलों में देखा है, एक विशिष्ट स्थिति तब होती है जब SQL डेटाबेस भारी लॉगिन अनुरोधों के अधीन होता है। मैंने जो त्रुटि देखी वह लॉगिन विफलता की तर्ज पर थी; बिल्कुल एक ही मुद्दा नहीं है। मैं व्यक्तिगत रूप से इस त्रुटि को एक क्षणिक गलती के रूप में मानता हूं; आप क्षणिक ब्लॉक को कस्टमाइज़ करने में सक्षम होना चाहिए और इस विशिष्ट त्रुटि को पुन: प्रयास करने के लिए एक क्षणिक त्रुटि के रूप में जोड़ना चाहिए (डिफ़ॉल्ट रूप से यह त्रुटि प्रकृति में क्षणिक नहीं माना जाता है, इसलिए जब तक आप इसे नहीं बताते तब तक ब्लॉक इसके लिए खाता नहीं लेता है)। यह चाल कर सकता है। –

उत्तर

5

आप गैर-भारतीय विदेश सेवा विनसॉक BSPs या LSPs जो FILE_SKIP_COMPLETION_PORT_ON_SUCCESS ध्वज के साथ संगत नहीं है, समस्या से गैर भारतीय विदेश सेवा LSPs मुख्य रूप से परिणाम स्थापित किया जा रहा के लिए स्कैन करने की जरूरत है।

बस कमांड प्रॉम्प्ट से "netsh winsock दिखाएँ सूची" चलाने, और जाँच किसी भी "सेवा झंडा" जो 0x20xxx

का स्वरूप मेरे मामले में में नहीं लगती है मैंने पाया कि "स्पीड त्वरक "सेवा ध्वज 0x66 के साथ, इस सॉफ्टवेयर को हटाने से मेरी समस्या हल हो जाती है।

अधिक जानकारी यहां पाया जा सकता है: http://support.microsoft.com/kb/2568167

1

क्या आपके कनेक्शन स्ट्रिंग कैसा दिखता है? सुनिश्चित नहीं हैं कि अभी तक इस की कोशिश की है, लेकिन मैं एक समस्या समान होने जब एसक्यूएल Azure करने के लिए एक दूरस्थ एसक्यूएल कनेक्शन का उपयोग किया और पाया मैं स्थापित करने के लिए किया था कि याद करता है, तो:

Trusted_Connection=False;Encrypt=True 

और स्ट्रिंग पूरी तरह से किसी भी कनेक्ट टाइमआउट को हटा दें।

+0

मैंने सोचा था कि उपयोगकर्ता नाम और पासवर्ड सेट करना स्वचालित रूप से ऐसा करेगा, लेकिन मैं Trusted_Connection को सेट करने का प्रयास कर सकता हूं और देख सकता हूं कि यह मदद करता है या नहीं। 'SqlConnectionStringBuilder' में यह संपत्ति अंतर्निहित नहीं है, लेकिन FWIW http://msdn.microsoft.com/en-us/library/ee621781.aspx इस संपत्ति का संदर्भ देता है। यह समझ में नहीं आता है कि यह केवल कनेक्शन स्ट्रिंग के आधार पर * कभी-कभी * होगा, और त्रुटि मुझे विश्वास दिलाएगी कि एसक्यूएल एज़ूर खराब पासा रोल पर गलत प्रमाणपत्र भेज रहा है, लेकिन आप कुछ पर हो सकते हैं। सलाह के लिये धन्यवाद। –

+0

वास्तव में ऐसा लगता है कि इसे "एकीकृत सुरक्षा" संपत्ति द्वारा प्रतिस्थापित किया गया है। 'SqlConnectionStringBuilder' पर मैन्युअल रूप से" Trusted_Connection "सेट करना" एकीकृत सुरक्षा "गुण को संशोधित करता है। मेरा मानना ​​है कि यह किसी भी तरह झूठी झूठी है लेकिन मैं इसे स्पष्ट रूप से स्थापित करने की कोशिश करूंगा और देखें कि क्या होता है। संदर्भ के लिए, http://stackoverflow.com/questions/3077412/what-is-the-difference-between-trusted-connection-and-integrated-security-in-a-c –

+0

कोई पासा नहीं। समस्या अभी भी अंतःस्थापित हो रही है। –

संबंधित मुद्दे