Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article décrit les quelques différences clés dans les fonctionnalités entre Machine Learning Services dans Azure SQL Managed Instance et SQL Server Machine Learning Services.
Assistance linguistique
Machine Learning Services dans SQL Managed Instance et SQL Server prennent en charge l’infrastructure d’extensibilité Python et R. Une différence clé dans SQL Managed Instance est que seul Python et R sont pris en charge, et que des langages externes tels que Java ne peuvent pas être ajoutés.
Les versions initiales de Python et R sont différentes dans SQL Managed Instance et SQL Server :
| Platform | Version du runtime Python | Versions du runtime R |
|---|---|---|
| Azure SQL Managed Instance (Instance gérée Azure SQL) | 3.7.2 | 3.5.2 |
| SQL Server 2022 * | - | - |
| SQL Server 2019 | 3.7.1 | 3.5.2 |
| SQL Server 2017 | 3.5.2 et 3.7.2 (CU22 et versions ultérieures) | 3.3.3 et 3.5.2 (CU22 et versions ultérieures) |
| SQL Server 2016 | Non disponible | 3.2.2 et 3.5.2 (SP2 CU14 et versions ultérieures) |
* À compter de SQL Server 2022, les runtimes pour R, Python et Java ne sont plus expédiés ou installés dans le programme d’installation de SQL. Au lieu de cela, installez le(s) runtime(s) et les packages personnalisés R et/ou Python souhaités. Pour plus d’informations, consultez Installer SQL Server 2022 Machine Learning Services (Python et R) sur Windows.
Packages Python et R
Il n’existe aucune prise en charge dans SQL Managed Instance pour les packages qui dépendent des runtimes externes (comme Java) ou qui ont besoin d’accéder aux API du système d’exploitation pour l’installation ou l’utilisation.
Pour plus d’informations sur la gestion des packages Python et R, consultez :
Gérer des packages via sqlmlutils
Vous pouvez installer des packages binaires avec sqlmlutils, si vous pouvez générer localement un package binaire en tant que sortie. Pour obtenir des exemples, consultez Installer des packages R avec sqlmlutils ou Installer des packages Python avec sqlmlutils.
Gouvernance des ressources
Dans SQL Managed Instance, il n’est pas possible de limiter les ressources R via Resource Governor et les pools de ressources externes ne sont pas pris en charge.
Par défaut, les ressources R sont définies sur un maximum de 20% des ressources SQL Managed Instance disponibles lorsque l’extensibilité est activée. Pour modifier ce pourcentage par défaut, créez un ticket de support Azure.
L’extensibilité est activée avec les commandes SQL suivantes (SQL Managed Instance redémarre et n’est pas disponible pendant quelques secondes) :
sp_configure 'external scripts enabled', 1;
RECONFIGURE WITH OVERRIDE;
Pour désactiver l’extensibilité et restaurer 100% de ressources de mémoire et d’UC sur SQL Server, utilisez les commandes suivantes :
sp_configure 'external scripts enabled', 0;
RECONFIGURE WITH OVERRIDE;
Le nombre total de ressources disponibles pour SQL Managed Instance dépend du niveau de service que vous choisissez. Pour plus d’informations, consultez les modèles d’achat Azure SQL Database.
Erreur de mémoire insuffisante
L’utilisation de la mémoire dépend de la quantité utilisée dans vos scripts R et du nombre de requêtes parallèles exécutées. Si la mémoire est insuffisante pour R, un message d’erreur s’affiche. Les messages d’erreur courants sont les suivants :
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.
Si vous recevez l’une de ces erreurs, vous pouvez la résoudre en mettant à l’échelle votre base de données vers un niveau de service supérieur.
Si vous rencontrez des erreurs de mémoire insuffisante dans Azure SQL Managed Instance, examinez sys.dm_os_out_of_memory_events.
Pool de SQL Managed Instance
Machine Learning Services n’est actuellement pas pris en charge sur les pools Azure SQL Managed Instance (préversion).
Accès réseau sortant
L’accès réseau est interdit ou bloqué et ne peut pas être activé. La connexion réseau sortante pour Azure SQL Managed Instance n’est pas disponible pour Machine Learning Services.
Étapes suivantes
- Consultez la vue d’ensemble de Machine Learning Services dans Azure SQL Managed Instance.
- Pour savoir comment utiliser Python dans Machine Learning Services, consultez Exécuter des scripts Python.
- Pour savoir comment utiliser R dans Machine Learning Services, consultez Exécuter des scripts R.