2009-06-23 21 views
11

हम इस त्रुटि को हमारे वेब एप्लिकेशन में यादृच्छिक रूप से प्राप्त करते रहते हैं।मुझे यह त्रुटि अंतःस्थापित क्यों मिलेगी? "सर्वर नहीं मिला था या पहुंच योग्य नहीं था"

System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

यह मतलब होता है अगर हम त्रुटि कभी समय मिल गया है, लेकिन यह रुक-रुक कर कुछ और ही चल रहा है का सुझाव प्राप्त करने के लिए।

क्या किसी ने इसका अनुभव किया है? कोई सुझाव या सिद्धांत?

धन्यवाद!

+1

क्या यह SQL सर्वर बैकअप विंडो के दौरान होता है? –

+2

अन्यथा मुझे किसी दोषपूर्ण एनआईसी या राउटर/स्विच –

+1

पर संदेह हो सकता है जैसा कि किसी ने सुझाव दिया है, क्या आपका SQL सर्वर कभी भी CPU या स्मृति से बाहर चला जाता है? सुझाव है कि आप अपना हार्डवेयर सेटअप पोस्ट करें ... –

उत्तर

6

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

इसके अलावा, यदि आप "पिंग-सर्वनेम" करते हैं और इसे देखते हैं, तो क्या हर पिंग वापस आती है, या कुछ खो जाती हैं? यह नेटवर्क बाधाओं का संकेतक हो सकता है जो इस त्रुटि का कारण बन सकता है।

4

मैंने इसे पहले देखा है जब मैं किसी अन्य स्थान पर रिमोट सेवर तक पहुंच रहा था। मुझे संदेह था कि यह दो साइटों के बीच राउटर कॉन्फ़िगरेशन के कारण था, जैसा कि हम कहते हैं, क्लडी। नेटवर्क कॉन्फ़िगरेशन या खराब हार्डवेयर की वजह से यह पूरी तरह से संभव है, लेकिन जब तक आप कई अन्य संभावनाओं को समाप्त नहीं कर लेते हैं, तब तक मैं उस निष्कर्ष पर नहीं पहुंचूंगा।

5

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

फिक्स: कनेक्शन स्ट्रिंग में पोर्ट का उपयोग करें। यह उदाहरण को गिनने के लिए पोर्ट 1434 पर राउंडट्रिप से बचाता है। हमने पहले ही एफक्यूडीएन का इस्तेमाल किया है।

उदाहरण: server.domain.tld \ उदाहरण, बंदरगाह

निश्चित रूप से YNNV है, लेकिन यह हमारे लिए काम किया

4

मैं ठीक उसी समस्या थी; हम भी मिल गया यह एक:

System.Data.SqlClient.SqlException: An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

और यह एक:

System.Data.SqlClient.SqlException: A transport-level error has occurred when sending the request to the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.)

पहले एक, विशेष रूप से अजीब था हम नामांकित पाइप्स का उपयोग नहीं कर रहे थे के रूप में।

वैसे भी, यह पता चला कि समस्या एक दोषपूर्ण स्विच थी।

मैं ऐप- और डीबी-स्तरीय समस्या निवारण के साथ चिपकने वाला कार्य सेट करने से पहले एप्स सर्वर और डेटाबेस (दोनों आईपी पते और सर्वर के नेटबीओएसओ नाम का उपयोग करके) को निर्धारित करने से पहले एप- और डीबी-स्तरीय समस्या निवारण के साथ गड़बड़ कर दिया था, यदि समस्या थी netbios नाम लुकअप)।

पिंग त्रुटियां डीबी त्रुटियों के साथ विश्वसनीय रूप से एक ही समय में हुईं, इसलिए हमें पता था कि यह नेटवर्क हार्डवेयर था और उच्च स्तर पर कुछ भी नहीं था।

स्विच को सबकुछ ठीक से बदलना।

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