So installieren Sie die SQL Server-Befehlszeilentools SQLCMD und BCP unter RHEL 8.1

Von: Manvendra Singh / Aktualisiert: 2021-11-23 / Bemerkungen / Verwandt: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Mehr > Virtualisierung

Problem

Wir haben SQL Server 2019 auf RHEL 8.1 in unserem letzten Artikel installiert. Jetzt werden wir SQL Server-Befehlszeilentools wie installierenqlcmd undBCP für den lokalen Zugriff auf SQLServer-Datenbanken auf dem System.

Lösung

Sie benötigen ein Dienstprogramm, Tool oder Programm, um auf datenbankgehostete onLinux-Systeme zuzugreifen, diese zu verwalten oder zu konfigurieren. Sie können verwendensql Server Management Studio oderazure DataStudio zum Herstellen von Datenbankverbindungen zum SQL Server unter Linux-Instanz,aber in diesem Artikel werden wir uns ansehen, wie Sie einige Befehlszeilentools installierenlokal.

Hinweis, dies ist 8tharticle in dieser Serie, lesen Sie die vorherigen Artikel zu verstehen, wie installierenund konfigurieren SQL Server2019 auf RHEL 8.1. In den nächsten Schritten am Ende dieses Artikels finden Sie Links zu den anderen Artikeln.

Installieren der SQL Server-Befehlszeilentools SQLCMD und BCP

Überprüfen wir zunächst, ob SQLCMD auf dem Zielcomputer installiert ist. Geben Sie einfach SQLCMD in Ihr Terminal ein und drücken Sie die Eingabetaste. Wenn dieses Dienstprogramm installiert ist,erkennen die meisten Betriebssysteme es und zeigen Details zu diesem Dienstprogramm oder einen Verbindungsfehler an.

--Check whether SQLCMD is installed or notsqlcmd

Ich habe diesen Befehl ausgeführt und festgestellt, dass dieses Tool nicht auf diesem Computer installiert ist, wie im folgenden Bild gezeigt. Wir können den folgenden Befehl ausführen, um zu überprüfen, ob das repositoryexists .

--Verify SQL Server Repositorysudo ls /etc/yum.repos.d

Im folgenden Bild sehen wir nur zwei Repositorys. Einer ist für SQL Server2019 und der andere für RHEL, also müssen wir herunterladen und installieren.

Überprüfen Sie das Repository

Wir können den folgenden Befehl ausführen, um das Repository herunterzuladen. Ändern Sie den Pfad in der folgenden URL von / rhel / 8 in / rhel / 7 /, wenn Sie RHEL 7 verwenden.x.

--Download Microsoft Red Hat Repository Configuration file sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/8/prod.repo

Der Befehl wurde erfolgreich ausgeführt und jetzt sehen wir die zusätzliche Repository-Konfigurationsdatei msprod.repo im Bild unten.

herunterladen msprod.repo

Der folgende Schritt ist optional, wenn Sie SQL Server 2019 und die Befehlszeilentools SQLCMD auf einem neuen Computer installieren. Wenn Sie diese Produkte jedoch auf einem älteren Computer installieren und bereits eine frühere Version von mssql-tools installiert haben, müssen Sie die älteren unixODBC-Pakete entfernen, die auf Ihrem Computer installiert sind.Sie können den folgenden Befehl ausführen, um diese Komponente zu entfernen.

--Remove unixODBC packagessudo yum remove unixODBC-utf16 unixODBC-utf16-devel

Da ich dies auf einem neuen System installiere, zeigt die Ausgabe Nomatch für die obige Software, aber wenn Sie einen älteren Computer haben, sollten Sie dies ausführen, um diese Komponente zu entfernen.

remove old respository

Jetzt installieren wir das SQL Server-Befehlszeilentool mssql-tools zusammen mit unixODBC-develpackage, indem wir die folgenden Befehle ausführen.

--Install mssql-tool along with unixODBC packagesudo yum install -y mssql-tools unixODBC-devel

Wir können alle Pakete sehen, die mit der mssql-tools-Komponente installiert werden. Wir können auch das unixODBC-Paket sehen, das installiert wird. Alle diese Pakete werden heruntergeladen und installiert, wie im folgenden Bild gezeigt. Das Installationsprogramm fordert Sie auf, einzugeben, um die Lizenzbedingungen dieses Tools zu akzeptieren.

installieren Sie mssql-tools unter Linux

Sie können sehen, dass ich zweimal JA eingegeben habe, um die Lizenzbedingungen für beide Pakete zu akzeptieren. Beide Pakete wurden erfolgreich installiert, nachdem die Lizenzbedingungen akzeptiert wurden, wie im folgenden Screenshot gezeigt.

mssql-tools unter Linux installieren

Die SQL Server-Befehlszeilentools wurden nun installiert. Sie können diese Tools verwenden, um Datenbanken gemäß Ihren Anforderungen zu erstellen und zu verwalten.

Wenn Sie immer noch Probleme haben, auf das SQLCMD-Tool zuzugreifen oder es zu starten, müssen Sie path-Umgebungsvariablen hinzufügen, um sie einfach zu starten. Führen Sie die folgenden Befehle aus, um den PFAD für Anmeldesitzungen und interaktive oder nicht Anmeldesitzungen zu ändern.

--Add /opt/mssql-tools/bin/ to our path environment variableecho 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profileecho 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrcsource ~/.bashrc

sqlcmd wird zunächst nicht wie unten gezeigt erkannt.

Ich werde /opt/mssql-tools/bin/ zu unserer path Umgebungsvariablen hinzufügen und erneut ausführen. Diesmal funktioniert es,obwohl wir einige andere Fehler haben, sodass wir wissen, dass das Tool gefunden werden kann.

sqlcmd check

Wir können die Installation validieren, indem wir eine Verbindung zum SQL Server 2019 herstellen Instanzmit dem SQLCMD-Tool. Führen Sie den folgenden Befehl aus, um eine Datenbankverbindung herzustellen.

--Connect to SQL Server 2019 instance hosted on RHEL8.1 using SQLCMD tool--Replace 192.168.6.128 with your IP or server name--I used sa account with -U parameter. Press Enter to write passwordSqlcmd -S192.168.6.128 -Usa --Connect locally on the serversqlcmd -S localhost -U SA -P '<YourPassword>'

Sie können sehen, dass ich mit dem sqlcmd-Tool eine Datenbankverbindung hergestellt habe und dann eine einfache T-SQL-Anweisung ausgeführt habe, um die installierte Version auf SQLServer abzurufen.

Beispielabfrage mit sqlcmd

Ich habe das PuTTY-Dienstprogramm verwendet, um alle Installationen und Verbindungsvalidierungen in den obigen Schritten durchzuführen. Als ich auf meinem lokalen Server nachschaute, gab es das gleiche Problem. SQLCMDWURDE vom RHEL-Serverterminal nicht erkannt. Als ich den Pfad environmentvariable hinzufügte, war es erfolgreich. Wenn Sie mit einer ähnlichen Situation konfrontiert sind, in der Sie lokal oder remote nicht auf das SQL Server-Befehlszeilentool zugreifen können, versuchen Sie, die Variable pathenvironment hinzuzufügen.

 Zugriff über sqlcmd

Ich habe auch lokal eine Datenbankverbindung auf dem Server hergestellt und dieselben Informationen abgerufen, die ich mit PuTTY erstellt habe. Sie können die erfolgreiche Ausführung und Validierung für dieses Tool unten sehen.

Beispielabfrage mit sqlcmd

In ähnlicher Weise habe ich das BCP-Befehlszeilendienstprogramm überprüft und Sie können sehen, dass es sowohl lokal auf dem Server als auch remote von beiden Terminals erkannt wirdmit dem PuTTY-Dienstprogramm.

bcp utility check

Hier ist der Screenshot für das BCP-Dienstprogramm mit dem PuTTY-Dienstprogramm.

bcp Utility check
Nächste Schritte

Es wurden SQL Server-Befehlszeilentools installiert, die für die Interaktion mit der SQL Server-Instanz sehr nützlich sind. Verwenden Sie es gemäß Ihren Anforderungen, um Datenbanken auf diesem Server zu verwalten und zu konfigurieren.

  • Siehe Teil 1 dieser Serie, um am Anfang zu beginnen:Installieren Sie VMware Workstation Pro für SQL Server.

 skripte abrufen

 nächster Tipp Button

Über den Autor
 MSSQLTips Autor Manvendra SinghManvendra Singh verfügt über mehr als 5 Jahre Erfahrung mit SQL Server und hat sich auf Datenbankspiegelung, Replikation, Protokollversand usw. konzentriert.
Alle meine Tipps anzeigen

Artikel Zuletzt aktualisiert: 2021-11-23

Leave a Reply