Freigeben über


Installieren von SQL Server Machine Learning Services (Python und R) auf Windows

Gilt für: SQL Server 2016 (13,x) SQL Server 2017 (14.x) SQL Server 2019 (15.x)

In diesem Artikel erfahren Sie, wie Sie SQL Server Machine Learning Services auf Windows installieren. Sie können Machine Learning Dienste verwenden, um Python- und R-Skripts in der Datenbank auszuführen.

Wichtig

Diese Anweisungen gelten für SQL Server 2016 (13,x), SQL Server 2017 (14,x) und SQL Server 2019 (15,x). Informationen zu SQL Server 2022 (16.x) finden Sie unter Install SQL Server 2022 Machine Learning Services auf Windows.

Python- und R-Versionsreferenz

In der folgenden Tabelle sind die Python- und R-Laufzeitversionen aufgeführt, die in jeder SQL Server Version enthalten sind. Verwenden Sie diese Tabelle, um zu bestimmen, welche Sprachversionen für Ihre SQL Server Instanz verfügbar sind.

SQL Server Version Python-Version R-Version
SQL Server 2016 (13.x) N/A (nur R) 3.2.2
SQL Server 2017 (14.x) RTM - CU21 3.5.2 3.3.3
SQL Server 2017 (14.x) CU22 und höher 3.5.2 und 3.7.2 3.3.3 und 3.5.2
SQL Server 2019 (15.x) 3.7.1 3.5.2
SQL Server 2022 (16.x) 3.10.2 4.2.0

Hinweis

Ab SQL Server 2022 (16.x) werden Laufzeiten für R, Python und Java nicht mehr mit SQL Server Setup installiert. Installieren Sie stattdessen Ihre gewünschten benutzerdefinierten Laufzeiten und Pakete. Weitere Informationen finden Sie unter Install SQL Server 2022 Machine Learning Services on Windows.

Weitere Informationen zu allen unterstützten Versionen finden Sie unter What is SQL Server Machine Learning Services?

Prüfliste für die Vorinstallation

  • Es ist eine Datenbank-Engine-Instanz erforderlich. Sie können nicht nur Python- oder R-Features installieren, obwohl Sie sie inkrementell zu einer vorhandenen eigenständigen Instanz hinzufügen können.

  • Für geschäftskontinuität werden Always On availability groups für Machine Learning Services unterstützt. Installieren Sie Machine Learning Services, und konfigurieren Sie Pakete auf jedem Knoten.

  • Das Installieren von Machine Learning Services wird nicht unterstützt auf einer Always On-Failoverclusterinstanz in SQL Server 2017. Es wird mit SQL Server 2019 und höher unterstützt. Sie müssen Machine Learning Services während der Installation installieren, und Features können einer vorhandenen Failover-Clusterinstanz danach nicht hinzugefügt werden.

  • Installieren Sie Machine Learning Dienste nicht auf einem Domänencontroller. Der Machine Learning Services-Teil des Setups schlägt fehl.

  • Installieren Sie nicht Shared Features>Machine Learning Server (Standalone) auf demselben Computer, auf dem eine Datenbankinstanz ausgeführt wird. Ein eigenständiger Server steht in Konkurrenz um die gleichen Ressourcen, wodurch die Leistung beider Installationen untergraben wird.

  • Parallele Installation mit anderen Versionen von Python und R wird unterstützt, es wird jedoch nicht empfohlen. Sie wird unterstützt, da die SQL Server Instanz eigene Kopien der Open Source R- und Anaconda-Verteilungen verwendet. Es wird nicht empfohlen, da das Ausführen von Code, der Python und R auf einem Computer außerhalb SQL Server verwendet, zu Problemen führen kann:

    • Die Verwendung einer anderen Bibliothek und verschiedener ausführbarer Dateien führt zu Ergebnissen, die mit dem in SQL Server ausgeführten Inhalt inkonsistent sind.
    • SQL Server können R- und Python-Skripts, die in externen Bibliotheken ausgeführt werden, nicht verwalten, was zu Ressourcenkonflikten führt.

Hinweis

Machine Learning Services ist standardmäßig auf SQL Server Big Data Clusters installiert. Wenn Sie einen Big Data-Cluster verwenden, müssen Sie die Schritte in diesem Artikel nicht ausführen. Weitere Informationen finden Sie unter Use Machine Learning Services (Python and R) on Big Data Clusters.

Wichtig

Stellen Sie nach Abschluss des Setups sicher, dass Sie die in diesem Artikel beschriebenen Nachkonfigurationsschritte durchführen. Diese Schritte umfassen das Aktivieren SQL Server für die Verwendung externer Skripts und das Hinzufügen von Konten, die für SQL Server zum Ausführen von R- und Python Aufträgen in Ihrem Auftrag erforderlich sind. Konfigurationsänderungen erfordern in der Regel einen Neustart der Instanz oder einen Neustart des Launchpad-Diensts.

Abrufen der Installationsmedien

Der Downloadspeicherort für SQL Server hängt von der Edition ab:

  • SQL Server Enterprise-, Standard- und Express-Editionen. Diese Editionen sind für die Verwendung in der Produktion lizenziert. Wenden Sie sich für die Installationsmedien der Editionen Standard und Enterprise an Ihren Softwareanbieter. Einkaufsinformationen und ein Verzeichnis mit Microsoft-Partner finden Sie auf der Einkaufswebsite von Microsoft.

  • Aktuellste kostenlose Edition

Weitere Informationen dazu, welche SQL Server Editionen Python- und R-Integration in Machine Learning Services unterstützen, finden Sie unter Editions und unterstützte Features von SQL Server 2017.

Weitere Informationen dazu, welche SQL Server Editionen Python- und R-Integration in Machine Learning Services unterstützen, finden Sie unter Editions und unterstützte Features von SQL Server 2019.

Setup ausführen

Bei lokalen Installationen müssen Sie das Setup als Administrator ausführen. Wenn Sie SQL Server aus einer Remotefreigabe installieren, müssen Sie ein Domänenkonto verwenden, das Über Lese- und Ausführungsberechtigungen für die Remotefreigabe verfügt.

  1. Starten Sie den Setup-Assistenten für SQL Server.

  2. Wählen Sie auf der Registerkarte InstallationNeue SQL Server eigenständige Installation aus, oder fügen Sie einer vorhandenen Installation Features hinzu.

    Screenshot mit der Option zum Erstellen einer SQL Server eigenständigen Installation oder zum Hinzufügen von Features zu einer vorhandenen Installation.

    Screenshot mit der Option zum Verwenden einer neuen SQL Server eigenständigen Installation oder zum Hinzufügen von Features zu einer vorhandenen Installation.

  3. Wählen Sie diese Optionen auf der Seite Funktionsauswahl aus:

    • Database Engine Services

      Um R und Python mit SQL Server zu verwenden, müssen Sie eine Instanz des Datenbankmoduls installieren. Sie können entweder eine Standardinstanz oder eine benannte Instanz verwenden.

    • Machine Learning Services (In-Database)

      Mit dieser Option werden die Datenbankdienste installiert, die die Ausführung von R- und Python-Skripten unterstützen.

    • Database Engine Services

      Um R oder Python mit SQL Server zu verwenden, müssen Sie eine Instanz des Datenbankmoduls installieren. Sie können entweder eine Standardinstanz oder eine benannte Instanz verwenden.

    • Machine Learning Services and Language Extension

      Mit dieser Option werden die Datenbankdienste installiert, die R- und Python-Skriptausführung unterstützen.

    • R

      Wählen Sie diese Option aus, um die Microsoft R-Pakete, -Interpreter und Open-Source-R hinzuzufügen.

    • Python

      Wählen Sie diese Option aus, um die Microsoft Python-Pakete, die Python-Ausführungsdatei und ausgewählte Bibliotheken aus der Anaconda-Distribution hinzuzufügen. Die spezifische Python Version, die in Ihrer SQL Server-Version enthalten ist, finden Sie unter Python und R-Versionsreferenz.

    Informationen zum Installieren und Verwenden von Java finden Sie unter Installieren SQL Server Java Spracherweiterung auf Windows.

    Screenshot mit Funktionsoptionen für R und Python.

    Screenshot mit der Auswahl von Feature-Optionen für R und Python.

    Hinweis

    Wählen Sie nicht die Option Machine Learning Server (Eigenständig) unter Shared Features aus. Diese Option ist für die Verwendung auf einem separaten Computer vorgesehen.

  1. Wählen Sie auf der Seite Zustimmung zur Installation von Microsoft R OpenAkzeptieren>Weiter aus.

    Die Lizenzbedingungen decken Folgendes ab:

    • Microsoft R Open.
    • Open-Source-R-Basispakete und -Tools
    • Verbesserte R-Pakete und Konnektivitätsanbieter, entwickelt vom Microsoft-Entwicklungsteam.
  2. Wählen Sie auf der Seite Consent to Install PythonAccept>Next aus. Der Python Open-Source-Lizenzvertrag umfasst auch Anaconda und verwandte Tools sowie einige neue Python Bibliotheken aus dem Microsoft-Entwicklungsteam.

    Hinweis

    Falls der Computer, den Sie verwenden, keinen Internetzugriff hat, können Sie das Setup zu diesem Zeitpunkt anhalten, um die Installationsprogramme separat herunterzuladen. Weitere Informationen finden Sie unter Installieren von Machine Learning-Komponenten ohne Internetzugang.

  3. Stellen Sie auf der Seite Installationsbereit sicher, dass die folgenden Auswahlmöglichkeiten aktiviert sind, und wählen Sie dann Installieren aus:

    • Database Engine-Dienste
    • Machine Learning Dienste (in der Datenbank)
    • R, Python oder beides

    Notieren Sie sich den Speicherort des Ordners unter dem Pfad ..\Setup Bootstrap\Log, in dem die Konfigurationsdateien gespeichert werden. Nach Abschluss des Setups können Sie die installierten Komponenten in der Zusammenfassungsdatei überprüfen.

  4. Wenn Sie nach Abschluss des Setups dazu aufgefordert werden, starten Sie den Computer neu. Nach dem Abschluss des Setupvorgangs sollten Sie unbedingt die vom Installations-Assistenten angezeigte Meldung lesen. Weitere Informationen finden Sie unter Anzeige und Lesen von SQL Server-Setupprotokolldateien.

  1. Wählen Sie auf der Seite Zustimmung zur Installation von Microsoft R OpenAkzeptieren>Weiter aus. Dieser Lizenzvertrag gilt für Microsoft R Open, das eine Distribution der Open-Source-R-Basispakete und -Tools enthält. Ferner sind erweiterte R-Pakete und Konnektivitätsanbieter aus dem Microsoft-Entwicklungsteam enthalten.

  2. Wählen Sie auf der Seite Consent to Install PythonAccept>Next aus. Der Python Open-Source-Lizenzvertrag umfasst auch Anaconda und verwandte Tools sowie einige neue Python Bibliotheken aus dem Microsoft-Entwicklungsteam.

  3. Stellen Sie auf der Seite Installationsbereit sicher, dass die folgenden Auswahlmöglichkeiten aktiviert sind, und wählen Sie dann Installieren aus:

    • Database Engine-Dienste
    • Machine Learning Dienste (in der Datenbank)
    • R, Python oder beides

    Notieren Sie sich den Speicherort des Ordners unter dem Pfad ..\Setup Bootstrap\Log, in dem die Konfigurationsdateien gespeichert werden. Nach Abschluss des Setups können Sie die installierten Komponenten in der Zusammenfassungsdatei überprüfen.

  4. Wenn Sie nach Abschluss des Setups dazu aufgefordert werden, starten Sie den Computer neu. Achten Sie unbedingt darauf, nach dem Abschluss des Setupvorgangs die vom Installations-Assistenten angezeigte Meldung zu lesen. Weitere Informationen finden Sie unter Anzeigen und Lesen von SQL Server Setup-Logdateien.

Festlegen von Umgebungsvariablen

Wenn Sie nur das R-Feature integrieren möchten, sollten Sie die Umgebungsvariable MKL_CBWR in den Intel Math Kernel Library-Berechnungen auf ensure consistent output (Konsistente Ausgabe sicherstellen) festlegen:

  1. In Control Panel, wählen Sie System and Security>System>Advanced System Settings>Environment Variables aus.

  2. Erstellen Sie eine neue Benutzer- oder Systemvariable:

    • Legen Sie den Namen der Variable auf MKL_CBWR fest.
    • Legen Sie den Wert der Variable auf AUTO fest.

Für diesen Schritt ist ein Neustart des Servers erforderlich. Wenn Sie im Begriff sind, die Skriptausführung zu aktivieren, können Sie den Neustart anhalten, bis die gesamte Konfiguration abgeschlossen ist.

Aktivieren der Skriptausführung

  1. Verwenden Sie SQL Server Management Studio (SSMS), um eine Verbindung mit der Instanz herzustellen, in der Sie SQL Server Machine Learning Services installiert haben.

  2. Wählen Sie Neue Abfrage aus, um ein Abfragefenster zu öffnen, und führen Sie dann den folgenden Befehl aus:

    EXEC sp_configure
    
  3. Der Wert für die Eigenschaft external scripts enabled sollte an diesem Punkt 0 betragen. Dieses Feature ist standardmäßig deaktiviert. Führen Sie die folgende Anweisung aus, um sie zu aktivieren, damit Sie R- oder Python-Skripts ausführen können:

    EXEC sp_configure  'external scripts enabled', 1
    RECONFIGURE WITH OVERRIDE
    

    Wenn Sie das Feature für die R-Sprache bereits aktiviert haben, brauchen Sie RECONFIGURE nicht noch einmal für Python auszuführen. Die zugrunde liegende Erweiterungsplattform unterstützt beide Sprachen.

Starten Sie den Dienst neu.

Wenn die Installation abgeschlossen ist, starten Sie die Datenbank-Engine neu. Durch den Neustart des Diensts wird auch der zugehörige SQL Server Launchpad-Dienst automatisch neu gestartet.

Sie können den Dienst mithilfe einer dieser Methoden neu starten:

  • Klicken Sie mit der rechten Maustaste auf den Restart-Befehl für die Instanz im Object Explorer in SSMS.
  • Das Element Services der Microsoft Management Console (MMC) in der Systemsteuerung
  • SQL Server Configuration Manager

Überprüfen der Installation

Gehen Sie folgendermaßen vor, um zu überprüfen, ob alle zum Starten eines externen Skripts verwendeten Komponenten ausgeführt werden:

  1. Öffnen Sie in SQL Server Management Studio ein neues Abfragefenster, und führen Sie den folgenden Befehl aus:

    EXECUTE sp_configure  'external scripts enabled'
    

    Anschließend ist run_value auf 1 festgelegt.

  2. Öffnen Sie das Services Systemsteuerungselement oder SQL Server Configuration Manager, und stellen Sie sicher, dass SQL Server Launchpad-Dienst ausgeführt wird. Sie sollten über einen Dienst für jede Datenbankmodulinstanz verfügen, die R oder Python installiert hat. Weitere Informationen zum Dienst finden Sie unter Extensibility-Architektur in SQL Server Machine Learning Services.

  3. Wenn Launchpad ausgeführt wird, können Sie einfache Python- und R-Skripts ausführen, um zu überprüfen, ob externe Skriptlaufzeiten mit SQL Server kommunizieren können.

    Öffnen Sie ein neues QueryFenster in SQL Server Management Studio, und führen Sie dann ein Skript wie:

    • Für R:

      EXEC sp_execute_external_script  @language =N'R',
      @script=N'
      OutputDataSet <- InputDataSet;
      ',
      @input_data_1 =N'SELECT 1 AS hello'
      WITH RESULT SETS (([hello] int not null));
      GO
      
    • Für Python:

      EXEC sp_execute_external_script  @language =N'Python',
      @script=N'
      OutputDataSet = InputDataSet;
      ',
      @input_data_1 =N'SELECT 1 AS hello'
      WITH RESULT SETS (([hello] int not null));
      GO
      

    Die Ausführung des Skripts kann einige Zeit in Anspruch nehmen, wenn die externe Skriptruntime zum ersten Mal geladen wird. Die Ergebnisse sollten etwa wie folgt aussehen:

    Hallo
    1

Hinweis

Spalten oder Überschriften, die im skript Python verwendet werden, werden nicht automatisch zurückgegeben. Um Spaltennamen für Ihre Ausgabe hinzuzufügen, müssen Sie das Schema für den Rückgabedatensatz angeben. Verwenden Sie hierzu den WITH RESULTS-Parameter der gespeicherten Prozedur, benennen Sie die Spalten, und geben Sie den SQL-Datentyp an.

Sie können beispielsweise die folgende Zeile hinzufügen, um einen beliebigen Spaltennamen zu generieren: WITH RESULT SETS ((Col1 AS int)).

Anwenden von Updates

Vorhandene Installation

Wenn Sie einer vorhandenen SQL Server Instanz Machine Learning Dienste hinzugefügt und zuvor ein kumulatives Update (CU) angewendet haben, können die Versionen Ihres Datenbankmoduls und das Feature Machine Learning Dienste unterschiedlich sein. Dieser Unterschied kann zu unerwartetem Verhalten oder Fehlern führen, da launchpad.exe und sqlservr.exe verschiedene Versionen aufweisen.

Führen Sie die folgenden Schritte aus, um Machine Learning Services in dieselbe Version wie Ihr Datenbankmodul zu bringen:

  1. Ermitteln Sie das kumulative Update (CU), das Sie für die Datenbank-Engine haben. Führen Sie diese T-SQL-Anweisung aus:

    SELECT @@VERSION
    

    Hier ist eine Beispielausgabe aus SQL Server 2019 CU 8:

    Microsoft SQL Server 2019 (RTM-CU8-GDR) (KB4583459) - 15.0.4083.2 (X64)   Nov  2 2020 18:35:09   Copyright (C) 2019 Microsoft Corporation  Developer Edition (64-bit) on Windows 10 Enterprise 10.0 (X64) (Build 19042: ) (Hypervisor)
    

    Weitere Informationen finden Sie unter Determinieren Sie die Version, Edition und Updateebene von SQL Server und deren Komponenten.

  2. Laden Sie gegebenenfalls das kumulative Update (CU) herunter, das Sie für die Datenbank-Engine installiert haben.

  3. Führen Sie die Installation des kumulativen Updates aus, und folgen Sie den Anweisungen, um es für Machine Learning Services erneut zu installieren. Wählen Sie die vorhandene Instanz aus, in der Machine Learning Dienste installiert sind. Der Upgradestatus wird auf der Seite Featureauswahl als Unvollständig installiert angezeigt.

  4. Wählen Sie Weiter aus, und fahren Sie mit der Installation fort.

Neue Installation

Wenn Sie Machine Learning Services mit einer neuen Installation des SQL Server-Datenbankmoduls installieren, empfehlen wir, das neueste kumulative Update sowohl auf das Datenbankmodul als auch auf machine learning Komponenten anzuwenden.

Auf mit dem Internet verbundenen Geräten werden kumulative Updates in der Regel über Windows Update angewendet. Sie können für kontrollierte Updates aber auch die folgenden Schritte verwenden. Wenn Sie das Update für das Datenbankmodul anwenden, ruft Setup kumulative Updates für alle Python- oder R-Features ab, die Sie auf derselben Instanz installiert haben.

Nicht verbundene Server erfordern zusätzliche Schritte. Weitere Informationen finden Sie unter Installieren auf Computern ohne Internetzugriff > Kumulative Updates anwenden.

  1. Beginnen Sie mit einer Basisinstanz, die bereits installiert ist: SQL Server Initialversion.

  2. Wechseln Sie zur Liste der Updates für Microsoft SQL Server.

  3. Wählen Sie das neueste kumulative Update aus. Eine ausführbare Datei wird automatisch heruntergeladen und extrahiert.

  4. Führen Sie Setup aus, und stimmen Sie den Lizenzbedingungen zu.

  5. Überprüfen Sie auf der Seite Featureauswahl die Features, für die kumulative Updates angewendet werden. Es sollte jede für die aktuelle Instanz installierte Funktion einschließlich Machine Learning-Funktionen angezeigt werden. Das Setup lädt die CAB-Dateien herunter, die zum Aktualisieren aller Features erforderlich sind.

    Screenshot, der eine Zusammenfassung der installierten Features zeigt.

  6. Führen Sie den Assistenten weiter durch. Akzeptieren Sie die Lizenzbedingungen für R und Python Distributionen.

Zusätzliche Konfiguration

Wenn der Überprüfungsschritt für externe Skripts erfolgreich war, können Sie R- oder Python Befehle von SQL Server Management Studio, Visual Studio Code oder einem anderen Client ausführen, der T-SQL-Anweisungen an den Server senden kann.

Wenn beim Ausführen des Befehls ein Fehler aufgetreten ist, müssen Sie möglicherweise zusätzliche Konfigurationen für den Dienst oder die Datenbank vornehmen. Auf Instanzebene können die zusätzlichen Konfigurationen Folgendes umfassen:

In SQL Server 2019 zu Windows hat sich der Isolationsmechanismus geändert. Dieser Mechanismus wirkt sich auf SQLRUserGroup, Firewallregeln, Dateiberechtigungen und die implizite Authentifizierung aus. Weitere Informationen finden Sie unter Isolation-Änderungen für Machine Learning Services.

Für die Datenbank benötigen Sie möglicherweise Konfigurationsupdates. Weitere Informationen finden Sie unter Berechtigungen für Benutzer zu SQL Server Machine Learning Services.

Hinweis

Ob die zusätzliche Konfiguration erforderlich ist, hängt von Ihrem Sicherheitsschema ab, wo Sie SQL Server installiert haben und wie Sie erwarten, dass Benutzer eine Verbindung mit der Datenbank herstellen und externe Skripts ausführen.

Empfohlene Optimierungen

Nachdem Sie nun alles zum Laufen gebracht haben, möchten Sie möglicherweise auch den Server optimieren, um maschinelles Lernen zu unterstützen oder ein vortrainiertes maschinelles Lernmodell zu installieren.

Hinzufügen weiterer Mitarbeiterkonten

Wenn Sie erwarten, dass viele Benutzer gleichzeitig Skripts ausführen, können Sie die Anzahl der Workerkonten erhöhen, die dem Launchpad-Dienst zugewiesen sind. Weitere Informationen finden Sie unter Skalierung paralleler Ausführung externer Skripts in SQL Server Machine Learning Services.

Optimieren des Servers für die Skriptausführung

Die Standardeinstellungen für SQL Server-Setup sollen das Gleichgewicht des Servers für eine Vielzahl anderer Dienste und Anwendungen optimieren.

In den Standardeinstellungen können Ressourcen für Machine Learning-Vorgänge, insbesondere für speicherintensive Vorgänge, eingeschränkt oder gedrosselt sein.

Um sicherzustellen, dass Machine Learning-Aufträge entsprechend priorisiert und ressourcengerecht sind, empfiehlt es sich, SQL Server Resource Governor zum Konfigurieren eines externen Ressourcenpools zu verwenden. Möglicherweise möchten Sie auch den Arbeitsspeicher ändern, der dem SQL Server Datenbankmodul zugeordnet ist, oder die Anzahl der Konten erhöhen, die unter dem SQL Server Launchpad-Dienst ausgeführt werden.

Wenn Sie Standard Edition verwenden und nicht über Resource Governor verfügen, können Sie dynamische Verwaltungsansichten, SQL Server erweiterte Ereignisse und Windows Ereignisüberwachung verwenden, um die Serverressourcen zu verwalten.

Installieren zusätzlicher Python- und R-Pakete

Die Python- und R-Lösungen, die Sie für SQL Server erstellen, können folgendes aufrufen:

  • Grundfunktionen
  • Funktionen aus den proprietären Paketen, die mit SQL Server installiert sind.
  • Drittanbieterpakete, die mit der von SQL Server installierten Version von Open-Source-Python und R kompatibel sind.

Pakete, die Sie aus SQL Server verwenden möchten, müssen in der Von der Instanz verwendeten Standardbibliothek installiert werden. Wenn Sie eine separate Installation von Python oder R auf dem Computer oder wenn Sie Pakete für Benutzerbibliotheken installiert haben, können Sie diese Pakete nicht von T-SQL verwenden.

Sie können zum Installieren und Verwalten zusätzlicher Pakete Benutzergruppen für die Freigabe von Paketen auf Datenbankebene einrichten oder Datenbankrollen so konfigurieren, dass Benutzer ihre eigenen Pakete installieren können. Weitere Informationen finden Sie unter Installieren neuer R-Pakete.