Installieren und Konfigurieren von SQL Server in RHEL
In diesem Leitfaden erfahren Sie, wie Sie SQL Server 2022 auf RHEL 8.x oder RHEL 9.x installieren, mithilfe des Befehlszeilentools sqlcmd
eine Verbindung herstellen, eine Datenbank erstellen und grundlegende Abfragen ausführen.
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass die folgenden Voraussetzungen erfüllt sind:
- Stellen Sie sicher, dass Sie eine unterstützte Version von RHEL verwenden (z. B. RHEL 8 oder 9).
- Sie benötigen sudo- oder root-Rechte, um Software zu installieren.
- Mindestens 2 GB RAM, 6 GB freier Festplattenspeicher und eine unterstützte CPU-Architektur (x64).
Schritt 1: Aktivieren des SELinux-Erzwingungsmodus in RHEL
SQL Server 2022 unterstützt die Ausführung unter RHEL 8.x und 9.x. Für RHEL 9 kann SQL Server als eingeschränkte Anwendung mit SELinux (Security-Enhanced Linux) ausgeführt werden, wodurch die Sicherheit erhöht wird.
Zuerst müssen Sie SELinux aktivieren (optional, aber empfohlen für RHEL 9), um SQL Server als eingeschränkte Anwendung zu verwenden.
sestatus
sudo setenforce 1
Der Befehl wird verwendet, um den SELinux-Erzwingungsmodus zu aktivieren. Wenn SELinux in der Konfigurationsdatei (/etc/selinux/config
) deaktiviert ist, funktioniert dieser Befehl nicht und Sie müssen SELinux in der Datei aktivieren und Ihr System neu starten.
Öffnen Sie die Datei unter /etc/selinux/config
mit einem beliebigen Texteditor.
sudo vi /etc/selinux/config
Ändern Sie die Option SELINUX=disabled
in SELINUX=enforceing
.
Starten Sie Ihr System neu, damit die Änderungen funktionieren.
sudo reboot
Überprüfen Sie nach dem Neustart des Systems den SELinux-Status, um zu bestätigen, dass es sich im Erzwingungsmodus befindet:
getenforce
Es sollte Enforcement zurückgegeben werden
.
Schritt 2: Installieren von SQL Server in RHEL
Führen Sie den folgenden curl-Befehl aus, um das Microsoft SQL Server-Repository herunterzuladen und zu konfigurieren:
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/$(rpm -E %{rhel})/mssql-server-2022.repo
Installieren Sie als Nächstes das SQL Server-Paket mit dem folgenden Befehl:
sudo yum install -y mssql-server
Wenn Sie SQL Server mit zusätzlicher Sicherheit ausführen möchten, können Sie das Paket mssql-server-selinux
installieren, das spezielle Regeln hinzufügt, damit SQL Server besser mit SELinux funktioniert.
sudo yum install -y mssql-server-selinux
Nachdem die Installation abgeschlossen ist, führen Sie das Setupskript aus, und befolgen Sie die Anweisungen, um ein Kennwort für das Konto "sa
" festzulegen und die gewünschte Edition von SQL Server auszuwählen. Denken Sie daran, dass diese Editionen kostenlos verwendet werden können: Evaluation, Developer und Express.
sudo /opt/mssql/bin/mssql-conf setup
Vergewissern Sie sich nach der Installation, dass SQL Server ausgeführt wird.
sudo systemctl status mssql-server
Wenn es nicht ausgeführt wird, beginnen Sie es mit:
sudo systemctl start mssql-server
Um Remoteverbindungen zuzulassen, müssen Sie den SQL Server-Port in der RHEL-Firewall öffnen. Standardmäßig verwendet SQL Server den TCP-Port 1433. Wenn Ihr System FirewallD für die Firewall verwendet, führen Sie die folgenden Befehle aus:
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload
Jetzt ist SQL Server auf Ihrem RHEL-Computer einsatzbereit und kann sofort verwendet werden!
Schritt 3: Installieren von SQL Server-Befehlszeilentools
Zum Erstellen einer Datenbank müssen Sie ein Tool verwenden, das Transact-SQL-Befehle in SQL Server ausführen kann. Im Folgenden finden Sie die Schritte zum Installieren der SQL Server-Befehlszeilentools, z. B. sqlcmd
und bcp
.
Laden Sie zunächst die Konfigurationsdatei des Microsoft Red Hat-Repositorys herunter.
Verwenden Sie für Red Hat 9 den folgenden Befehl:
curl https://packages.microsoft.com/config/rhel/9/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
Verwenden Sie für Red Hat 8 den folgenden Befehl:
curl https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
Führen Sie als Nächstes die folgenden Befehle aus, um mssql-tools18
mit dem unixODBC-Entwicklerpaket zu installieren.
sudo yum install -y mssql-tools18 unixODBC-devel
Führen Sie die folgenden Befehle aus, um auf die neueste Version von mssql-tools
zu aktualisieren:
sudo yum check-update
sudo yum update mssql-tools18
Um sqlcmd
und bcp
bei jeder Anmeldung in der Bash-Shell verfügbar zu machen, aktualisieren Sie Ihren PATH in der Datei ~/.bash_profile
mit dem folgenden Befehl:
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bash_profile
source ~/.bash_profile
Um sqlcmd
und bcp
in der Bash-Shell für alle Sitzungen verfügbar zu machen, fügen Sie dem PATH ihren Speicherort hinzu, indem Sie die Datei ~/.bashrc
mit dem folgenden Befehl bearbeiten:
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc
Schritt 4: Herstellen einer Verbindung mit SQL Server in RHEL
Nach der Installation von SQL Server können Sie mithilfe von sqlcmd
eine Verbindung mit SQL Server herstellen.
Lokales Verbinden von SQL Server
sqlcmd -S localhost -U sa -P '<password>' -N -C
-S
– Gibt den Servernamen an (localhost für lokale Verbindungen verwenden).-U
– Gibt den Benutzernamen an (verwenden Sie sa für das Systemadministratorkonto).-P
– Gibt das Kennwort an, das Sie während der Konfiguration festgelegt haben.-N
– Verschlüsselt die Verbindung.-C
– Vertraut dem Serverzertifikat ohne Validierung.
Wenn der Vorgang erfolgreich war, wird eine Eingabeaufforderung wie die folgende angezeigt:
1>
Erstellen einer neuen SQL-Datenbank
Fügen Sie an der sqlcmd-Eingabeaufforderung
den folgenden Transact-SQL-Befehl ein, um eine Testdatenbank zu erstellen:
CREATE DATABASE TestDB;
Schreiben Sie in der nächsten Zeile eine Abfrage, um den Namen aller Datenbanken auf dem Server zurückzugeben:
SELECT Name
FROM sys.databases;
Die beiden vorherigen Befehle werden nicht sofort ausgeführt. Sie müssen GO
in einer neuen Zeile eingeben, um die vorherigen Befehle auszuführen:
GO
Einfügen von Daten in SQL-Datenbank
Erstellen Sie als Nächstes eine neue Tabelle, dbo. Inventar,
und fügen Sie zwei neue Zeilen ein.
USE TestDB;
CREATE TABLE dbo.Inventory (id INT, name NVARCHAR(50), quantity INT, PRIMARY KEY (id));
Fügen Sie Daten in die neue Tabelle ein.
INSERT INTO dbo.Inventory VALUES (1, 'banana', 150), (2, 'orange', 154);
Geben Sie GO
ein, um die vorherigen Befehle auszuführen:
GO
Abfragen von Daten in SQL-Datenbank
Geben Sie an der sqlcmd-Eingabeaufforderung
eine Abfrage ein, die Zeilen aus dem dbo zurückgibt. Bestandstabelle
, in der die Menge größer als 152 ist:
SELECT * FROM dbo.Inventory WHERE quantity > 152;
GO
Geben Sie zum Beenden der sqlcmd-Sitzung QUIT ein
:
QUIT
Zusätzlich zu sqlcmd
können Sie die folgenden plattformübergreifenden Tools verwenden, um SQL Server zu verwalten:
- Azure Data Studio – Ein plattformübergreifendes GUI-Dienstprogramm zur Datenbankverwaltung.
- Visual Studio Code – Ein plattformübergreifender GUI-Code-Editor, der Transact-SQL-Anweisungen mit der mssql-Erweiterung ausführt.
- PowerShell Core – Ein plattformübergreifendes Automatisierungs- und Konfigurationstool, das auf Cmdlets basiert.
- mssql-cli – Eine plattformübergreifende Befehlszeilenschnittstelle zum Ausführen von Transact-SQL-Befehlen.
Schlussfolgerung
Wenn Sie dieser Anleitung folgen, haben Sie SQL Server 2022 erfolgreich auf RHEL installiert, konfiguriert und Ihre erste Datenbank erstellt. Sie haben auch gelernt, wie Sie Daten mit dem sqlcmd-Tool
abfragen.