الاتصال والاستعلام عن Azure SQL Edge

هام

لم يعد Azure SQL Edge يدعم النظام الأساسي ARM64.

في Azure SQL Edge، بعد نشر حاوية، يمكنك الاتصال بمشغل قاعدة البيانات من أي من المواقع التالية:

  • داخل الحاوية
  • من حاوية Docker أخرى تعمل على نفس المضيف
  • وارد من الجهاز المضيف
  • من أي جهاز عميل آخر على الشبكة

أدوات للاتصال ب Azure SQL Edge

يمكنك الاتصال بمثيل مثيل Azure SQL Edge من أي من هذه الأدوات الشائعة:

  • sqlcmd: أدوات عميل sqlcmd مضمنة بالفعل في صورة حاوية Azure SQL Edge. إذا قمت بإرفاق حاوية قيد التشغيل باستخدام bash shell تفاعلي، يمكنك تشغيل الأدوات محليا. لا تتوفر أدوات عميل SQL على النظام الأساسي ARM64.
  • SQL Server Management Studio
  • Azure Data Studio
  • Visual Studio Code

للاتصال بمشغل قاعدة بيانات Azure SQL Edge من جهاز شبكة، تحتاج إلى ما يلي:

  • عنوان IP أو اسم شبكة الجهاز المضيف: هذا هو الجهاز المضيف حيث يتم تشغيل حاوية Azure SQL Edge.

  • تعيين منفذ مضيف حاوية Azure SQL Edge: هذا هو تعيين منفذ حاوية Docker إلى منفذ على المضيف. داخل الحاوية، يتم تعيين Azure SQL Edge دائما إلى المنفذ 1433. يمكنك تغيير هذا إذا كنت تريد ذلك. لتغيير رقم المنفذ، قم بتحديث Container Create Options للوحدة النمطية Azure SQL Edge في Azure IoT Edge. في المثال التالي، يتم تعيين المنفذ 1433 على الحاوية إلى المنفذ 1600 على المضيف.

    {
        "PortBindings": {
          "1433/tcp": [
            {
              "HostPort": "1600"
            }
          ]
        }
    }
    
  • كلمة مرور SA لمثيل Azure SQL Edge: هذه هي القيمة المحددة لمتغير SA_PASSWORD البيئة أثناء نشر Azure SQL Edge.

الاتصال إلى مشغل قاعدة البيانات من داخل الحاوية

يتم تضمين أدوات سطر الأوامر SQL Server في صورة حاوية Azure SQL Edge. إذا قمت بإرفاق الحاوية بموجه أوامر تفاعلي، يمكنك تشغيل الأدوات محليا. لا تتوفر أدوات عميل SQL على النظام الأساسي ARM64.

  1. استخدم docker exec -it الأمر لبدء الاستخدام التفاعلي داخل الحاوية قيد التشغيل. في المثال التالي، e69e056c702d هو معرف الحاوية.

    docker exec -it e69e056c702d /bin/bash
    

    تلميح

    ليس عليك دائما تحديد معرف الحاوية بأكمله. يجب عليك فقط تحديد أحرف كافية لتعريفها بشكل فريد. لذلك في هذا المثال، قد يكون كافيا لاستخدام e6 أو e69، بدلا من المعرف الكامل.

  2. عندما تكون داخل الحاوية، اتصل محليا ب sqlcmd. sqlcmd ليس في المسار بشكل افتراضي، لذلك يجب عليك تحديد المسار الكامل.

    /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P '<YourPassword>'
    
  3. عند الانتهاء من sqlcmd، اكتب exit.

  4. عند الانتهاء من موجه الأوامر التفاعلي، اكتب exit. يستمر تشغيل حاويتك حتى بعد الخروج من shell bash التفاعلية.

الاتصال إلى Azure SQL Edge من حاوية أخرى على نفس المضيف

نظرا لوجود حاويتين تعملان على نفس المضيف على نفس شبكة Docker، يمكنك الوصول إليهما بسهولة باستخدام اسم الحاوية وعنوان المنفذ للخدمة. على سبيل المثال، إذا كنت تتصل بمثيل Azure SQL Edge من وحدة Python (حاوية) أخرى على نفس المضيف، يمكنك استخدام سلسلة الاتصال مشابهة لما يلي. (يفترض هذا المثال أنه تم تكوين Azure SQL Edge للاستماع إلى المنفذ الافتراضي.)

import pyodbc
server = 'MySQLEdgeContainer' # Replace this with the actual name of your SQL Edge Docker container
username = 'sa' # SQL Server username
password = 'MyStrongestP@ssword' # Replace this with the actual SA password from your deployment
database = 'MyEdgeDatabase' # Replace this with the actual database name from your deployment. If you do not have a database created, you can use Master database.
db_connection_string = "Driver={ODBC Driver 17 for SQL Server};Server=" + server + ";Database=" + database + ";UID=" + username + ";PWD=" + password + ";"
conn = pyodbc.connect(db_connection_string, autocommit=True)

الاتصال إلى Azure SQL Edge من جهاز شبكة آخر

قد تحتاج إلى الاتصال بمثيل Azure SQL Edge من جهاز آخر على الشبكة. للقيام بذلك، استخدم عنوان IP لمضيف Docker ومنفذ المضيف الذي تم تعيين حاوية Azure SQL Edge إليه. على سبيل المثال، إذا كان عنوان IP لمضيف Docker هو 192.168.2.121، وتم تعيين حاوية Azure SQL Edge لاستضافة المنفذ 1600، فسيكون 192.168.2.121,1600عنوان الخادم لمثيل Azure SQL Edge . البرنامج النصي Python المحدث هو:

import pyodbc
server = '192.168.2.121,1600' # Replace this with the actual name or IP address of your SQL Edge Docker container
username = 'sa' # SQL Server username
password = 'MyStrongestP@ssword' # Replace this with the actual SA password from your deployment
database = 'MyEdgeDatabase' # Replace this with the actual database name from your deployment. If you do not have a database created, you can use Master database.
db_connection_string = "Driver={ODBC Driver 17 for SQL Server};Server=" + server + ";Database=" + database + ";UID=" + username + ";PWD=" + password + ";"
conn = pyodbc.connect(db_connection_string, autocommit=True)

للاتصال بمثيل Azure SQL Edge باستخدام SQL Server Management Studio الذي يعمل على جهاز Windows، راجع SQL Server Management Studio.

للاتصال بمثيل Azure SQL Edge باستخدام Visual Studio Code على جهاز Windows أو macOS أو Linux، راجع Visual Studio Code.

للاتصال بمثيل Azure SQL Edge باستخدام Azure Data Studio على جهاز Windows أو macOS أو Linux، راجع Azure Data Studio.

الخطوات التالية