تكوين Azure SQL Edge
هام
سيتم إيقاف Azure SQL Edge في 30 سبتمبر 2025. لمزيد من المعلومات وخيارات الترحيل، راجع إشعار الإيقاف.
إشعار
لم يعد Azure SQL Edge يدعم النظام الأساسي ARM64.
يدعم Azure SQL Edge التكوين من خلال أحد الخيارين التاليين:
- متغيرات البيئة
- ملف mssql.conf موضوع في المجلد /var/opt/mssql
إشعار
يتجاوز تعيين متغيرات البيئة الإعدادات المحددة في mssql.conf
الملف.
التكوين باستخدام متغيرات البيئة
يعرض Azure SQL Edge العديد من متغيرات البيئة المختلفة التي يمكن استخدامها لتكوين حاوية SQL Edge. متغيرات البيئة هذه هي مجموعة فرعية من تلك المتوفرة ل SQL Server على Linux. لمزيد من المعلومات حول SQL Server على متغيرات بيئة Linux، راجع متغيرات البيئة.
تمت إضافة متغيرات البيئة الجديدة التالية إلى Azure SQL Edge.
متغير البيئة | الوصف | القيم |
---|---|---|
معرف الخطة | يحدد Azure SQL Edge SKU لاستخدامه أثناء التهيئة. متغير البيئة هذا مطلوب فقط عند نشر Azure SQL Edge باستخدام Azure IoT Edge. | asde-developer-on-iot-edge أو asde-premium-on-iot-edge |
MSSQL_TELEMETRY_ENABLED | تمكين أو تعطيل جمع بيانات الاستخدام والتشخيص. | صواب أم خطأ |
MSSQL_TELEMETRY_DIR | تعيين الدليل الهدف لملفات تدقيق تجميع بيانات الاستخدام والتشخيص. | موقع المجلد داخل حاوية SQL Edge. يمكن تعيين هذا المجلد إلى وحدة تخزين مضيف باستخدام نقاط التحميل أو وحدات تخزين البيانات. |
MSSQL_PACKAGE | تحديد موقع حزمة dacpac أو bacpac التي سيتم نشرها. | المجلد أو الملف أو عنوان URL SAS الذي يحتوي على حزم dacpac أو bacpac. لمزيد من المعلومات، راجع نشر حزم SQL Database DACPAC و BACPAC في SQL Edge. |
متغير بيئة SQL Server التالي على Linux غير مدعوم ل Azure SQL Edge. إذا تم تعريفه، يتم تجاهل متغير البيئة هذا أثناء تهيئة الحاوية.
متغير البيئة | الوصف |
---|---|
MSSQL_ENABLE_HADR | تمكين مجموعة التوفر. على سبيل المثال، 1 تم تمكين وتعطيل 0 . |
هام
يقبل متغير البيئة MSSQL_PID ل SQL Edge فقط Premium و Developer كقيم صالحة. لا يدعم Azure SQL Edge التهيئة باستخدام مفتاح منتج.
تحديد متغيرات البيئة
حدد متغيرات البيئة ل SQL Edge عند نشر الخدمة من خلال مدخل Microsoft Azure. يمكنك إضافتها إما في قسم متغيرات البيئة من نشر الوحدة النمطية أو كجزء من خيارات إنشاء الحاوية.
إضافة قيم في متغيرات البيئة.
إضافة قيم في Container Create Options.
إشعار
في وضع التوزيع غير المتصل، يمكن تحديد متغيرات البيئة باستخدام -e
أو --env
--env-file
خيار docker run
الأمر .
التكوين باستخدام mssql.conf
ملف
لا يتضمن Azure SQL Edge الأداة المساعدة لتكوين mssql-conf مثل SQL Server على Linux. تحتاج إلى تكوين ملف mssql.conf يدويا ووضعه في محرك أقراص التخزين المستمر الذي تم تعيينه إلى المجلد /var/opt/mssql/ في وحدة SQL Edge. عند نشر SQL Edge من خلال Azure IoT Hub، يتم تحديد هذا التعيين كخيار عمليات التحميل في خيارات إنشاء الحاوية.
{
"Mounts": [
{
"Type": "volume",
"Source": "sqlvolume",
"Target": "/var/opt/mssql"
}
]
}
تمت إضافة خيارات mssql.conf الجديدة التالية ل Azure SQL Edge.
خيار | الوصف |
---|---|
استرداد العميل | اختر ما إذا كان SQL Server يرسل ملاحظات إلى Microsoft. لمزيد من المعلومات، راجع تعطيل جمع بيانات الاستخدام والتشخيص |
دليل طلب المستخدم | تعيين الدليل الهدف لملفات تدقيق تجميع بيانات الاستخدام والتشخيص. لمزيد من المعلومات، راجع التدقيق المحلي للاستخدام وجمع البيانات التشخيصية |
لا تنطبق خيارات mssql.conf التالية على SQL Edge:
خيار | الوصف |
---|---|
ملاحظات العملاء | اختر ما إذا كان SQL Server يرسل ملاحظات إلى Microsoft. |
ملف تعريف بريد قاعدة البيانات | تعيين ملف تعريف بريد قاعدة البيانات الافتراضي ل SQL Server على Linux. |
توفُّر عالٍ | تمكين مجموعات التوفر. |
منسق المعاملات الموزعة من Microsoft | تكوين واستكشاف أخطاء MSDTC وإصلاحها على Linux. خيارات التكوين الإضافية المتعلقة بالمعاملات الموزعة غير مدعومة ل SQL Edge. لمزيد من المعلومات حول خيارات التكوين الإضافية هذه، راجع تكوين MSDTC. |
ML Services EULAs | اقبل R وPython EULAs لحزم Azure التعلم الآلي. ينطبق على SQL Server 2019 فقط. |
الوصول إلى الشبكة الصادرة | تمكين الوصول إلى الشبكة الصادرة لملحقات التعلم الآلي Services R وPython وJava. |
يعمل نموذج ملف mssql.conf التالي مع SQL Edge. لمزيد من المعلومات حول تنسيق mssql.conf
ملف، راجع تنسيق mssql.conf.
[EULA]
accepteula = Y
[coredump]
captureminiandfull = true
coredumptype = full
[filelocation]
defaultbackupdir = /var/opt/mssql/backup/
defaultdatadir = /var/opt/mssql/data/
defaultdumpdir = /var/opt/mssql/data/
defaultlogdir = /var/opt/mssql/log/
[language]
lcid = 1033
[memory]
memorylimitmb = 6144
[sqlagent]
errorlogfile = /var/opt/mssql/log/sqlagentlog.log
errorlogginglevel = 7
[traceflag]
traceflag0 = 3604
traceflag1 = 3605
traceflag2 = 1204
تشغيل Azure SQL Edge كمستخدم غير جذر
بشكل افتراضي، يتم تشغيل حاويات Azure SQL Edge مع مستخدم/مجموعة غير جذر. عند النشر من خلال Azure IoT Hub (أو باستخدام docker run
)، ما لم يتم تحديد مستخدم/مجموعة مختلفة، تبدأ حاويات SQL Edge كمستخدم mssql (غير الجذر). لتحديد مستخدم مختلف غير جذري أثناء النشر، أضف *"User": "<name|uid>[:<group|gid>]"*
زوج قيمة المفتاح ضمن خيارات إنشاء الحاوية. في المثال التالي، تم تكوين SQL Edge للبدء كمستخدم *IoTAdmin*
.
{
..
..
..
"User": "IoTAdmin",
"Env": [
"MSSQL_AGENT_ENABLED=TRUE",
"ClientTransportType=AMQP_TCP_Only",
"MSSQL_PID=Premium"
]
}
للسماح للمستخدم غير الجذر بالوصول إلى ملفات DB الموجودة على وحدات التخزين المثبتة، تأكد من أن المستخدم/المجموعة التي تقوم بتشغيل الحاوية ضمنها، لديه أذونات القراءة والكتابة على تخزين الملفات المستمر. في المثال التالي، قمنا بتعيين المستخدم غير الجذر مع user_id
10001
كمالك الملفات.
chown -R 10001:0 <database file dir>
الترقية من إصدارات CTP السابقة
تم تكوين CTPs السابقة من Azure SQL Edge للتشغيل كمستخدمي الجذر. تتوفر الخيارات التالية عند الترقية من CTPs السابقة.
استمر في استخدام المستخدم الجذر - لمتابعة استخدام المستخدم الجذر، أضف
*"User": "0:0"*
زوج قيمة المفتاح ضمن خيارات إنشاء الحاوية.استخدم مستخدم mssql الافتراضي - لاستخدام مستخدم mssql الافتراضي، اتبع الخطوات التالية:
إضافة مستخدم باسم
mssql
على مضيف Docker. في المثال أدناه، نضيف مستخدم mssql مع المعرف 10001. تتم إضافة هذا المستخدم أيضا إلى مجموعة الجذر.sudo useradd -M -s /bin/bash -u 10001 -g 0 mssql
تغيير الإذن على وحدة تخزين الدليل/التحميل حيث يوجد ملف قاعدة البيانات
sudo chgrp -R 0 /var/lib/docker/volumes/kafka_sqldata/ sudo chmod -R g=u /var/lib/docker/volumes/kafka_sqldata/
استخدام حساب مستخدم مختلف غير جذري - لاستخدام حساب مستخدم مختلف غير جذري
- قم بتحديث خيارات إنشاء الحاوية لتحديد إضافة
*"User": "user_name | user_id*
زوج قيمة المفتاح ضمن خيارات إنشاء الحاوية. استبدل user_name أو user_id user_name الفعلي أو user_id من مضيف Docker. - تغيير الأذونات على وحدة تخزين الدليل/التحميل.
- قم بتحديث خيارات إنشاء الحاوية لتحديد إضافة
الاحتفاظ ببياناتك
تستمر تغييرات تكوين Azure SQL Edge وملفات قاعدة البيانات في الحاوية حتى إذا قمت بإعادة تشغيل الحاوية باستخدام docker stop
و docker start
. ومع ذلك، إذا قمت بإزالة الحاوية باستخدام docker rm
، يتم حذف كل شيء في الحاوية، بما في ذلك Azure SQL Edge وقواعد البيانات الخاصة بك. يشرح القسم التالي كيفية استخدام وحدات تخزين البيانات لاستمرار ملفات قاعدة البيانات حتى إذا تم حذف الحاويات المقترنة.
هام
بالنسبة إلى Azure SQL Edge، من المهم أن تفهم استمرار البيانات في Docker. بالإضافة إلى المناقشة في هذا القسم، راجع وثائق Docker حول كيفية إدارة البيانات في حاويات Docker.
تحميل دليل مضيف كحجم بيانات
الخيار الأول هو تحميل دليل على المضيف الخاص بك كحجم بيانات في الحاوية الخاصة بك. للقيام بذلك، استخدم docker run
الأمر مع العلامة -v <host directory>:/var/opt/mssql
. يسمح هذا باستعادة البيانات بين عمليات تنفيذ الحاوية.
docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<password>' -p 1433:1433 -v <host directory>/data:/var/opt/mssql/data -v <host directory>/log:/var/opt/mssql/log -v <host directory>/secrets:/var/opt/mssql/secrets -d mcr.microsoft.com/azure-sql-edge
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" -p 1433:1433 -v <host directory>/data:/var/opt/mssql/data -v <host directory>/log:/var/opt/mssql/log -v <host directory>/secrets:/var/opt/mssql/secrets -d mcr.microsoft.com/azure-sql-edge
تمكنك هذه التقنية أيضا من مشاركة الملفات وعرضها على المضيف خارج Docker.
هام
لا يدعم تعيين وحدة تخزين المضيف ل Docker على Windows حاليا تعيين الدليل الكامل /var/opt/mssql
. ومع ذلك، يمكنك تعيين دليل فرعي، مثل /var/opt/mssql/data
الجهاز المضيف.
هام
لا يتم دعم تعيين وحدة تخزين المضيف ل Docker على macOS باستخدام صورة Azure SQL Edge في الوقت الحالي. استخدم حاويات وحدة تخزين البيانات بدلا من ذلك. هذا التقييد خاص بالدليل /var/opt/mssql
. القراءة من دليل مثبت يعمل بشكل جيد. على سبيل المثال، يمكنك تحميل دليل مضيف باستخدام -v
على macOS واستعادة نسخة احتياطية من .bak
ملف موجود على المضيف.
استخدام حاويات وحدة تخزين البيانات
الخيار الثاني هو استخدام حاوية وحدة تخزين البيانات. يمكنك إنشاء حاوية وحدة تخزين بيانات عن طريق تحديد اسم وحدة تخزين بدلا من دليل مضيف مع المعلمة -v
. ينشئ المثال التالي وحدة تخزين بيانات مشتركة تسمى sqlvolume.
docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<password>' -p 1433:1433 -v sqlvolume:/var/opt/mssql -d mcr.microsoft.com/azure-sql-edge
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" -p 1433:1433 -v sqlvolume:/var/opt/mssql -d mcr.microsoft.com/azure-sql-edge
إشعار
لا تعمل هذه التقنية لإنشاء وحدة تخزين بيانات ضمنيا في أمر التشغيل مع الإصدارات القديمة من Docker. في هذه الحالة، استخدم الخطوات الصريحة الموضحة في وثائق Docker، إنشاء حاوية وحدة تخزين بيانات وتركيبها.
حتى إذا قمت بإيقاف هذه الحاوية وإزالتها، يستمر حجم البيانات. يمكنك عرضه باستخدام docker volume ls
الأمر .
docker volume ls
إذا قمت بعد ذلك بإنشاء حاوية أخرى بنفس اسم وحدة التخزين، فإن الحاوية الجديدة تستخدم نفس بيانات Azure SQL Edge المضمنة في وحدة التخزين.
لإزالة حاوية وحدة تخزين بيانات، استخدم docker volume rm
الأمر .
تحذير
إذا قمت بحذف حاوية وحدة تخزين البيانات، يتم حذف أي بيانات Azure SQL Edge في الحاوية نهائيا .