2011-07-03 23 views
8

का उपयोग कर डेटाबेस से कनेक्ट नहीं हो सकता है, मुझे पता है कि हमें ऐसे वाक्यांशों से अवगत होना चाहिए, लेकिन अचानक मेरे सभी कनेक्शन localhost\sqlexpress पर काम करना बंद कर दिया। .\sqlexpress और (local)\sqlexpress काम के रूप में, यह एक बड़ा सौदा नहीं होगा अगर यह इस तथ्य के लिए नहीं था कि मैं एक टीम प्रोजेक्ट पर काम कर रहा हूं जहां सभी कनेक्शन स्ट्रिंग को पूर्व प्रारूप में परिभाषित किया गया है। और जाहिर है कि मुझे स्वीकार करने में कठिन समय है कि इसे अब काम नहीं करना चाहिए, इसलिए मैंने कई SQL सर्वर संस्करणों का विश्लेषण और पुनर्स्थापित करने में कई घंटे बिताए। (और वीएस -2010 में डीबी परियोजनाओं को तोड़ने के तरीके पर मुझे भी पुनर्स्थापित करने की जरूरत है ...)।स्थानीयहोस्ट sqlserver

लेकिन यहां विवरण हैं। जैसा कि पहले से ही उल्लेख किया गया है, मैं localhost\sqlexpress से कनेक्ट नहीं कर सका लेकिन .\sqlexpress पर कनेक्ट नहीं कर सका। एसक्यूएल सर्वर मैनेजर का उपयोग कर वही लक्षण, और तैनाती और चलने वाली डब्ल्यूसीएफ सेवाओं के लिए कनेक्शन स्ट्रिंग्स। localhost काम के रूप में डिफ़ॉल्ट उदाहरण को पर्याप्त रूप से हल करने के लिए पर्याप्त रूप से पर्याप्त है।

पहली चीजें पहले, हाँ SQL सर्वर चल रहा है और बस यह सुनिश्चित करने के लिए कि मैंने टीसीपी/आईपी सक्षम किया है और पोर्ट को 1433 पर तय किया है, हालांकि यह मेरे सहकर्मियों मशीन पर टीसीपी/आईपी अक्षम के साथ काम करता है। (जिस तरह से मैंने पढ़ा है कि localhost देशी SQL क्लाइंट का उपयोग करते समय साझा स्मृति का उपयोग करके हल किया जा सकता है, इसलिए मुझे लगता है कि उसके सिस्टम पर क्या हो रहा है।)

सेटअप केवल एक SQL सर्वर एक्सप्रेस 2008 R2 इंस्टेंस और VS2010 है विंडोज 7 पेशेवर पर।

Sql को शुरू व्यक्त errorlog का कहना है:

Server is listening on [ 'any' <ipv6> 1433]. 
Server is listening on [ 'any' <ipv4> 1433]. 

Netstat का कहना है (अंश):

TCP 0.0.0.0:1433   Machinenename:0    LISTENING 
TCP [::]:1433    Machinenename:0    LISTENING 

मैं 127.0.0.1:1433 के अभाव और किसी भी यूडीपी पर ध्यान दें पोर्ट 1433

समस्या का निदान करने के लिए मैं एसक्यूएलसीएमडी का उपयोग यह पता लगाने के लिए करता हूं कि परिवहन का उपयोग किस प्रकार किया जाता है :

1. स्थानीय होस्ट \ sqlexpress

sqlcmd -Slocalhost\sqlexpress -> Shared memory 
sqlcmd -Stcp:localhost\sqlexpress -> SQL Server Network Interfaces: Error Locating Server/Instance Specified 

एसक्यूएल सर्वर प्रबंधन स्टूडियो से स्थानीय होस्ट \ sqlexpress से कनेक्ट नहीं कर भले ही मैं प्रोटोकॉल

2. स्थानीय होस्ट

के रूप में साझा मेमोरी निर्दिष्ट
sqlcmd -Slocalhost -> TCP 
sqlcmd -Stcp:localhost -> TCP 

SQL सर्वर प्रबंधन एस से स्थानीयहोस्ट से कनेक्ट कर सकते हैं tudio

3. (स्थानीय) \ sqlexpress

sqlcmd -S(local)\sqlexpress -> Shared memory 
sqlcmd -Stcp:(local)\sqlexpress -> SQL Server Network Interfaces: Error Locating Server/Instance Specified 

से कनेक्ट कर सकते हैं (स्थानीय) \ एसक्यूएल सर्वर प्रबंधन स्टूडियो से sqlexpress

तो मैं यहाँ खो रहा हूँ। किसी भी सहायताको बहुत सराहा जाएगा।

उत्तर

2

क्या आपने सत्यापित किया है कि SQL सर्वर कॉन्फ़िगरेशन प्रबंधक में SQL सर्वर नेटवर्क कॉन्फ़िगरेशन के अंतर्गत साझा मेमोरी सक्षम है। प्रोटोकॉल?

जब मैं "साझा मेमोरी" प्रोटोकॉल को अक्षम करता हूं, तो "sqlcmd -S। \ Sqlexpress" टाइम्स आउट हो जाता है। इसे सक्षम करने से कमांड काम ठीक हो जाता है।

एक और विचार ... पोर्ट 1434 SQL सर्वर डिस्कवरी सेवा के लिए उपयोग किया जाता है, जो SQL प्रबंधन स्टूडियो जैसे प्रोग्राम और इस तरह की खोज करता है कि SQL सर्वर मशीन पर चल रहा है। जांच करने के लिए बस एक और चीज।

4
एमएस एसक्यूएल में

, विन्यास उपकरण के लिए जाने -> एसक्यूएल सर्वर कॉन्फ़िगरेशन मैनेजर चुनें एसक्यूएल सर्वर नेटवर्क कॉन्फ़िगरेशन -> दाईं ओर विंडो में प्रोटोकॉल का चयन करें सक्षम टीसीपी/आईपी और services.msc में सेवाओं को पुनः आरंभ तो कोशिश localhost \ sqlexpress से कनेक्ट करने के लिए

0

हमें यह समस्या थी। किसी कारण से, इस मशीन पर, एक उपनाम बनाया गया था जिसने सर्वर नाम का निर्देश दिया था जिसे हम (localhost \ SQL2008_R2) किसी सर्वर पर उपयोग कर रहे थे जो अब अस्तित्व में नहीं था।

एक बार जब हमने उपनाम हटा दिया तो यह सब काम करता था।

उपनाम SQL सर्वर कॉन्फ़िगरेशन प्रबंधक में एक पेड़ नोड हैं।

SQL Server Configuration Manager Alias Node