Installieren einer benutzerdefinierten Python-Laufzeit für SQL Server

Gilt für: SQL Server 2019 (15.x)

Hier erfahren Sie, wie Sie eine benutzerdefinierte Python-Runtime zum Ausführen von externen Python-Skripts mit SQL Server auf folgenden Distributionen:

  • Windows
  • Ubuntu Linux
  • Red Hat Enterprise Linux (RHEL)
  • SUSE Linux Enterprise Server (SLES)

Die benutzerdefinierte Runtime kann Machine Learning-Skripts ausführen und verwendet die SQL Server-Spracherweiterungen.

Verwenden Sie Ihre eigene Version der Python-Runtime anstelle der Standardversion der Runtime mit SQL Server zu verwenden, die mit SQL Server Machine Learning Services installiert wird.

Ab SQL Server 2022 (16.x) werden Runtimes für R, Python und Java nicht mehr im Rahmen des SQL-Setups installiert. Installieren Sie stattdessen Ihre gewünschten benutzerdefinierten Python-Runtimes und -Pakete. Weitere Informationen finden Sie unter Installieren von SQL Server 2022 Machine Learning Services (Python und R) unter Windows oder Installieren von SQL Server Machine Learning Services (Python und R) unter Linux.

Voraussetzungen

Vor der Installation einer benutzerdefinierten Python-Laufzeit müssen Sie Folgendes installieren:

Installieren von Spracherweiterungen

Hinweis

Wenn Sie Machine Learning Services unter SQL Server 2019 installiert haben, sind die Spracherweiterungen bereits installiert, und Sie können diesen Schritt überspringen.

Führen Sie die folgenden Schritte aus, um SQL Server-Spracherweiterungen zu installieren, die für die benutzerdefinierte Python-Runtime verwendet werden.

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

  2. Klicken Sie auf der Registerkarte Installation auf Neue eigenständige SQL Server-Installation oder Hinzufügen von Funktionen zu einer vorhandenen Installation.

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

    • Datenbank-Engine-Dienste

      Sie müssen eine Instanz der Datenbank-Engine installieren, um Spracherweiterungen mit SQL Server verwenden zu können. Sie können entweder eine neue oder eine vorhandene Instanz verwenden.

    • Machine Learning-Dienste und -Spracherweiterungen

      Wählen Sie Machine Learning-Dienste und -Spracherweiterungen aus. Wählen Sie nicht Python aus, da Sie die benutzerdefinierte Python-Runtime später installieren werden.

      SQL Server 2019 Language Extensions setup.

  4. Stellen Sie auf der Seite Installationsbereit sicher, dass die folgenden Auswahlmöglichkeiten aktiviert sind, und klicken Sie auf Installieren.

    • -Datenbank-Engine-Dienste
    • Machine Learning-Dienste und -Spracherweiterungen
  5. Starten Sie nach Abschluss des Setups den Computer neu, wenn Sie dazu aufgefordert werden.

Wichtig

Wenn Sie eine neue Instanz von SQL Server 2019 mit Spracherweiterungen installieren, installieren Sie das kumulative Update (CU) 3 oder höher, bevor Sie mit dem nächsten Schritt fortfahren.

Installieren von Python

Die für die benutzerdefinierte Python-Runtime verwendete Python-Spracherweiterung unterstützt derzeit nur Python 3.7. Wenn Sie eine andere Version von Python verwenden möchten, folgen Sie den Anweisungen im GitHub-Repository für die Python-Spracherweiterung, um die Erweiterung zu ändern und neu zu erstellen.

  1. Laden Sie Python 3.7 für Windows herunter, und führen Sie das Setup auf dem Server aus.

  2. Wählen Sie Add Python 3.7 to PATH (Python 3.7 zu PATH hinzufügen) und dann Installation anpassen aus.

    Python 3.7 installation - Add Python 3.7 to PATH

  3. Behalten Sie unter Optionale Features die Standardeinstellungen bei, und wählen Sie Weiter aus.

  4. Wählen Sie Für alle Benutzer installieren aus, und merken Sie sich den Installationsort.

    Python 3.7 installation - Install for all users

  5. Wählen Sie Installieren aus.

Installieren von Pandas

Installieren Sie das Pandas-Paket für Python über eine Eingabeaufforderung mit erhöhten Rechten (Als Administrator ausführen):

python.exe -m pip install pandas

Gewähren des Zugriffs auf den Python-Ordner

Führen Sie die folgenden icacls-Befehle in einer neuen Eingabeaufforderung mit erhöhten Rechten aus, um Zugriff auf den SQL Server-Launchpad-Dienst und SID S-1-15-2-1 (ALL_APPLICATION_PACKAGES) LESE- und AUSFÜHRUNGSZUGRIFF auf dem Python-Installationsspeicherort zu gewähren.

In den folgenden Beispielen wird der Python-Installationsspeicherort als C:\Program Files\Python37verwendet. Wenn sich Ihr Speicherort unterscheidet, dann ändern Sie ihn im Befehl.

  1. Erteilen Sie Berechtigungen für Benutzername des SQL Server-Launchpad Diensts.

    icacls "C:\Program Files\Python37" /grant "NT Service\MSSQLLAUNCHPAD":(OI)(CI)RX /T
    

    Bei einer benannter Instanz ist der Befehl icacls "C:\Program Files\Python37" /grant "NT Service\MSSQLLAUNCHPAD$SQL01":(OI)(CI)RX /T für eine Instanz namens SQL01.

  2. Erteilen Sie die Berechtigung für SID S-1-15-2-1.

    icacls "C:\Program Files\Python37" /grant *S-1-15-2-1:(OI)(CI)RX /T
    

    Der vorangehende Befehl erteilt Berechtigungen für die Computer-SID S-1-15-2-1, was ALLEN ANWENDUNGSPAKETEN auf einer englischen Version von Windows entspricht. Alternativ können Sie icacls "C:\Program Files\Python37" /grant "ALL APPLICATION PACKAGES":(OI)(CI)RX /T in einer englischen Version von Windows verwenden.

Neustart von SQL Server-Launchpad

Führen Sie die folgenden Schritte aus, um den SQL Server-Launchpad-Dienst neu zu starten.

  1. Öffnen Sie den SQL Server-Konfigurations-Manager.

  2. Klicken Sie unter SQL Server-Dienste mit der rechten Maustaste auf SQL Server-Launchpad (MSSQLSERVER), und wählen Sie Neu starten aus. Wenn Sie eine benannte Instanz verwenden, wird der Instanzname anstelle von (MSSQLSERVER) angezeigt.

Registrieren der Spracherweiterung

Führen Sie die folgenden Schritte aus, um die Python-Spracherweiterung herunterzuladen und zu registrieren, die für die benutzerdefinierte Python-Runtime verwendet wird.

  1. Laden Sie die Datei python-lang-extension-windows-release.zip aus dem GitHub-Repository für die SQL Server-Spracherweiterungen herunter.

    Alternativ können Sie auch die Debugversion (python-lang-extension-windows-debug.zip) in einer Entwicklungs- oder Testumgebung verwenden. Die Debugversion bietet ausführliche Protokollierungsinformationen, um eventuelle Fehler zu untersuchen, und wird nicht für Produktionsumgebungen empfohlen.

  2. Verwenden Sie Azure Data Studio, um eine Verbindung mit Ihrer SQL Server-Instanz herzustellen, und führen Sie den folgenden T-SQL-Befehl aus, um die Python-Spracherweiterung mit CREATE EXTERNAL LANGUAGE zu registrieren.

    Ändern Sie den Pfad in dieser Anweisung, um den Speicherort der heruntergeladenen ZIP-Spracherweiterungsdatei (python-lang-extension-windows) und den Speicherort Ihrer Python-Installation (C:\\Program Files\\Python37) anzugeben.

    CREATE EXTERNAL LANGUAGE [myPython]
    FROM (CONTENT = N'C:\path\to\python-lang-extension-windows-release.zip', 
        FILE_NAME = 'pythonextension.dll', 
        ENVIRONMENT_VARIABLES = N'{"PYTHONHOME": "C:\\Program Files\\Python37"}');
    GO
    

    Führen Sie die Anweisung für jede Datenbank aus, in der Sie die Python-Spracherweiterung verwenden möchten.

    Hinweis

    Python ist ein reserviertes Wort und kann nicht als Name für einen neuen externen Sprachnamen verwendet werden. Verwenden Sie stattdessen einen anderen Namen. Die obige Anweisung verwendet z. B. myPython.

Voraussetzungen

Vor der Installation einer benutzerdefinierten Python-Laufzeit müssen Sie Folgendes installieren:

Installieren von Spracherweiterungen

Hinweis

Wenn Sie Machine Learning Services unter SQL Server 2019 installiert haben, ist das Paket mssql-server-extensibility für Spracherweiterungen bereits installiert, und Sie können diesen Schritt überspringen.

Führen Sie die folgenden Befehle aus, um SQL Server-Spracherweiterungen unter Ubuntu Linux zu installieren, die für die benutzerdefinierte Python-Runtime verwendet werden.

  1. Führen Sie diesen Befehl wenn möglich aus, um die Pakete auf dem System vor der Installation zu aktualisieren.

    # Install as root or sudo
    sudo apt-get update
    
  2. Ubuntu verfügt möglicherweise nicht über die Option „https apt transport“. Führen Sie diesen Befehl aus, um sie zu installieren.

    # Install as root or sudo
    apt-get install apt-transport-https
    
  3. Installieren Sie mssql-server-extensibility mit diesem Befehl.

    # Install as root or sudo
    sudo apt-get install mssql-server-extensibility
    

Installieren von Python 3.7 and Pandas

Die für die benutzerdefinierte Python-Runtime verwendete Python-Spracherweiterung unterstützt derzeit nur Python 3.7. Wenn Sie eine andere Version von Python verwenden möchten, folgen Sie den Anweisungen im GitHub-Repository für die Python-Spracherweiterung, um die Erweiterung zu ändern und neu zu erstellen.

  1. Führen Sie die folgenden Befehle aus, um Python 3.7 zu installieren.

    # Install python3.7 and the corresponding library:
    sudo add-apt-repository ppa:deadsnakes/ppa
    sudo apt-get update
    sudo apt-get install python3.7 python3-pip libpython3.7
    
  2. Führen Sie den folgenden Befehl aus, um das Pandas-Paket zu installieren

    # Install pandas to /usr/lib:
    sudo python3.7 -m pip install pandas -t /usr/lib/python3.7/dist-packages
    

Benutzerdefinierte Installation von Python

Hinweis

Wenn Sie Python 3.7 am Standardspeicherort von /usr/lib/python3.7 installiert haben, können Sie diesen Abschnitt überspringen und mit dem Abschnitt Registrieren der Spracherweiterung fortfahren.

Wenn Sie Ihre eigene Version von Python 3.7 erstellt haben, verwenden Sie die folgenden Befehle, um SQL Server über Ihre benutzerdefinierte Installation zu informieren.

Hinzufügen einer Umgebungsvariablen

Bearbeiten Sie zunächst den Dienst mssql-launchpadd, um der Datei /etc/systemd/system/mssql-launchpadd.service.d/override.conf die PYTHONHOME-Umgebungsvariable hinzuzufügen.

  1. Öffnen Sie die Datei mit systemctl.

    sudo systemctl edit mssql-launchpadd
    
  2. Fügen Sie den folgenden Text in die Datei /etc/systemd/system/mssql-launchpadd.service.d/override.conf ein, die geöffnet wird. Legen Sie den Wert von PYTHONHOME auf den benutzerdefinierten Python-Installationspfad fest.

    [Service]
    Environment="PYTHONHOME=<path to the python3.7 lib>"
    
  3. Speichern Sie die Datei, und schließen Sie den Editor.

Stellen Sie als nächstes sicher, dass libpython3.7m.so.1.0 geladen werden kann.

  1. Erstellen Sie eine benutzerdefinierte Datei „python.conf“ in /etc/ld.so.conf.d.

    sudo vi /etc/ld.so.conf.d/custom-python.conf
    
  2. Fügen Sie in der Datei, die geöffnet wird, den Pfad zu libpython3.7m.so.1.0 aus der benutzerdefinierten Python-Installation hinzu.

    <path to the python3.7 lib>
    
  3. Speichern Sie die neue Datei, und schließen Sie den Editor.

  4. Führen Sie ldconfig aus, und vergewissern Sie sich, dass libpython3.7m.so.1.0 geladen werden kann, indem Sie den folgenden Befehl ausführen und überprüfen, ob die abhängigen Bibliotheken gefunden werden.

    sudo ldconfig
    ldd <path to the python3.7 lib>/libpython3.7m.so.1.0
    

Gewähren des Zugriffs auf den Python-Ordner

Legen Sie die datadirectories-Option im Erweiterbarkeitsabschnitt der Datei /var/opt/mssql/mssql.conf auf die benutzerdefinierte Python-Installation fest.

sudo /opt/mssql/bin/mssql-conf set extensibility.datadirectories <path to python3.7>

Neustart von mssql-launchpadd

Führen Sie den folgenden Befehl aus, um mssql-launchpadd neu zu starten:

sudo systemctl restart mssql-launchpadd

Registrieren der Spracherweiterung

Führen Sie die folgenden Schritte aus, um die Python-Spracherweiterung herunterzuladen und zu registrieren, die für die benutzerdefinierte Python-Runtime verwendet wird.

  1. Laden Sie die Datei python-lang-extension-linux-release.zip aus dem GitHub-Repository für die SQL Server-Spracherweiterungen herunter.

    Alternativ können Sie auch die Debugversion (python-lang-extension-linux-debug.zip) in einer Entwicklungs- oder Testumgebung verwenden. Die Debugversion bietet ausführliche Protokollierungsinformationen, um eventuelle Fehler zu untersuchen, und wird nicht für Produktionsumgebungen empfohlen.

  2. Verwenden Sie Azure Data Studio, um eine Verbindung mit Ihrer SQL Server-Instanz herzustellen, und führen Sie den folgenden T-SQL-Befehl aus, um die Python-Spracherweiterung mit CREATE EXTERNAL LANGUAGE zu registrieren.

    Ändern Sie den Pfad in dieser Anweisung, um den Speicherort der heruntergeladenen ZIP-Spracherweiterungsdatei (python-lang-extension-linux-release.zi) anzugeben.

    CREATE EXTERNAL LANGUAGE [myPython]
    FROM (CONTENT = N'/path/to/python-lang-extension-linux-release.zip', FILE_NAME = 'libPythonExtension.so.1.1');
    GO
    

    Führen Sie die Anweisung für jede Datenbank aus, in der Sie die Python-Spracherweiterung verwenden möchten.

    Hinweis

    Python ist ein reserviertes Wort und kann nicht als Name für einen neuen externen Sprachnamen verwendet werden. Verwenden Sie stattdessen einen anderen Namen. Die obige Anweisung verwendet z. B. myPython.

Voraussetzungen

Vor der Installation einer benutzerdefinierten Python-Laufzeit müssen Sie Folgendes installieren:

Installieren von Spracherweiterungen

Hinweis

Wenn Sie Machine Learning Services unter SQL Server 2019 installiert haben, ist das Paket mssql-server-extensibility für Spracherweiterungen bereits installiert, und Sie können diesen Schritt überspringen.

Führen Sie die folgenden Befehle aus, um SQL Server-Spracherweiterungen unter Red Hat Enterprise Linux (RHEL) zu installieren, die für die benutzerdefinierte Python-Runtime verwendet werden.

# Install as root or sudo
sudo yum install mssql-server-extensibility

Installieren von Python 3.7 and Pandas

Die für die benutzerdefinierte Python-Runtime verwendete Python-Spracherweiterung unterstützt derzeit nur Python 3.7. Wenn Sie eine andere Version von Python verwenden möchten, folgen Sie den Anweisungen im GitHub-Repository für die Python-Spracherweiterung, um die Erweiterung zu ändern und neu zu erstellen.

  1. Führen Sie die folgenden Befehle aus, um Python 3.7 zu installieren.

    # Install python3.7 and the corresponding library:
    yum install gcc openssl-devel bzip2-devel libffi-devel zlib-devel
    
    cd /usr/src
    wget https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tgz
    tar xzf Python-3.7.9.tgz
    
    cd Python-3.7.9
    ./configure --enable-optimizations --prefix=/usr
    make altinstall
    
  2. Führen Sie den folgenden Befehl aus, um das Pandas-Paket zu installieren

    # Install pandas to /usr/lib:
    sudo python3.7 -m pip install pandas -t /usr/lib/python3.7/dist-packages
    

Benutzerdefinierte Installation von Python

Hinweis

Wenn Sie Python 3.7 am Standardspeicherort von /usr/lib/python3.7 installiert haben, können Sie diesen Abschnitt überspringen und mit dem Abschnitt Registrieren der Spracherweiterung fortfahren.

Wenn Sie Ihre eigene Version von Python 3.7 erstellt haben, verwenden Sie die folgenden Befehle, um SQL Server über Ihre benutzerdefinierte Installation zu informieren.

Hinzufügen einer Umgebungsvariablen

Bearbeiten Sie zunächst den Dienst mssql-launchpadd, um der Datei /etc/systemd/system/mssql-launchpadd.service.d/override.conf die PYTHONHOME-Umgebungsvariable hinzuzufügen.

  1. Öffnen Sie die Datei mit systemctl.

    sudo systemctl edit mssql-launchpadd
    
  2. Fügen Sie den folgenden Text in die Datei /etc/systemd/system/mssql-launchpadd.service.d/override.conf ein, die geöffnet wird. Legen Sie den Wert von PYTHONHOME auf den benutzerdefinierten Python-Installationspfad fest.

    [Service]
    Environment="PYTHONHOME=<path to the python3.7 lib>"
    
  3. Speichern Sie die Datei, und schließen Sie den Editor.

Stellen Sie als nächstes sicher, dass libpython3.7m.so.1.0 geladen werden kann.

  1. Erstellen Sie eine benutzerdefinierte Datei „python.conf“ in /etc/ld.so.conf.d.

    sudo vi /etc/ld.so.conf.d/custom-python.conf
    
  2. Fügen Sie in der Datei, die geöffnet wird, den Pfad zu libpython3.7m.so.1.0 aus der benutzerdefinierten Python-Installation hinzu.

    <path to the python3.7 lib>
    
  3. Speichern Sie die neue Datei, und schließen Sie den Editor.

  4. Führen Sie ldconfig aus, und vergewissern Sie sich, dass libpython3.7m.so.1.0 geladen werden kann, indem Sie den folgenden Befehl ausführen und überprüfen, ob die abhängigen Bibliotheken gefunden werden.

    sudo ldconfig
    ldd <path to the python3.7 lib>/libpython3.7m.so.1.0
    

Gewähren des Zugriffs auf den Python-Ordner

Legen Sie die datadirectories-Option im Erweiterbarkeitsabschnitt der Datei /var/opt/mssql/mssql.conf auf die benutzerdefinierte Python-Installation fest.

sudo /opt/mssql/bin/mssql-conf set extensibility.datadirectories <path to python3.7>

Neustart von mssql-launchpadd

Führen Sie den folgenden Befehl aus, um mssql-launchpadd neu zu starten:

sudo systemctl restart mssql-launchpadd

Registrieren der Spracherweiterung

Führen Sie die folgenden Schritte aus, um die Python-Spracherweiterung herunterzuladen und zu registrieren, die für die benutzerdefinierte Python-Runtime verwendet wird.

  1. Laden Sie die Datei python-lang-extension-linux-release.zip aus dem GitHub-Repository für die SQL Server-Spracherweiterungen herunter.

    Alternativ können Sie auch die Debugversion (python-lang-extension-linux-debug.zip) in einer Entwicklungs- oder Testumgebung verwenden. Die Debugversion bietet ausführliche Protokollierungsinformationen, um eventuelle Fehler zu untersuchen, und wird nicht für Produktionsumgebungen empfohlen.

  2. Verwenden Sie Azure Data Studio, um eine Verbindung mit Ihrer SQL Server-Instanz herzustellen, und führen Sie den folgenden T-SQL-Befehl aus, um die Python-Spracherweiterung mit CREATE EXTERNAL LANGUAGE zu registrieren.

    Ändern Sie den Pfad in dieser Anweisung, um den Speicherort der heruntergeladenen ZIP-Spracherweiterungsdatei (python-lang-extension-linux-release.zi) anzugeben.

    CREATE EXTERNAL LANGUAGE [myPython]
    FROM (CONTENT = N'/path/to/python-lang-extension-linux-release.zip', FILE_NAME = 'libPythonExtension.so.1.1');
    GO
    

    Führen Sie die Anweisung für jede Datenbank aus, in der Sie die Python-Spracherweiterung verwenden möchten.

    Hinweis

    Python ist ein reserviertes Wort und kann nicht als Name für einen neuen externen Sprachnamen verwendet werden. Verwenden Sie stattdessen einen anderen Namen. Die obige Anweisung verwendet z. B. myPython.

Voraussetzungen

Vor der Installation einer benutzerdefinierten Python-Laufzeit müssen Sie Folgendes installieren:

Installieren von Spracherweiterungen

Hinweis

Wenn Sie Machine Learning Services unter SQL Server 2019 installiert haben, ist das Paket mssql-server-extensibility für Spracherweiterungen bereits installiert, und Sie können diesen Schritt überspringen.

Führen Sie die folgenden Befehle aus, um SQL Server-Spracherweiterungen unter SUSE Linux Enterprise Server (SLES) zu installieren, die für die benutzerdefinierte Python-Runtime verwendet werden.

# Install as root or sudo
sudo zypper install mssql-server-extensibility

Installieren von Python 3.7 and Pandas

Die für die benutzerdefinierte Python-Runtime verwendete Python-Spracherweiterung unterstützt derzeit nur Python 3.7. Wenn Sie eine andere Version von Python verwenden möchten, folgen Sie den Anweisungen im GitHub-Repository für die Python-Spracherweiterung, um die Erweiterung zu ändern und neu zu erstellen.

  1. Installieren Sie Python 3.7 auf dem Server.

  2. Führen Sie den folgenden Befehl aus, um das Pandas-Paket zu installieren

    # Install pandas to /usr/lib:
    sudo python3.7 -m pip install pandas -t /usr/lib/python3.7/dist-packages
    

Benutzerdefinierte Installation von Python

Hinweis

Wenn Sie Python 3.7 am Standardspeicherort von /usr/lib/python3.7 installiert haben, können Sie diesen Abschnitt überspringen und mit dem Abschnitt Registrieren der Spracherweiterung fortfahren.

Wenn Sie Ihre eigene Version von Python 3.7 erstellt haben, verwenden Sie die folgenden Befehle, um SQL Server über Ihre benutzerdefinierte Installation zu informieren.

Hinzufügen einer Umgebungsvariablen

Bearbeiten Sie zunächst den Dienst mssql-launchpadd, um der Datei /etc/systemd/system/mssql-launchpadd.service.d/override.conf die PYTHONHOME-Umgebungsvariable hinzuzufügen.

  1. Öffnen Sie die Datei mit systemctl.

    sudo systemctl edit mssql-launchpadd
    
  2. Fügen Sie den folgenden Text in die Datei /etc/systemd/system/mssql-launchpadd.service.d/override.conf ein, die geöffnet wird. Legen Sie den Wert von PYTHONHOME auf den benutzerdefinierten Python-Installationspfad fest.

    [Service]
    Environment="PYTHONHOME=<path to the python3.7 lib>"
    
  3. Speichern Sie die Datei, und schließen Sie den Editor.

Stellen Sie als nächstes sicher, dass libpython3.7m.so.1.0 geladen werden kann.

  1. Erstellen Sie eine benutzerdefinierte Datei „python.conf“ in /etc/ld.so.conf.d.

    sudo vi /etc/ld.so.conf.d/custom-python.conf
    
  2. Fügen Sie in der Datei, die geöffnet wird, den Pfad zu libpython3.7m.so.1.0 aus der benutzerdefinierten Python-Installation hinzu.

    <path to the python3.7 lib>
    
  3. Speichern Sie die neue Datei, und schließen Sie den Editor.

  4. Führen Sie ldconfig aus, und vergewissern Sie sich, dass libpython3.7m.so.1.0 geladen werden kann, indem Sie den folgenden Befehl ausführen und überprüfen, ob die abhängigen Bibliotheken gefunden werden.

    sudo ldconfig
    ldd <path to the python3.7 lib>/libpython3.7m.so.1.0
    

Gewähren des Zugriffs auf den Python-Ordner

Legen Sie die datadirectories-Option im Erweiterbarkeitsabschnitt der Datei /var/opt/mssql/mssql.conf auf die benutzerdefinierte Python-Installation fest.

sudo /opt/mssql/bin/mssql-conf set extensibility.datadirectories <path to python3.7>

Neustart von mssql-launchpadd

Führen Sie den folgenden Befehl aus, um mssql-launchpadd neu zu starten:

sudo systemctl restart mssql-launchpadd

Registrieren der Spracherweiterung

Führen Sie die folgenden Schritte aus, um die Python-Spracherweiterung herunterzuladen und zu registrieren, die für die benutzerdefinierte Python-Runtime verwendet wird.

  1. Laden Sie die Datei python-lang-extension-linux-release.zip aus dem GitHub-Repository für die SQL Server-Spracherweiterungen herunter.

    Alternativ können Sie auch die Debugversion (python-lang-extension-linux-debug.zip) in einer Entwicklungs- oder Testumgebung verwenden. Die Debugversion bietet ausführliche Protokollierungsinformationen, um eventuelle Fehler zu untersuchen, und wird nicht für Produktionsumgebungen empfohlen.

  2. Verwenden Sie Azure Data Studio, um eine Verbindung mit Ihrer SQL Server-Instanz herzustellen, und führen Sie den folgenden T-SQL-Befehl aus, um die Python-Spracherweiterung mit CREATE EXTERNAL LANGUAGE zu registrieren.

    Ändern Sie den Pfad in dieser Anweisung, um den Speicherort der heruntergeladenen ZIP-Spracherweiterungsdatei (python-lang-extension-linux-release.zi) anzugeben.

    CREATE EXTERNAL LANGUAGE [myPython]
    FROM (CONTENT = N'/path/to/python-lang-extension-linux-release.zip', FILE_NAME = 'libPythonExtension.so.1.1');
    GO
    

    Führen Sie die Anweisung für jede Datenbank aus, in der Sie die Python-Spracherweiterung verwenden möchten.

    Hinweis

    Python ist ein reserviertes Wort und kann nicht als Name für einen neuen externen Sprachnamen verwendet werden. Verwenden Sie stattdessen einen anderen Namen. Die obige Anweisung verwendet z. B. myPython.

Aktivieren des externen Skripts

Sie können ein externes Python-Skript mit der gespeicherten Prozedur sp_execute_external script ausführen.

Zum Aktivieren externer Skripts verwenden Sie Azure Data Studio, um die folgende Anweisung auszuführen.

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

Überprüfen der Installation

Verwenden Sie das folgende SQL-Skript, um die Installation und Funktionalität der benutzerdefinierten Python-Runtime zu überprüfen. Im folgenden Beispielskript wird als Sprachname myPython verwendet, da der Standardsprachname Python für eine benutzerdefinierte Runtime nicht angegeben werden kann.

EXEC sp_execute_external_script
@language =N'myPython',
@script=N'
import sys
print(sys.path)
print(sys.version)
print(sys.executable)'

Nächste Schritte