Website-Suche

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.

Verwandte Artikel: