Installieren der SQL Server-Befehlszeilentools „sqlcmd“ und „bcp“ unter Linux

Gilt für:SQL Server – Linux

Über die folgenden Schritte werden die Befehlszeilentools, die Microsoft ODBC-Treiber und deren Abhängigkeiten installiert. Das Paket mssql-tools enthält Folgendes:

  • sqlcmd: Abfragehilfsprogramm für die Befehlszeile
  • bcp: Hilfsprogramm für den Massenimport/-export

Installieren Sie die Tools für Ihre Plattform:

In diesem Artikel wird beschrieben, wie die Befehlszeilentools installiert werden. Beispiele zur Verwendung von sqlcmd oder bcp finden Sie unter den Links am Ende dieses Artikels.

Warnung

„sqlcmd“ und „bcp“ sind in mssql-tools für die x64-Architektur verfügbar. Eine Alternative für arm64- und x64-Umgebungen ist in der Vorschau für Linux, macOS und Windows verfügbar („go-sqlcmd“ auf GitHub).

Installieren von Tools unter Linux

Führen Sie zum Installieren von mssql-tools unter Red Hat Enterprise Linux die folgenden Schritte aus.

  1. Wechseln Sie in den Superuser-Modus.

    sudo su
    
  2. Laden Sie die Konfigurationsdatei für das Microsoft Red Hat-Repository herunter.

    curl https://packages.microsoft.com/config/rhel/8/prod.repo > /etc/yum.repos.d/msprod.repo
    
  3. Beenden Sie den Superuser-Modus.

    exit
    
  4. Wenn Sie eine frühere Version von mssql-tools installiert hatten, entfernen Sie alle älteren unixODBC-Pakete.

    sudo yum remove mssql-tools unixODBC-utf16-devel
    
  5. Führen Sie die folgenden Befehle aus, um mssql-tools mit dem unixODBC-Entwicklerpaket zu installieren.

    sudo yum install mssql-tools unixODBC-devel
    

    Hinweis

    Führen Sie die folgenden Befehle aus, um mssql-tools auf die neueste Version zu aktualisieren:

    sudo yum check-update
    sudo yum update mssql-tools
    
  6. Optional: Fügen Sie in einer Bash-Shell /opt/mssql-tools/bin/ zu Ihrer PATH-Umgebungsvariablen hinzu.

    Ändern Sie PATH in der Datei ~/.bash_profile mit dem folgenden Befehl, um sqlcmd/bcp von der Bash-Shell aus für Anmeldesitzungen zugänglich zu machen:

    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
    

    Ändern Sie PATH in der Datei ~/.bashrc mit dem folgenden Befehl, um sqlcmd/bcp von der Bash-Shell aus für interaktive Sitzungen oder Sitzungen ohne Anmeldung zugänglich zu machen:

    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
    source ~/.bashrc
    

Installieren von Tools unter macOS

Eine Vorschauversion von sqlcmd und bcp ist nun unter macOS verfügbar. Weitere Informationen finden Sie in der Ankündigung.

Installieren Sie Homebrew, falls Sie es noch nicht installiert haben:

  • /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Verwenden Sie zum Installieren der Tools für Mac El Capitan und Sierra die folgenden Befehle:

# brew untap microsoft/mssql-preview if you installed the preview version
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew update
brew install mssql-tools
#for silent install:
#HOMEBREW_NO_ENV_FILTERING=1 ACCEPT_EULA=y brew install mssql-tools

Installieren von Tools in Docker

Wenn Sie SQL Server in einem Docker-Container ausführen, sind die SQL Server-Befehlszeilentools bereits im Linux-Containerimage von SQL Server enthalten. Wenn Sie mithilfe einer interaktiven Bash-Shell mit einem ausgeführten Container verbunden sind, können Sie die Tools lokal ausführen.

Wenn Sie einen Container mit den SQL Server-Befehlszeilentools erstellen, empfiehlt es sich, dem Installationsbefehl ACCEPT_EULA=Y hinzuzufügen, um die Lizenzbedingungen automatisch zu akzeptieren und die Imageerstellung nicht zu unterbrechen. Ein Beispiel für den endgültigen Befehl für die Installation auf einem Ubuntu-Image lautet:

sudo ACCEPT_EULA=Y apt-get install mssql-tools unixodbc-dev

Offlineinstallation

Wenn Ihr Linux-Computer keinen Zugriff auf die Onlinerepositorys hat, die in den vorherigen Abschnitten verwendet werden, können Sie die Paketdateien direkt herunterladen. Diese Pakete befinden sich im Microsoft-Repository https://packages.microsoft.com.

Tipp

Wenn Sie die Installation mithilfe der Schritte in den vorherigen Abschnitten erfolgreich abgeschlossen haben, müssen Sie die nachstehend aufgeführten Pakete nicht herunterladen oder manuell installieren. Dies gilt nur für das Offlineszenario.

  1. Suchen und kopieren Sie zunächst das mssql-tools-Paket für Ihre Linux-Distribution. Für Red Hat 8.0 befindet sich dies unter https://packages.microsoft.com/rhel/8.0/prod.

  2. Suchen und kopieren Sie auch das Paket msodbcsql, bei dem es sich um eine Abhängigkeit handelt. Das msodbcsql-Paket weist auch eine Abhängigkeit von unixODBC-devel auf. Für Red Hat befindet sich das msodbcsql-Paket unter https://packages.microsoft.com/rhel/8/prod.

  3. Verschieben Sie die heruntergeladenen Pakete auf Ihren Linux-Computer. Wenn Sie einen anderen Computer zum Herunterladen der Pakete verwendet haben, stellt der Befehl scp eine Möglichkeit dar, die Pakete auf Ihren Linux-Computer zu verschieben.

  4. Installieren der Pakete: Installieren Sie die Pakete mssql-tools und msodbc. Wenn Abhängigkeitsfehler auftreten, ignorieren Sie diese bis zum nächsten Schritt. Ersetzen Sie <version> durch die richtige Version:

    sudo yum localinstall msodbcsql-<version>.rpm
    sudo yum localinstall mssql-tools-<version>.rpm
    
  5. Lösen Sie fehlende Abhängigkeiten auf: Zu diesem Zeitpunkt fehlen möglicherweise Abhängigkeiten. Falls nicht, können Sie diesen Schritt überspringen. In einigen Fällen müssen Sie diese Abhängigkeiten manuell suchen und installieren.

    Sie können die erforderlichen Abhängigkeiten mithilfe der folgenden Befehle überprüfen. Ersetzen Sie <version> durch die richtige Version:

    rpm -qpR msodbcsql-<version>.rpm
    rpm -qpR mssql-tools-<version>.rpm
    

Nächste Schritte

Ein Beispiel für die Verwendung von sqlcmd zum Herstellen einer Verbindung mit SQL Server und zum Erstellen einer Datenbank finden Sie in einem der folgenden Schnellstarts:

Ein Beispiel für die Verwendung von bcp für den Massenimport und -export von Daten finden Sie unter Bulk copy data to SQL Server on Linux (Massenkopieren von Daten auf SQL Server für Linux).