GUI क्लाइंट से एक स्थानीय MS SQL सर्वर से कनेक्ट करना


11

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

मैं मशीन पर एक स्थानीय SQL सर्वर उदाहरण बनाना चाहूंगा, और फिर अपने डेटाबेस को क्वेरी करने के लिए GUI क्लाइंट के रूप में SQLectron का उपयोग कर सकता हूं। मैं मंज़रो लिनक्स का उपयोग कर रहा हूँ और इसलिए AUR से अपने पैकेज स्थापित करता हूँ।

अब तक मैंने स्थापित किया है mssql-server, mssql-toolsऔर sqlectron-gui। मैंने sudo /opt/mssql/bin/mssql-conf setupएक स्थानीय सर्वर सेट करने के लिए (मेरा मानना ​​है) आदेश को चलाया है। ऐसा करने के बाद, कमांड चलाना इसे systemctl status mssql-serverवापस लौटाता है:

[kev @ XPS-Manjaro ~] $ systemctl स्टेटस mssql-server
● mssql-server.service - Microsoft SQL सर्वर डेटाबेस इंजन
भरी हुई: भरी हुई (/usr/lib/systemd/system/mssql-server.ervice; सक्षम; विक्रेता पूर्व निर्धारित: अक्षम)
सक्रिय: बुध 2017-08-23 13:43:49 IST के बाद से सक्रिय (चल रहा है); 2 ह 42 मिनट पहले
    डॉक्स: https://docs.microsoft.com/en-us/sql/linux
मुख्य पीआईडी: 9130 (वर्गमीटर)
    कार्य: 165
CGroup: /system.slice/mssql-server.service
        Bin9130 / ऑप्ट / mssql / बिन / sqlservr
        └─9144 / ऑप्ट / mssql / बिन / sqlservr

23 अगस्त 13:43:52 XPS-Manjaro sqlservr [9130]: [145B बूँद डेटा]
23 अगस्त 13:43:52 XPS-Manjaro sqlservr [9130]: [66B बूँद डेटा]
23 अगस्त 13:43:52 XPS-Manjaro sqlservr [9130]: [96B बूँद डेटा]
23 अगस्त 13:43:52 XPS-Manjaro sqlservr [9130]: [100B बूँद डेटा]
23 अगस्त 13:43:52 XPS-Manjaro sqlservr [9130]: [71B बूँद डेटा]
23 अगस्त 13:43:52 XPS-Manjaro sqlservr [9130]: [124B बूँद डेटा]
23 अगस्त 13:49:03 XPS-Manjaro sqlservr [9130]: [156B बूँद डेटा]
23 अगस्त 13:49:03 XPS-Manjaro sqlservr [9130]: [194B ब्लॉब डेटा]
23 अगस्त 13:52:31 XPS-Manjaro sqlservr [9130]: [74B बूँद डेटा]
23 अगस्त 13:52:31 XPS-Manjaro sqlservr [9130]: [199B बूँद डेटा]

अब मैं निम्नलिखित स्क्रीन पर SQLectron के माध्यम से अपने सर्वर से एक स्थानीय कनेक्शन बनाने का प्रयास कर रहा हूं:

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

जैसा कि मुझे SQL सर्वर के साथ बहुत कम अनुभव है, मैं अपने स्थानीय सर्वर से कनेक्ट करने के लिए इन सभी क्रेडेंशियल्स को प्राप्त करने के लिए पूरी तरह से खो गया हूं। केवल एक ही मुझे पता है कि वह पासवर्ड है जिसे मैंने sudo /opt/mssql/bin/mssql-conf setupकमांड में सेट किया है ।

मुझे सर्वर का नाम, होस्ट पता (127.0.0.1?), पोर्ट, डोमेन, यूनिक्स सॉकेट पथ और उपयोगकर्ता नाम कैसे मिलेगा?


मैंने केवल विंडोज पर SQL सर्वर के साथ काम किया है, लेकिन अगर कुछ शर्तों में मदद मिलेगी: नाम सर्वर का नाम होगा (और यदि आवश्यक हो तो उदाहरण); जैसा कि आप कहते हैं, address127.0.0.1` से काम करना चाहिए; portसर्वर सेट करने पर सेट किया जाना चाहिए था (डिफ़ॉल्ट आमतौर पर 1433 है); userउपयोगकर्ता नाम आप में प्रवेश करना चाहते हैं होगा (शायद एक लिनक्स उपयोगकर्ता खाते, या एक एसक्यूएल सर्वर खाते (जैसे हो सकता है sa), और passwordउस खाते के लिए पासवर्ड है। Databaseऔर Schemaडिफ़ॉल्ट डेटाबेस और स्कीमा से कनेक्ट होता होगा, कोशिश masterऔर रिक्त, या masterऔर dbo
RDFozz

जवाबों:


7

यदि आप mssql-server सेवा के रूप में उसी मशीन पर GUI चला रहे हैं, तो आप पता (127.0.0.1) के लिए लोकलहोस्ट का उपयोग कर सकते हैं। यदि आप GUI को किसी भिन्न कार्य केंद्र से चला रहे हैं, तो आपको उस मशीन के IPv4 पते की आवश्यकता होगी जहाँ mssql-server सेवा चल रही है। आप ifconfigलिनक्स टर्मिनल प्रॉम्प्ट से चलाकर प्राप्त कर सकते हैं । से नमूना उत्पादन ifconfig:

eth0: झंडे = 4163 mtu 1500
        ईथर 00: 15: 5 डी: 89: 45: 01 txqueuelen 1000 (ईथरनेट)
        RX पैकेट 423 बाइट्स 137827 (134.5 KiB)
        आरएक्स त्रुटियां 0 गिरा 0 ओवररन 0 फ्रेम 0
        TX पैकेट 0 बाइट्स 0 (0.0 B)
        TX त्रुटियां 0 गिरा 0 ओवररन 0 वाहक 0 टकराव 0

eth1: झंडे = 4163 mtu 1500
        inet 192.168.200.11 नेटमास्क 255.255.255.0 192.168.200.255 प्रसारण
        inet6 fe80 :: 2f70: 9d15: 8e7d: 16cb प्रीफ़िक्सलीन 64 स्कोपिड 0x20
        ईथर 00: 15: 5 डी: 89: 45: 04 txqueuelen 1000 (ईथरनेट)
        RX पैकेट 20138 बाइट्स 2006000 (1.9 MiB)
        आरएक्स त्रुटियां 0 गिरा 0 ओवररन 0 फ्रेम 0
        TX पैकेट 19756 बाइट्स 30125657 (28.7 MiB)
        TX त्रुटियां 0 गिरा 0 ओवररन 0 वाहक 0 टकराव 0

लो: झंडे = 73 mtu 65536
        inet 127.0.0.1 नेटमास्क 255.0.0.0
        inet6 :: 1 प्रीफिक्सलीन 128 स्कोपिड 0x10
        लूप txqueuelen 1 (स्थानीय लूपबैक)
        RX पैकेट 3239 बाइट्स 361340 (352.8 KiB)
        आरएक्स त्रुटियां 0 गिरा 0 ओवररन 0 फ्रेम 0
        TX पैकेट 3239 बाइट्स 361340 (352.8 KiB)
        TX त्रुटियां 0 गिरा 0 ओवररन 0 वाहक 0 टकराव 0

उपरोक्त आउटपुट में, जो महत्वपूर्ण है वह "inet" पता है, जो मेरे मामले में 192.168.200.11 है।

SQL सर्वर के लिए डिफ़ॉल्ट पोर्ट 1433 है - जब तक आपने mssql-conf में एक अलग पोर्ट नहीं चुना है, उस पोर्ट नंबर का उपयोग करें। यदि आप नेटवर्क के माध्यम से SQL सर्वर से कनेक्ट करने का इरादा रखते हैं, तो 1433 के माध्यम से लिनक्स कनेक्शन पर फ़ायरवॉल सुनिश्चित करें।

कमांड के saमाध्यम से SQL सर्वर सेटअप के दौरान लॉगिन, और आपके द्वारा निर्दिष्ट पासवर्ड का उपयोग करें sudo /opt/mssql/bin/mssql-conf setup

मैं डोमेन और यूनिक्स सॉकेट पथ को खाली छोड़ दूंगा।

एक बार जब आप उदाहरण से जुड़ जाते हैं, तो आप एक गैर-सा खाता कॉन्फ़िगर करना चाह सकते हैं। CREATE LOGINकथन के साथ ऐसा करें ।

यदि आपकी इच्छा है, तो बस एक FYI करें, आप SQL सर्वर प्रबंधन स्टूडियो का उपयोग SQL सर्वर से कनेक्ट करने के लिए कर सकते हैं।


आपके FYI के संबंध में, मैं लिनक्स पर SSMS GUI कैसे प्राप्त कर सकता हूं? मैंने दोनों को स्थापित किया है mssql-serverऔर mssql-tools- न तो जो किसी भी तरह के जीयूआई आवेदन या एसएसएमएस के संबंध में स्थापित कुछ भी नहीं है। चूंकि मैं SSMS से सबसे अधिक परिचित हूं, इसलिए मैं इसका उपयोग जारी रखना पसंद करूंगा, लेकिन यह नहीं सोचा कि यह लिनक्स पर उपलब्ध था।
KOB

ओह, नहीं, मेरा मतलब है कि आप एक विंडोज वर्कस्टेशन पर SSMS चला सकते हैं , और लिनक्स पर SQL सर्वर से कनेक्ट कर सकते हैं।
मैक्स वर्नोन

ओह ठीक है, मैंने ऐसा सोचा। नहीं, मैं सिर्फ प्रयोग कर रहा हूं और बस इतना चाहूंगा कि मेरी लिनक्स मशीन से सब कुछ चल रहा हो।
KOB

एक अंतिम अनुसरण: यदि मैं अब पायथन स्क्रिप्ट के भीतर से अपने डेटाबेस को एक्सेस करना चाहता था, तो क्या मुझे अपने गैर-सा खाते को कॉन्फ़िगर करने की आवश्यकता होगी जैसा कि आपने उल्लेख किया है, और फिर कुछ ड्राइवर स्थापित करें? मैंने विंडोज पर काम करते समय ODBC ड्राइवर का उपयोग किया था। विंडोज पर मेरी पियटन लिपि में, मुझे एसएसएमएस से कनेक्शन इंजन के लिए अपना सर्वर नाम मिला, जो के रूप में था CPX-9GL9XXXXXXX\SQLEXPRESS। SSMS तक पहुँच के बिना मैं इस समतुल्य सर्वर नाम कैसे पा सकता हूँ?
KOB

SQL Server Browser का उपयोग SQL Server इंस्टेंसेस को पोर्ट नंबर को पहले से जाने बिना पता करने के लिए किया जाता है ... इसलिए CPX-9GL9XXXXXXX\SQLEXPRESS-> SQLEXPRESSउदाहरण का नाम है , जिसे SQL सर्वर ब्राउज़र सर्विस द्वारा पोर्ट नंबर में अनुवादित किया जाएगा। दुर्भाग्य से, एसक्यूएल सर्वर ब्राउज़र लिनक्स पर अभी तक समर्थित नहीं है , इसलिए आपको पोर्ट नंबर को जानना होगा, जो कि डिफ़ॉल्ट रूप से 1433 है।
मैक्स वेरनॉन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.