الاختلافات الرئيسة بين خدمات التعلم الآلي في Azure SQL Managed Instance و SQL Server
توضح هذه المقالة الاختلافات الأساسية القليلة في الوظائف بين خدمات التعلم الآلي في مثيل Azure SQL المُدار و خدمات التعلم الآلي لـ SQL Server.
دعم اللغة
تدعم خدمات التعلم الآلي في كلٍّ من SQL Managed Instance و SQL Server إطار عمل التوسعةلـ Python و R. الاختلافات الرئيسة في SQL Managed Instance هي:
يتم دعم Python و R فقط. لا يمكن إضافة لغات خارجية مثل Java.
تختلف الإصدارات الأولية من Python و R:
النظام الأساسي إصدار وقت تشغيل بايثون إصدارات R runtime مثيل Azure SQL المُدار 3.7.2 3.5.2 SQL Server 2019 3.7.1 3.5.2 SQL Server 2017 3.5.2 و 3.7.2 (22 وحدة عملة والإصدارات الأحدث) 3.3.2 و3.5.2 (22 وحدة عملة والإصدارات الأحدث) SQL Server 2016 غير متاح 3.2.2 و 3.5.2 (SP2 CU14 والإصدارات الأحدث)
حزم Python و R
لا يوجد دعم في SQL Managed Instance للحزم التي تعتمد على أوقات التشغيل الخارجية (مثل Java) أو تحتاج إلى الوصول إلى واجهات برمجة التطبيقات لنظام التشغيل للتثبيت أو الاستخدام.
لمزيدٍ من المعلومات حول إدارة حزم Python و R؛ راجع:
إدارة الموارد
في SQL Managed Instance، لا يمكن تقييد موارد R من خلال Resource Governor، وتجمعات الموارد الخارجية غير مدعومة.
بشكل افتراضي، يتم تعيين موارد R إلى 20٪ كحد أقصى من موارد SQL المُدارة المتوافرة عند تمكين القابلية للتوسعة. لتغيير هذه النسبة المئوية الافتراضية؛ أنشئ بطاقة دعم Azure على https://azure.microsoft.com/support/create-ticket/.
يتم تمكين القابلية للتوسعة باستخدام أوامر SQL التالية (سيتم إعادة تشغيل SQL Managed Instance ولن يكون متاحًا لبضع ثوانٍ):
sp_configure 'external scripts enabled', 1;
RECONFIGURE WITH OVERRIDE;
لتعطيل القابلية للتوسعة واستعادة 100٪ من موارد الذاكرة ووحدة المعالجة المركزية إلى SQL Server، استخدم الأوامر التالية:
sp_configure 'external scripts enabled', 0;
RECONFIGURE WITH OVERRIDE;
يعتمد إجمالي الموارد المتاحة لـ SQL Managed Instance على مستوى الخدمة الذي تختاره. لمزيدٍ من المعلومات؛ راجع نماذج شراء قاعدة بيانات Azure SQL.
خطأ في الذاكرة غير كافٍ
يعتمد استخدام الذاكرة على المقدار المُستخدَم في نصوص R وعدد الاستعلامات المتوازية التي يتم تنفيذها. إذا كانت هناك ذاكرة غير كافية لـ R؛ فستتلقى رسالة خطأ. رسائل الخطأ الشائعة هي:
Unable to communicate with the runtime for 'R' script for request id: *******. Please check the requirements of 'R' runtime
'R' script error occurred during execution of 'sp_execute_external_script' with HRESULT 0x80004004. ...an external script error occurred: "..could not allocate memory (0 Mb) in C function 'R_AllocStringBuffer'"
An external script error occurred: Error: cannot allocate vector of size.
إذا تلقيت أحد هذه الأخطاء؛ فيمكنك حلها عن طريق توسيع قاعدة البيانات الخاصة بك إلى مستوى خدمة أعلى.
إذا واجهت أخطاء نفاد الذاكرة في Azure SQL Managed Instance، فراجع sys.dm_os_out_of_memory_events.
تجمعات مثيلات SQL المُدارة
خدمات التعلم الآلي غير مدعومة حاليًا في مجموعات مثيلات Azure SQL المُدارة (معاينة).
الخطوات التالية
- راجع النظرة العامة، خدمات التعلم الآلي في مثيل Azure SQL المُدار.
- لمعرفة كيفية استخدام Python في خدمات التعلم الآلي، راجع تشغيل نصوص Python النصية.
- لمعرفة كيفية استخدام R في خدمات التعلّم الآلي، راجع Run R scripts.