एक ही कार्यसमूह से जुड़े अन्य कंप्यूटर से SQL सर्वर डेटाबेस तक कैसे पहुंचें?


11

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

SQL सर्वर से कनेक्शन स्थापित करते समय एक नेटवर्क से संबंधित या उदाहरण-विशिष्ट त्रुटि हुई। सर्वर नहीं मिला था या पहुंच योग्य नहीं था

लेकिन एप्लिकेशन मेरे पीसी पर ठीक काम कर रहा है। मैं जो कनेक्शन स्ट्रिंग उपयोग कर रहा हूं वह है

Data Source=ASHISHPC1\SQLEXPRESS;Initial Catalog=ACW;User ID=ash159;Password=ashish159

जो एक .configफ़ाइल में संग्रहीत है ।

एप्लिकेशन मेरे पीसी पर ठीक काम कर रहा है। मुझे क्या करना चाहिए? मैंने सर्वर में टीसीपी / आईपी को सक्षम किया है लेकिन वही त्रुटि बनी रहती है। कनेक्शन स्ट्रिंग में कुछ बदलाव या कुछ और?


1
'डेटा स्रोत' के लिए आईपी पते का उपयोग करने का प्रयास करें
मिच गेहूं 10

1
Windows फ़ायरवॉल को बंद करने का प्रयास करें ... साथ ही Technet.microsoft.com/en-us/library/hh231616.aspx देखें । यह आपके लिए काम करना चाहिए।

3
विंडोज फ़ायरवॉल को बंद करने की आवश्यकता नहीं है - कृपया उस मिथक का प्रचार करना बंद करें! नीचे मेरा जवाब देखें।
जॉन सीजेल

जवाबों:


17

दूरस्थ पहुँच की अनुमति देने के लिए सुरक्षा के दो स्तर हैं जिन्हें बदलने की आवश्यकता है।

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

  2. विंडोज फ़ायरवॉल । जबकि फ़ायरवॉल को पूरी तरह से अक्षम करना इस घटक के लिए काम करेगा , ऐसा करना एक सुरक्षा सर्वोत्तम अभ्यास नहीं है (न ही इसकी आवश्यकता है)। (नोट: इस खंड में, मैं एक डिफ़ॉल्ट कॉन्फ़िगरेशन मानती हूं । कई सेटिंग्स हैं जिन्हें बदला जा सकता है जो इन चरणों को थोड़ा प्रभावित करते हैं।)

    आप जिस SQL ​​सर्वर आवृत्ति से कनेक्ट हो रहे हैं, उसके आधार पर दो मामले हैं:

    1. डिफ़ॉल्ट उदाहरण (केवल कंप्यूटर नाम से कनेक्ट करें)। टीसीपी पोर्ट 1433 या डेटाबेस इंजन सेवा पर आने वाले नियम को अनुमति दें।

    2. नामांकित उदाहरण (कंप्यूटर नाम + आवृत्ति नाम से कनेक्ट)। SQL ब्राउज़र सेवा तक पहुँचने के लिए UDP पोर्ट 1434 पर एक आवक नियम जोड़ें। डेटाबेस इंजन सेवा पर आने वाले नियम को अनुमति दें।

यह प्रक्रिया यहां पूरी तरह से प्रलेखित है , या आप मुझे समझाने के लिए देख सकते हैं और फिर एक नामित उदाहरण के लिए कॉन्फ़िगरेशन के माध्यम से चल सकते हैं


0

आपको अपने SQL- सर्वर में सही नेटवर्क-सेटिंग्स सेट करना होगा: SQL- सर्वर में सक्रिय टीसीपी / आईपी यह भी सुनिश्चित करें, कि आपका सर्वर ब्राउज़र-सर्विस चल रहा है, क्योंकि यदि इसे रोका गया है, तो आप SQL- को एक्सेस नहीं कर सकते सर्वर।


0

सुनिश्चित करें कि bendeg द्वारा उल्लिखित sqlbrowser सेवा चालू है, और UDP 1434 आपकी मशीन पर खुली है ताकि ग्राहक नाम को हल करने के लिए sqlbrowser को हिट कर सकें। नामित आवृत्ति के TCP / IP पोर्ट को भी खोलें।

अपनी आवृत्ति के पोर्ट को खोजने के लिए, tcp का उपयोग करके कनेक्ट करें: प्रबंधन स्टूडियो में उपसर्ग जैसे: tcp: ASHISHPC1 \ SQLEXPRESS और नीचे दिए गए क्वेरी का परिणाम वह पोर्ट होना चाहिए, जिसे आपको अपने कार्यसमूह में क्लाइंट के सामने लाने की आवश्यकता है।

SELECT local_tcp_port FROM sys.dm_exec_connections WHERE session_id = @@SPID

-1

मैंने होम नेटवर्क के लिए विंडोज़ फ़ायरवॉल को बंद कर दिया और यह ठीक काम किया .. धन्यवाद आप सभी .. :)


5
यदि यह आपका प्रश्न था तो आपको यहां उसी क्रेडेंशियल्स के साथ साइन करना चाहिए जो आपने मूल साइट ( स्टैक ओवरफ्लो ) पर उपयोग किया था ताकि आप यहां प्रश्न का स्वामित्व प्राप्त कर सकें।
jcolebrand

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