SQL सर्वर शुरू किया गया है लेकिन किसी भी पोर्ट पर नहीं सुना है


9

मैंने SQL Server 2012 को स्थापित किया है। अभी तक कोई डेटाबेस नहीं बनाया गया है। और मैं मैनेजमेंट स्टूडियो को sa / पासवर्ड से खोल सकता हूं। Binn \ sqlservr.exe सेवा के रूप में शुरू किया गया है और मैं इसे सेवा सूची में शुरू कर सकता हूं। हालाँकि, यह 1433 पोर्ट, या यहां तक ​​कि, डिफ़ॉल्ट रूप से किसी भी पोर्ट को नहीं सुन रहा था, जैसा कि मैंने नीचे दिया है:

tasklist|find /I "sql"

मुझे मिला:

sqlservr.exe                  5668 Services                   0     40,112 K

जिसमें मुझे लगता है कि 5668 पीआईडी ​​है। और फिर पीआईडी ​​पाने के लिए = "5668" किस पोर्ट को सुन रहा है:

netstat -ano | find /I "5668"

लेकिन मुझे खाली के अलावा कुछ नहीं मिला। दूसरी ओर, इस साइट में पोस्ट खोजने के बाद, मैंने अपने SQL सर्वर के कॉन्फ़िगरेशन को डबल-चेक किया: start-> सभी प्रोग्राम्स -> Microsoft SQL सर्वर 2012 -> कॉन्फ़िगरेशन टूल -> SQL सर्वर कॉन्फ़िगरेशन मैनेजर-> SQL सर्वर SQL नेटिव क्लाइंट 11.0 कॉन्फ़िगरेशन -> क्लाइंट प्रोटोकॉल -> टीसीपी / आईपी -> डिफ़ॉल्ट पोर्ट 1433। 3 सेवाएं हैं, SQL सर्वर (MyInstanceName), SQL सर्वर एजेंट (MyInstanceName) और SQL सर्वर ब्राउज़र। अंतिम दो को रोक दिया जाता है।

SQL सर्वर कॉन्फ़िगरेशन प्रबंधक-> SQL सर्वर नेटवर्क कॉन्फ़िगरेशन-> MyInstanceName के लिए प्रोटोकॉल -> टीसीपी / आईपी डिफ़ॉल्ट रूप से अक्षम है, जब मैंने इसे सक्षम किया और सेवा को फिर से शुरू किया और netstat -ano दोहराएं। ढूँढें / मुझे "newPIDNum" कमांड मिली है

TCP    0.0.0.0:52395          0.0.0.0:0              LISTENING  5668(newPIDNum)   

1433 के बजाय 52395 क्यों? और मैं Windows ODBC डेटा स्रोत व्यवस्थापक का उपयोग कर DSN बनाने में विफल रहा, जो मुझे एक त्रुटि देता है: निर्दिष्ट SQL सर्वर नहीं मिला। मेरे लिए कोई मदद? धन्यवाद।


डिफ़ॉल्ट SQL सर्वर नेटवर्क कॉन्फ़िगरेशन (2008 के लिए, 2012 संस्करण नहीं पा सकता है लेकिन मुझे नहीं लगता कि यह कोई अलग है)
Damien_The_Unbeliever

धन्यवाद। मेरे लिए वास्तव में एक अच्छी मदद है। मेरे DSN के बारे में कोई और टिप्पणी?

ऐसा लगता है कि आप एक नामांकित उदाहरण का उपयोग कर रहे हैं (केवल डिफ़ॉल्ट उदाहरण 1433 पर सुनता है, जहां तक ​​मुझे पता है)। क्या आप DSN बनाने की कोशिश करते समय उदाहरण के नाम को शामिल करते हैं?
Damien_The_Unbeliever

हां, इंस्टॉल होने पर, मैंने इंस्टेंस के लिए एक नाम दर्ज किया। DSN बनाते समय, मुझे DSN नाम इनपुट करने के लिए कहा गया था (मैंने एक मध्यस्थ नाम दर्ज किया है), कनेक्ट करने के लिए SQL सर्वर (यह एक ड्रॉप-डाउन चयन बॉक्स है और मैंने दो विकल्पों की कोशिश की यहाँ दोनों विफल होते हैं, एक है (स्थानीय), दूसरा is <.MyInstanceName>),

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

जवाबों:


14

TCPपोर्ट 1433 पर कनेक्शन के लिए मेरे एसक्यूएल सर्वर ने जो बनाया वह निम्नलिखित था ...

  1. कॉन्फ़िगरेशन उपकरण / SQL सर्वर कॉन्फ़िगरेशन प्रबंधक
  2. SQL सर्वर नेटवर्क कॉन्फ़िगरेशन में इंस्टेंस नाम पर क्लिक करें
  3. TCPसंचार सक्षम करें
  4. TCPसंचार प्रविष्टि पर राइट-क्लिक करें , चुनेंProperties
  5. IP एड्रेस टैब पर क्लिक करें
  6. सभी गैर-वीएमनेट आईपी पते को सक्षम करें और Port" आईपीएएल " के लिए प्रविष्टि में 1433 दर्ज करें ।
  7. SQL सर्वर सेवा टैब पर SQL सर्वर को पुनरारंभ करें
  8. इसके साथ अपना कॉन्फ़िगरेशन जांचें netstat -an:

    C:\>netstat -an | find "1433"
      TCP    0.0.0.0:1433           0.0.0.0:0              LISTENING
      TCP    [::]:1433              [::]:0                 LISTENING

1
यह केवल एक समाधान है जो मेरे लिए काम करता है। कोई अन्य मैनुअल भी IPAII पोर्ट के बारे में नहीं कहता है। धन्यवाद आदमी, आपने मेरा दिन बनाया
QZZ

13

1433 के बजाय 52395 क्यों

नामांकित उदाहरण गतिशील बंदरगाहों पर सुनते हैं। वास्तविक बंदरगाह के ग्राहकों को सूचित करने के लिए Sql सर्वर ब्राउज़र सेवा का काम है । Sql ब्राउजर UDP 1434 पर सुनता है और फॉर्म के सवालों के जवाब देता है 'उदाहरण के लिए सुने जाने वाला पोर्ट' foo "क्या है?"। टीसीएल और नामित पाइप प्रोटोकॉल दोनों के लिए एसक्यूएल सर्वर ब्राउज़र सेवा की आवश्यकता है। ग्राहक SQL सर्वर ब्राउज़र का पारदर्शी उपयोग करते हैं, विशेष कॉन्फ़िगरेशन की कोई आवश्यकता नहीं है। कनेक्शन स्ट्रिंग (या ODBC DSN) में केवल एक उदाहरण का नाम निर्दिष्ट करके, क्लाइंट लाइब्रेरी को पता है कि उसे पहले SQL सर्वर ब्राउज़र सेवा से संपर्क करना होगा।

3 सेवाएँ हैं, SQL सर्वर (MyInstanceName), SQL Server Agent (MyInstanceName) और SQL सर्वर ब्राउज़र। अंतिम दो को रोक दिया जाता है

स्पष्ट रूप से SQL सर्वर ब्राउज़र को अपना काम करने के लिए, इसे शुरू करने की आवश्यकता है। इसे शुरू करें, और स्टार्ट अप प्रकार को स्वचालित में बदलें।

साइड नोट के रूप में, अक्सर उपयोग किया जाने वाला वैकल्पिक कॉन्फ़िगरेशन नामित आवृत्ति के लिए स्थिर पोर्ट का उपयोग करना और कनेक्शन स्ट्रिंग ( tcp:<hostname>:<port>) में पोर्ट निर्दिष्ट करना है । इसमें एसक्यूएल सर्वर ब्राउज़र को समीकरण से बाहर ले जाने का लाभ है, लेकिन इसके लिए ग्राहकों को सावधानीपूर्वक रखरखाव की आवश्यकता होती है। सुनने के बंदरगाह को बदलने के लिए सभी ग्राहकों, सभी मशीनों, सभी स्थानों, आमतौर पर एक बड़े दर्द में ऑर्केस्ट्रेटेड परिवर्तन की आवश्यकता होती है। मैं इसके बजाय SQL सर्वर ब्राउज़र पर निर्भरता लेने की सलाह देता हूं।


1

फायरवॉल - उनमें से 3

वे लोग जो विंडोज़ के अधिक हाल के संस्करणों से परिचित नहीं हैं (मैं XP के बाद किसी के साथ सहज नहीं हूं, और विंडोज 10 पर SQL सर्वर स्थापित करने का प्रयास कर रहा था):

  • आपके फ़ायरवॉल को 3 अलग-अलग स्थानों (यानी 3 अलग-अलग प्रोफ़ाइलों के लिए) में बदलना होगा ।

यदि आप इसे केवल पहले देखे जाने वाले (डोमेन प्रोफाइल) के लिए करते हैं, तो आप अभी भी आश्चर्यचकित रह जाएंगे कि आप पोर्ट 80 (IIS) से क्यों नहीं बल्कि 1433 (SQL सर्वर) से कनेक्ट हो सकते हैं।

यहां छवि विवरण दर्ज करें


1

मैं अभी तक टिप्पणी नहीं कर सकता (बहुत सक्रिय नहीं से प्रतिष्ठा कम): लेकिन विंडोज फ़ायरवॉल को अक्षम करना, जैसा कि ऊपर उल्लेख किया गया है, सबसे खराब संभव जवाब है। सही होगा: उन स्थानीय आईपी (या सभी) पर पोर्ट 1433 संचार की अनुमति देने के लिए "इनबाउंड" में फ़ायरवॉल नियम बनाएं। और मैं यह निर्धारित करने की भी सिफारिश करता हूं कि किस दूरस्थ आईपी को उस SQL ​​सर्वर से कनेक्ट करने की अनुमति है।

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