Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel werden die wenigen wichtigen Unterschiede bei der Funktionalität zwischen Machine Learning Services in azure SQL Managed Instance und SQL Server Machine Learning Services beschrieben.
Sprachunterstützung
Machine Learning Services in SQL Managed Instance und SQL Server unterstützen das Python- und R-Erweiterbarkeitsframework. Ein wichtiger Unterschied in der verwalteten SQL-Instanz besteht darin, dass nur Python und R unterstützt werden, und externe Sprachen wie Java können nicht hinzugefügt werden.
Die ersten Versionen von Python und R unterscheiden sich in sql Managed Instance und SQL Server:
| Plattform | Version der Python-Runtime | Versionen der R-Runtime |
|---|---|---|
| Verwaltete Azure SQL-Instanz | 3.7.2 | 3.5.2 |
| SQL Server 2022 * | - | - |
| SQL Server 2019 | 3.7.1 | 3.5.2 |
| SQL Server 2017 | 3.5.2 und 3.7.2 (CU22 und höher) | 3.3.3 und 3.5.2 (CU22 und höher) |
| SQL Server 2016 | Nicht verfügbar | 3.2.2 und 3.5.2 (SP2 CU14 und höher) |
* Ab SQL Server 2022 werden Laufzeiten für R, Python und Java nicht mehr innerhalb von SQL Setup ausgeliefert oder installiert. Installieren Sie stattdessen die von Ihnen gewünschten benutzerdefinierten Runtimes und Pakete für R- und/oder Python. Weitere Informationen finden Sie unter Installieren von SQL Server 2022 Machine Learning Services (Python und R) unter Windows.
Python- und R-Pakete
Es gibt keine Unterstützung in SQL Managed Instance für Pakete, die von externen Runtimes (z. B. Java) abhängen oder zugriff auf Betriebssystem-APIs für die Installation oder Verwendung benötigen.
Weitere Informationen zum Verwalten von Python- und R-Paketen finden Sie unter:
Verwalten von Paketen über sqlmlutils
Sie können Binärpakete mit sqlmlutils installieren, wenn Sie lokal bauen können, um ein Binärpaket als Ausgabe zu erzeugen. Beispiele finden Sie unter Installieren von R-Paketen mit sqlmlutils oder Installieren von Python-Paketen mit sqlmlutils.
Ressourcenverwaltung
In sql Managed Instance ist es nicht möglich, R-Ressourcen über Ressourcenkontrolle einzuschränken, und externe Ressourcenpools werden nicht unterstützt.
R-Ressourcen werden standardmäßig auf maximal 20% der verfügbaren SQL Managed Instance-Ressourcen festgelegt, wenn die Erweiterbarkeit aktiviert ist. Um diesen Standardprozentsatz zu ändern, erstellen Sie ein Azure-Supportticket.
Die Erweiterbarkeit wird mit den folgenden SQL-Befehlen aktiviert (die SQL-Verwaltete Instanz wird neu gestartet und ist für ein paar Sekunden nicht verfügbar).
sp_configure 'external scripts enabled', 1;
RECONFIGURE WITH OVERRIDE;
Verwenden Sie die folgenden Befehle, um die Erweiterbarkeit zu deaktivieren und 100% arbeitsspeicher- und CPU-Ressourcen in SQL Server wiederherzustellen:
sp_configure 'external scripts enabled', 0;
RECONFIGURE WITH OVERRIDE;
Die Gesamtressourcen, die für sql Managed Instance verfügbar sind, hängen davon ab, welche Dienstebene Sie auswählen. Weitere Informationen finden Sie unter Azure SQL-Datenbankkaufmodelle.
Nicht genügend Arbeitsspeicherfehler
Die Speicherauslastung hängt davon ab, wie viel in Ihren R-Skripts verwendet wird, und die Anzahl der parallelen Abfragen, die ausgeführt werden. Wenn für R nicht genügend Arbeitsspeicher verfügbar ist, wird eine Fehlermeldung angezeigt. Häufige Fehlermeldungen sind:
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.
Wenn Sie einen dieser Fehler erhalten, können Sie sie beheben, indem Sie Ihre Datenbank auf eine höhere Dienstebene skalieren.
Wenn bei der Azure SQL Managed Instance Speicherplatzfehler auftreten, überprüfen Sie sys.dm_os_out_of_memory_events.
SQL Managed Instance-Pools
Machine Learning Services wird derzeit für Azure SQL Managed Instance Pools (Vorschau) nicht unterstützt.
Ausgehender Netzwerkzugriff
Der Netzwerkzugriff ist unzulässig oder blockiert und kann nicht aktiviert werden. Die ausgehende Netzwerkverbindung für azure SQL Managed Instance ist für Machine Learning Services nicht verfügbar.
Nächste Schritte
- In der Übersicht finden Sie Machine Learning Services in Azure SQL Managed Instance.
- Informationen zur Verwendung von Python in Machine Learning Services finden Sie unter Ausführen von Python-Skripts.
- Informationen zur Verwendung von R in Machine Learning Services finden Sie unter Ausführen von R-Skripts.