क्लाइंट से SQL सर्वर से कनेक्टिविटी की जांच करने का आसान तरीका


18

समस्या निवारण उद्देश्यों के लिए, मैं यह जांचने में सक्षम होना चाहूंगा कि क्या कोई ग्राहक SQL सर्वर आवृत्ति से कनेक्ट हो सकता है, जो एप्लिकेशन से स्वतंत्र है जो संभवतः SQL सर्वर से कनेक्ट नहीं हो सकता है।

क्या डिफ़ॉल्ट विंडोज सिस्टम टूल्स का उपयोग करने के लिए एक आसान तरीका है (इसका मतलब है, 3 डी सॉफ्टवेयर स्थापित करने के लिए नहीं)? शायद स्क्रिप्ट या नेटवर्क एप्लिकेशन का उपयोग कर रहे हैं?


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

जवाबों:


15

यदि सर्वर टीसीपी / आईपी का उपयोग कर रहा है, तो सरल तरीका सिर्फ एसक्यूएल सर्वर पोर्ट को टेलनेट करना है और देखें कि क्या यह कनेक्ट होता है। डिफ़ॉल्ट रूप से, यह पोर्ट 1433 है, इसलिए यह काम करना चाहिए:

telnet servername 1433

यह संभवतः ज्यादातर मामलों में उचित होगा।

यदि यह एक अलग पोर्ट, या डायनेमिक पोर्ट (नामांकित उदाहरण के साथ आम) का उपयोग कर रहा है, तो आपको यह निर्धारित करना होगा कि वर्तमान में यह किस पोर्ट पर सुन रहा है। SQL सर्वर कॉन्फ़िगरेशन प्रबंधक यह देखने के लिए जांचें कि क्या यह एक विशिष्ट पोर्ट या डायनेमिक पोर्ट है। यदि यह डायनेमिक पोर्ट का उपयोग कर रहा है, तो जब तक आपके पास सर्वर पर एक से अधिक इंस्टेंसेस नहीं होते हैं, तब तक netstat -abnशायद यह सबसे सरल तरीका है कि यह क्या उपयोग कर रहा है। अन्यथा, Windows ईवेंट लॉग या SQL सर्वर त्रुटि लॉग के माध्यम से एक संदेश इंगित करता है कि उदाहरण के लिए कौन सा पोर्ट उपयोग में है।

यदि SQL सर्वर नामांकित पाइप्स का उपयोग कर रहा है, तो मेरा मानना ​​है कि यदि आप मशीन पर शेयर एक्सेस करने में सक्षम हैं, तो आपके पास पर्याप्त नेटवर्क कनेक्टिविटी है। यह लेख कहता है कि आप आगे जा सकते हैं और IPC $ शेयर से जुड़ने का प्रयास कर सकते हैं:

http://msdn.microsoft.com/en-us/library/aa275787%28v=sql.80%29.aspx

net use \\servername\IPC$

यह SQL Server 2000 के लिए लिखा गया है, लेकिन मुझे नहीं लगता कि यह पहलू बहुत बदल गया है, अगर बिल्कुल भी।


2
यह नहीं देख रहा है कि क्या कोई क्लाइंट "SQL सर्वर इंस्टेंस से कनेक्ट हो सकता है"। यह देखने के लिए कि क्या कोई पोर्ट सुन रहा है, बस परीक्षण कर रहा है।
थॉमस स्ट्रिंगर

4
... जो देख रहा है कि क्या एक क्लाइंट सिस्टम "SQL सर्वर इंस्टेंस से कनेक्ट हो सकता है, जो एप्लिकेशन से स्वतंत्र है जो संभवतः SQL सर्वर से कनेक्ट नहीं हो सकता है।" नेटवर्क कनेक्टिविटी से परे कुछ भी अनुप्रयोग समस्याओं से निपट रहा है।
db2 12

22

SQL कनेक्टिविटी के लिए एक सरल परीक्षण विधि एक खाली टेक्स्ट फ़ाइल बनाना है, जिसमें "UDL" की फाइल एक्सटेंशन है। आप इसे नोटपैड में बना सकते हैं। और इसका कोई भी नाम हो सकता है। मैं "TestSQL.UDL" का उपयोग करता हूं

इसे विंडोज़ पीसी के डेस्कटॉप पर सेव करें और डबल क्लिक करें।

एक "डेटा लिंक गुण" संवाद बॉक्स पॉप अप होगा जहां आप SQL सर्वर के आईपी पते और एक SQL उपयोगकर्ता नाम और पासवर्ड भी दर्ज कर सकते हैं।

"टेस्ट कनेक्शन" बटन पर क्लिक करके देखें कि क्या आप कनेक्ट कर सकते हैं।

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


प्रदाता टैब पर क्लिक करें और सही OLE DB प्रदाता का चयन करना सुनिश्चित करें: "Microsoft OLE DB प्रदाता SQL सर्वर के लिए"
डेवबी

डेव, स्वागत है, और अच्छा जवाब। इस अतिरिक्त जानकारी को जोड़ने के लिए आप अपने पोस्ट (निचले-बाएँ कोने) को संपादित कर सकते हैं। फिर अपनी टिप्पणी हटाएं।
माइकल ग्रीन

यह वास्तव में एक महान जवाब है क्योंकि यह किसी भी सर्वर पर काम करता है चाहे जो भी स्थापित हो या जो स्थापित नहीं है। आप सभी की जरूरत नोटपैड है। इस महान जवाब के लिए धन्यवाद, वास्तव में मुझे अपने ग्राहक को समझाने में मदद मिली कि SQL कनेक्टिविटी काम कर रही थी।
22

8

बशर्ते आपके पास Microsoft.SqlServer.Smoस्थानीय मशीन पर आपके GAC में असेंबली हो, यह आसानी से PowerShell के साथ किया जा सकता है:

[Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.Smo') | Out-Null

$server = New-Object Microsoft.SqlServer.Management.Smo.Server("YourSqlServerName")

# do a simple operation to see if you can get data
Try {
    $server.Version | Out-Null
    Write-Host "SQL Server connection successful!!!"
}
Catch [System.Exception] {
    Write-Host "Error connecting to SQL Server..."
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.