मैंने पहले समझाया था कि लिनक्स डॉकर छवि के लिए SQL सर्वर का उपयोग करके मैक पर SQL सर्वर कैसे स्थापित करें।
तब से, Apple ने अपनी M1 चिप जारी की है, जो ARM आर्किटेक्चर का उपयोग करती है। SQL सर्वर को स्थापित करने का प्रयास करते समय यह समस्या पैदा कर सकता है। समस्या यह है कि लेखन के समय, SQL सर्वर ARM आर्किटेक्चर पर समर्थित नहीं है।
सौभाग्य से, एक विकल्प है।
Azure SQL Edge के लिए कंटेनर इमेज को M1 Mac पर इंस्टॉल किया जा सकता है। इसलिए, हम SQL सर्वर छवि के बजाय उस छवि का उपयोग कर सकते हैं।
Azure SQL Edge IoT और IoT Edge परिनियोजन के लिए तैयार किया गया एक अनुकूलित रिलेशनल डेटाबेस इंजन है। यह SQL सर्वर डेटाबेस इंजन के नवीनतम संस्करणों पर बनाया गया है, इसलिए आप T-SQL कोड का उपयोग वैसे ही कर सकते हैं जैसे आप SQL सर्वर का उपयोग करते समय करते हैं। आप Azure SQL Edge को क्वेरी करने के लिए वही टूल भी इस्तेमाल कर सकते हैं जिनका उपयोग आप SQL सर्वर (जैसे SSMS, Azure Data Studio, आदि) के साथ करेंगे।
इस लेख में मैं M1 चिप वाले मैक पर Azure SQL Edge का डेवलपर संस्करण स्थापित करता हूं।
डॉकर इंस्टॉल करें
यह देखते हुए कि हम डॉकर कंटेनर के माध्यम से SQL एज स्थापित कर रहे हैं, हमें डॉकर स्थापित करने की आवश्यकता है।
यदि आपके पास पहले से डॉकर नहीं है, तो इसे निम्नानुसार डाउनलोड और इंस्टॉल करें:
- डॉकर वेबसाइट से डॉकर डाउनलोड करें। M1 Mac के लिए एक डाउनलोड करना सुनिश्चित करें (बटन को
Mac with Apple Chip
. कहा जाता था जब मैंने इसे डाउनलोड किया)। - डाउनलोड हो जाने के बाद,
.dmg
खोलें फ़ाइल करें और निर्देशानुसार Docker.app आइकन को अपने एप्लिकेशन फ़ोल्डर में खींचें। - डॉकर को उसी तरह लॉन्च करें जैसे आप किसी अन्य एप्लिकेशन को लॉन्च करते हैं (उदाहरण के लिए, एप्लिकेशन फ़ोल्डर, लॉन्चपैड, आदि के माध्यम से)। जब आप डॉकर खोलते हैं, तो आपको अपने पासवर्ड के लिए कहा जा सकता है। आगे बढ़ें और अपना पासवर्ड प्रदान करें, क्योंकि डॉकर को इसे चलाने की आवश्यकता है।
Azure SQL Edge स्थापित करें
अब जब डॉकर स्थापित हो गया है, तो हम आगे बढ़ सकते हैं और Azure SQL Edge स्थापित कर सकते हैं। जैसा कि उल्लेख किया गया है, यह SQL सर्वर डेटाबेस इंजन का उपयोग करता है, और इसलिए हम इसका उपयोग T-SQL क्वेरी आदि चलाने के लिए कर सकते हैं, जैसे कि हम SQL सर्वर को क्वेरी कर रहे थे।
एक टर्मिनल विंडो खोलें और निम्न कमांड चलाएँ:
docker pull mcr.microsoft.com/azure-sql-edge
यह कंटेनर छवि को आपकी स्थानीय मशीन पर खींचता/डाउनलोड करता है।
यदि आप चाहें तो आप वैकल्पिक रूप से डॉकर वेबसाइट पर कंटेनर विकल्पों की जांच कर सकते हैं।
एक बार डाउनलोड पूरा हो जाने के बाद, आपके द्वारा अभी डाउनलोड की गई डॉकर छवि का एक उदाहरण लॉन्च करने के लिए निम्न कमांड चलाएँ:
sudo docker run --cap-add SYS_PTRACE -e 'ACCEPT_EULA=1' -e 'MSSQL_SA_PASSWORD=bigStrongPwd' -p 1433:1433 --name sqledge -d mcr.microsoft.com/azure-sql-edge
bigStrongPwd
को बदलना सुनिश्चित करें अपनी पसंद के मजबूत पासवर्ड के लिए। आप --name
. का मान भी बदल सकते हैं यदि आप चाहें तो पैरामीटर।
डिफ़ॉल्ट रूप से, कंटेनर को डेवलपर संस्करण के साथ चलाया जाता है। आप -e 'MSSQL_PID=Premium'
. जोड़कर प्रीमियम संस्करण चला सकते हैं ।
डॉकर कंटेनर की जांच करें
कंटेनर ऊपर और चल रहा है या नहीं यह जांचने के लिए हम निम्न कमांड का उपयोग कर सकते हैं:
docker ps
परिणाम:
a190dd199b17 mcr.microsoft.com/azure-sql-edge "/opt/mssql/bin/perm…" 10 seconds ago Up 9 seconds 1401/tcp, 0.0.0.0:1433->1433/tcp sqledge
यह मुझे दिखाता है कि कंटेनर वास्तव में ऊपर और चल रहा है।
यदि, किसी कारण से आपका कंटेनर ऊपर और चल नहीं रहा है, तो निम्न आदेश आज़माएं:
docker start sqledge
sqledge
बदलें अपने कंटेनर के नाम के साथ।
कंटेनर के ऊपर और चलने के साथ, अब हम आगे बढ़ सकते हैं और SQL एज से जुड़ सकते हैं।
एसक्यूएल एज से कनेक्ट करें
अब आप डॉकर छवि को लॉन्च करते समय दिए गए विवरण का उपयोग करके अपने Azure SQL Edge इंस्टॉलेशन से जुड़ सकते हैं।
यहां Azure डेटा स्टूडियो के माध्यम से Azure SQL Edge से कनेक्ट होने का एक स्क्रीनशॉट है:
मैक पर Azure डेटा स्टूडियो स्थापित करने का तरीका यहां बताया गया है।
Microsoft बताता है कि Azure डेटा स्टूडियो "वर्तमान में ARM आर्किटेक्चर का समर्थन नहीं करता" लेकिन मुझे इसे अपने M1 Mac (अर्थात ARM आर्किटेक्चर के साथ) पर स्थापित करने में कोई समस्या नहीं थी।
SQL क्वेरी चलाएँ
SQL एज से कनेक्ट होने के बाद, आप डेटाबेस बना सकते हैं, T-SQL क्वेरी चला सकते हैं, आदि (T-SQL SQL सर्वर का SQL का एक्सटेंशन है)।
SQL क्वेरी चलाने में तेज़ी लाने के लिए मेरा SQL ट्यूटोरियल देखें।
एसक्यूएल एज में समर्थित सुविधाएं
मुझे यह उल्लेख करना चाहिए कि SQL एज में कुछ SQL सर्वर सुविधाएँ असमर्थित हैं। Azure SQL Edge, Linux पर समर्थित SQL Server 2019 सुविधाओं के सबसेट का समर्थन करता है।
उस ने कहा, SQL एज में कुछ विशेषताएं हैं जो SQL सर्वर में अनुपलब्ध हैं (जैसे कि DATE_BUCKET()
समारोह)।
संपूर्ण विश्लेषण के लिए Microsoft वेबसाइट पर Azure SQL Edge की समर्थित सुविधाएँ देखें।