Schnellstart: Installieren von SQL Server und Erstellen einer Datenbank unter Red Hat

Gilt für: SQL Server – Linux

In diesem Schnellstart installieren Sie SQL Server 2017 (14.x) unter Red Hat Enterprise Linux 14 (RHEL) 8.x oder höher. Anschließend können Sie eine Verbindung mit sqlcmd herstellen, um Ihre erste Datenbank zu erstellen und Abfragen auszuführen.

Weitere Informationen zu unterstützten Plattformen finden Sie in den Versionshinweisen zu SQL Server 2017 unter Linux.

In diesem Schnellstart installieren Sie SQL Server 2019 (15.x) unter Red Hat Enterprise Linux (RHEL) 8.x oder höher. Anschließend können Sie eine Verbindung mit sqlcmd herstellen, um Ihre erste Datenbank zu erstellen und Abfragen auszuführen.

Weitere Informationen zu unterstützten Plattformen finden Sie in den Versionshinweisen zu SQL Server 2019 unter Linux.

In diesem Schnellstart installieren Sie SQL Server 2022 (16.x) unter Red Hat Enterprise Linux (RHEL) 8.x oder 9.x. Anschließend können Sie eine Verbindung mit sqlcmd herstellen, um Ihre erste Datenbank zu erstellen und Abfragen auszuführen.

Weitere Informationen zu unterstützten Plattformen finden Sie in den Versionshinweisen zu SQL Server 2022 (16.x) unter Linux.

Tipp

Für dieses Tutorial sind Benutzereingaben und eine Internetverbindung erforderlich. Wenn Sie am unbeaufsichtigten oder am Offline-Installationsverfahren interessiert sind, finden Sie weitere Informationen im Leitfaden für die Installation von SQL Server für Linux. Wenn Sie sich für eine vorinstallierte SQL Server-VM auf RHEL entscheiden, um Ihre produktionsbasierte Workload auszuführen, befolgen Sie die bewährten Methoden zum Erstellen der SQL Server-VM.

Azure Marketplace-Images

Sie können Ihren virtuellen Computer auf Basis des folgenden Azure Marketplace-Image erstellen:

Wenn Sie das obige Marketplace-Image verwenden, vermeiden Sie den Installationsschritt und können die Instanz direkt konfigurieren, indem Sie die SKU und das sa-Kennwort angeben, das für den Einstieg in SQL Server erforderlich ist. SQL Server-Azure-VMs, die auf RHEL mithilfe der obigen Marketplace-Images bereitgestellt werden, werden sowohl von Microsoft als auch Red Hat vollständig unterstützt.

Sie können SQL Server für Linux mit mssql-conf konfigurieren, indem Sie den folgenden Befehl verwenden:

sudo /opt/mssql/bin/mssql-conf setup

Voraussetzungen

Sie müssen über einen Computer mit RHEL 8.x mit mindestens 2 GB Arbeitsspeicher verfügen.

Um Red Hat Enterprise Linux auf Ihrem eigenen Computer zu installieren, navigieren Sie zu https://access.redhat.com/products/red-hat-enterprise-linux/evaluation. Sie können auch virtuelle RHEL-Computer in Azure erstellen. Weitere Informationen finden Sie unter Erstellen und Verwalten virtueller Linux-Computer mit der Azure-Befehlszeilenschnittstelle. Verwenden Sie --image RHEL im Aufruf von az vm create.

Wenn Sie bereits eine Community Technology Preview (CTP)- oder Release Candidate (RC)-Version von SQL Server installiert haben, müssen Sie zuerst das alte Repository entfernen, bevor Sie die folgenden Schritte ausführen. Weitere Informationen finden Sie unter Konfigurieren von Repositorys zum Installieren und Upgraden von SQL Server für Linux.

Weitere Systemanforderungen finden Sie unter Systemanforderungen für SQL Server für Linux.

Installieren von SQL Server

Die folgenden Befehle zum Installieren von SQL Server zeigen auf das RHEL 8-Repository. RHEL 8 ist in python2 nicht vorinstalliert, was SQL Server jedoch erfordert. Führen Sie den folgenden Befehl aus, und vergewissern Sie sich, dass python2 als Interpreter ausgewählt ist, bevor Sie mit den Installationsschritten für SQL Server beginnen:

sudo alternatives --config python
# If not configured, install python2 and openssl10 using the following commands:
sudo yum install python2
sudo yum install compat-openssl10
# Configure python2 as the default interpreter using this command:
sudo alternatives --config python

Weitere Informationen zum Installieren und Konfigurieren von python2 als Standardinterpreter finden Sie in folgendem Blog: https://www.redhat.com/en/blog/installing-microsoft-sql-server-red-hat-enterprise-linux-8-beta.

Um SQL Server unter RHEL zu konfigurieren, führen Sie in einem Terminal die folgenden Befehle aus, um das Paket mssql-server zu installieren:

  1. Laden Sie die Konfigurationsdatei für das SQL Server 2017 (14.x) Red Hat-Repository herunter.

    sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2017.repo
    

    Tipp

    Wenn Sie eine andere Version von SQL Server installieren möchten, lesen Sie die Versionen für SQL Server 2019 (15.x) oder SQL Server 2022 (16.x) dieses Artikels.

  2. Führen Sie den folgenden Befehl aus, um SQL Server zu installieren:

    sudo yum install -y mssql-server
    
  3. Nachdem die Paketinstallation abgeschlossen ist, führen Sie „mssql-conf setup“ aus, indem Sie den vollständigen Pfad verwenden, und befolgen Sie die Anweisungen, um das Systemadministratorkennwort festzulegen und Ihre Edition auszuwählen. Zur Erinnerung: Für die folgenden SQL Server -Editionen sind kostenlose Lizenzen verfügbar: Evaluation, Developer und Express.

    sudo /opt/mssql/bin/mssql-conf setup
    

    Denken Sie daran, ein sicheres Kennwort für das SA-Konto anzugeben. Sie benötigen mindestens 8 Zeichen, einschließlich Großbuchstaben und Kleinbuchstaben, Ziffern und/oder nicht-alphanumerische Symbole.

  4. Nachdem die Konfiguration abgeschlossen ist, überprüfen Sie, ob der Dienst ausgeführt wird:

    systemctl status mssql-server
    
  5. Um Remoteverbindungen zuzulassen, öffnen Sie den SQL Server Port in der RHEL-Firewall. Der Standardport für SQL Server ist TCP 1433. Wenn Sie FirewallD für Ihre Firewall verwenden, können Sie die folgenden Befehle verwenden:

    sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
    sudo firewall-cmd --reload
    

Ab jetzt wird SQL Server auf Ihrem RHEL-Computer ausgeführt und ist einsatzbereit!

Die folgenden Befehle zum Installieren von SQL Server zeigen auf das RHEL 8-Repository. RHEL 8 ist in python2 nicht vorinstalliert, was SQL Server jedoch erfordert. Führen Sie den folgenden Befehl aus, und vergewissern Sie sich, dass python2 als Interpreter ausgewählt ist, bevor Sie mit den Installationsschritten für SQL Server beginnen:

sudo alternatives --config python
# If not configured, install python2 and openssl10 using the following commands:
sudo yum install python2
sudo yum install compat-openssl10
# Configure python2 as the default interpreter using this command:
sudo alternatives --config python

Weitere Informationen zum Installieren und Konfigurieren von python2 als Standardinterpreter finden Sie in folgendem Blog: https://www.redhat.com/en/blog/installing-microsoft-sql-server-red-hat-enterprise-linux-8-beta.

Um SQL Server unter RHEL zu konfigurieren, führen Sie in einem Terminal die folgenden Befehle aus, um das Paket mssql-server zu installieren:

  1. Laden Sie die Konfigurationsdatei für das SQL Server 2019 (15.x) Red Hat-Repository herunter.

    sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2019.repo
    

    Tipp

    Wenn Sie eine andere Version von SQL Server installieren möchten, lesen Sie die Versionen für SQL Server 2017 (14.x) oder SQL Server 2022 (16.x) dieses Artikels.

  2. Führen Sie den folgenden Befehl aus, um SQL Server zu installieren:

    sudo yum install -y mssql-server
    
  3. Nachdem die Paketinstallation abgeschlossen ist, führen Sie „mssql-conf setup“ aus, indem Sie den vollständigen Pfad verwenden, und befolgen Sie die Anweisungen, um das Systemadministratorkennwort festzulegen und Ihre Edition auszuwählen. Zur Erinnerung: Für die folgenden SQL Server -Editionen sind kostenlose Lizenzen verfügbar: Evaluation, Developer und Express.

    sudo /opt/mssql/bin/mssql-conf setup
    

    Denken Sie daran, ein sicheres Kennwort für das SA-Konto anzugeben. Sie benötigen mindestens 8 Zeichen, einschließlich Großbuchstaben und Kleinbuchstaben, Ziffern und/oder nicht-alphanumerische Symbole.

  4. Nachdem die Konfiguration abgeschlossen ist, überprüfen Sie, ob der Dienst ausgeführt wird:

    systemctl status mssql-server
    
  5. Um Remoteverbindungen zuzulassen, öffnen Sie den SQL Server Port in der RHEL-Firewall. Der Standardport für SQL Server ist TCP 1433. Wenn Sie FirewallD für Ihre Firewall verwenden, können Sie die folgenden Befehle verwenden:

    sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
    sudo firewall-cmd --reload
    

Ab jetzt wird SQL Server auf Ihrem RHEL-Computer ausgeführt und ist einsatzbereit!

Die folgenden Befehle zum Installieren von SQL Server zeigen auf das RHEL 8-Repository.

Um SQL Server unter RHEL zu konfigurieren, führen Sie in einem Terminal die folgenden Befehle aus, um das Paket mssql-server zu installieren:

  1. Laden Sie die Konfigurationsdatei für das SQL Server 2022 (16.x) Red Hat 8-Repository herunter:

    sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2022.repo
    

    Tipp

    Wenn Sie eine andere Version von SQL Server installieren möchten, lesen Sie die Versionen SQL Server 2017 (14.x) oder SQL Server 2019 (15.x) dieses Artikels.

  2. Führen Sie den folgenden Befehl aus, um SQL Server zu installieren:

    sudo yum install -y mssql-server
    
  3. Nachdem die Paketinstallation abgeschlossen ist, führen Sie „mssql-conf setup“ aus, indem Sie den vollständigen Pfad verwenden, und befolgen Sie die Anweisungen, um das Systemadministratorkennwort festzulegen und Ihre Edition auszuwählen. Zur Erinnerung: Für die folgenden SQL Server -Editionen sind kostenlose Lizenzen verfügbar: Evaluation, Developer und Express.

    sudo /opt/mssql/bin/mssql-conf setup
    

    Denken Sie daran, ein sicheres Kennwort für das SA-Konto anzugeben. Sie benötigen mindestens 8 Zeichen, einschließlich Großbuchstaben und Kleinbuchstaben, Ziffern und/oder nicht-alphanumerische Symbole.

  4. Nachdem die Konfiguration abgeschlossen ist, überprüfen Sie, ob der Dienst ausgeführt wird:

    systemctl status mssql-server
    
  5. Um Remoteverbindungen zuzulassen, öffnen Sie den SQL Server Port in der RHEL-Firewall. Der Standardport für SQL Server ist TCP 1433. Wenn Sie FirewallD für Ihre Firewall verwenden, können Sie die folgenden Befehle verwenden:

    sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
    sudo firewall-cmd --reload
    

Ab jetzt wird SQL Server auf Ihrem RHEL-Computer ausgeführt und ist einsatzbereit!

Deaktivieren des sa-Kontos als bewährte Methode

Wenn Sie nach der Installation zum ersten Mal eine Verbindung zu Ihrer SQL Server-Instanz unter Verwendung des sa-Kontos herstellen, sollten Sie unbedingt diese Schritte befolgen und anschließend die sa-Anmeldung als bewährte Sicherheitsmethode sofort deaktivieren.

  1. Erstellen Sie eine neue Anmeldung und machen Sie diese zu einem Mitglied der Serverrolle SysAdmin.

  2. Stellen Sie mit der neu erstellten Anmeldung eine Verbindung zur SQL Server-Instanz her.

  3. Deaktivieren Sie das sa-Konto, wie es die bewährte Sicherheitspraxis empfiehlt.

Installieren der SQL Server-Befehlszeilentools

Um eine Datenbank zu erstellen, müssen Sie eine Verbindung mit einem Tool herstellen, das Transact-SQL-Anweisungen auf dem SQL Server-Computer ausführen kann. Mit den folgenden Schritten installieren Sie die SQL Server-Befehlszeilentools: das Dienstprogramm sqlcmd und das Dienstprogramm bcp.

Führen Sie unter Red Hat Enterprise Linux die folgenden Schritte aus, um mssql-tools18 zu installieren.

  1. Laden Sie die Konfigurationsdatei für das Microsoft Red Hat-Repository 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
      
    • Verwenden Sie für Red Hat 7 den folgenden Befehl:

      curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
      
  2. Wenn Sie eine frühere Version von mssql-tools installiert hatten, entfernen Sie alle älteren unixODBC-Pakete.

    sudo yum remove mssql-tools unixODBC-utf16 unixODBC-utf16-devel
    
  3. Führen Sie 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 mssql-tools auf die neueste Version zu aktualisieren:

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

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

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

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

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

Lokal verbinden

Die folgenden Schritte verwenden sqlcmd, um sich lokal mit Ihrer neuen SQL Server-Instanz zu verbinden.

  1. Führen Sie sqlcmd mit Parametern für Ihren SQL Servernamen (-S), den Benutzernamen (-U) und das Kennwort (-P) aus. In diesem Tutorial verbinden Sie sich lokal, damit der Name des Servers localhost ist. Der Benutzername ist sa, und das Kennwort ist jenes, welches Sie während des Setups für das SA-Konto angegeben haben.

    sqlcmd -S localhost -U sa -P '<YourPassword>'
    

    Hinweis

    Neuere Versionen von sqlcmd sind standardmäßig sicher. Weitere Informationen zur Verbindungsverschlüsselung finden Sie unter sqlcmd-Hilfsprogramm für Windows und Herstellen einer Verbindung mit sqlcmd für Linux und macOS. Wenn die Verbindung nicht erfolgreich ist, können Sie sqlcmd die Option -No hinzufügen, um anzugeben, dass die Verschlüsselung optional und nicht obligatorisch ist.

    Sie können das Kennwort in der Befehlszeile auslassen, damit Sie aufgefordert werden, dieses einzugeben.

    Wenn Sie später eine Remoteverbindung herstellen möchten, geben Sie den Computernamen oder die IP-Adresse für den Parameter -S ein, und stellen Sie sicher, dass der Port 1433 in Ihrer Firewall geöffnet ist.

  2. Wenn dies erfolgreich war, sollten zu einer sqlcmd Eingabeaufforderung: 1> gelangen.

  3. Wenn Sie einen Verbindungsfehler erhalten, versuchen Sie zunächst das Problem aus der Fehlermeldung zu ermitteln. Überprüfen Sie anschließend die Empfehlungen zur Verbindungsproblembehandlung.

Erstellen und Abfragen von Daten

Die folgenden Abschnitte führen Sie durch die Verwendung von sqlcmd, um eine neue Datenbank zu erstellen, Daten hinzuzufügen und eine einfache Abfrage auszuführen.

Weitere Informationen über das Schreiben von Transact-SQL-Anweisungen und -Abfragen finden Sie im Tutorial: Writing Transact-SQL Statements (Tutorial: Schreiben von Transact-SQL-Anweisungen).

Erstellen einer neuen Datenbank

Mit den folgenden Schritten wird eine neue Datenbank mit dem Namen TestDB erstellt.

  1. Fügen Sie aus der sqlcmd-Eingabeaufforderung den folgenden Transact-SQL-Befehl zur Erstellung einer Testdatenbank ein:

    CREATE DATABASE TestDB;
    
  2. Schreiben Sie in der nächsten Zeile eine Abfrage, um den Namen all Ihrer Datenbanken auf Ihrem Server zurückzugeben:

    SELECT Name from sys.databases;
    
  3. Die vorherigen beiden Befehle wurden nicht sofort ausgeführt. Sie müssen GO in einer neuen Zeile eingeben, um die zuvor eingegebenen Befehle auszuführen:

    GO
    

Einfügen von Daten

Erstellen Sie als Nächstes eine neue Tabelle, dbo.Inventory, und fügen Sie zwei neue Zeilen ein.

  1. Wechseln Sie den Kontext aus der sqlcmd-Eingabeaufforderung zur neuen TestDB-Datenbank:

    USE TestDB;
    
  2. Erstellen Sie eine neue Tabelle mit dem Namen dbo.Inventory:

    CREATE TABLE dbo.Inventory (
        id INT,
        name NVARCHAR(50),
        quantity INT,
        PRIMARY KEY (id)
    );
    
  3. Fügen Sie Daten in die neue Tabelle ein:

    INSERT INTO dbo.Inventory VALUES (1, 'banana', 150);
    INSERT INTO dbo.Inventory VALUES (2, 'orange', 154);
    
  4. Geben Sie GO ein, um die zuvor eingegebenen Befehle auszuführen:

    GO
    

Auswählen von Daten

Führen Sie nun eine Abfrage zum Zurückgeben von Daten aus der dbo.Inventory-Tabelle aus.

  1. Geben Sie aus der sqlcmd-Eingabeaufforderung eine Abfrage ein, die Reihen aus der dbo.Inventory-Tabelle zurückgibt, bei denen die Menge größer als 152 ist:

    SELECT * FROM dbo.Inventory
    WHERE quantity > 152;
    
  2. Führen Sie den folgenden Befehl aus:

    GO
    

Beenden der sqlcmd-Eingabeaufforderung

Zum Beenden der sqlcmd-Sitzung, geben Sie QUIT ein:

QUIT

Bewährte Methoden für Leistung

Nachdem Sie SQL Server für Linux installiert haben, sehen Sie sich die bewährten Methoden für das Konfigurieren von Linux und SQL Server an, um die Leistung für Produktionsszenarien zu verbessern. Weitere Informationen finden Sie unter Bewährte Methoden für die Leistung und Konfigurationsrichtlinien für SQL Server für Linux.

Plattformübergreifende Datentools

Zusätzlich zu sqlcmd können Sie die folgenden plattformübergreifenden Tools verwenden, um SQL Server zu verwalten:

Tool BESCHREIBUNG
Azure Data Studio Eine plattformübergreifende Anwendung mit grafischer Benutzeroberfläche zur Datenbankverwaltung.
Visual Studio Code Ein plattformübergreifender Code-Editor mit grafischer Benutzeroberfläche, in dem Transact-SQL-Anweisungen mit der mssql-Erweiterung ausgeführt werden.
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.

Herstellen einer Verbindung aus Windows

SQL Server-Tools unter Windows stellen eine Verbindung mit SQL Server-Instanzen unter Linux auf die gleiche Weise her, wie sie sich mit einer beliebigen Remoteinstanz von SQL Server verbinden würden.

Wenn Sie einen Windows-Computer haben, der mit Ihrem Linux-Computer eine Verbindung herstellen kann, versuchen Sie die gleichen Schritte in diesem Thema aus einer Windows-Befehlszeile, die sqlcmd ausführt. Stellen Sie sicher, dass Sie den Linux-Zielcomputernamen oder die IP-Adresse und nicht localhost verwenden, und vergewissern Sie sich, dass der TCP-Port 1433 auf dem SQL Server-Computer geöffnet ist. Unter Empfehlungen zur Verbindungsproblembehandlung finden Sie weitere Informationen, wenn beim Herstellen einer Verbindung von Windows Probleme auftreten.

Andere Tools, die unter Windows ausgeführt werden, die sich aber mit SQL Server unter Linux verbinden, finden Sie unter:

Weitere Bereitstellungsszenarien

Weitere Installationsszenarios finden Sie in den folgenden Ressourcen:

  • Upgrade: Erfahren Sie, wie Sie eine vorhandene Installation von SQL unter Linux aktualisieren können.
  • Uninstall: Deinstallieren von SQL Server unter Linux
  • Unbeaufsichtigte Installation: Erfahren Sie, wie Sie die Installation ohne Aufforderungen skripten können.
  • Offlineinstallation: Erfahren Sie, wie Sie die Pakete für die Offlineinstallation manuell herunterladen können.

Antworten auf häufig gestellte Fragen finden Sie unter Häufig gestellte Fragen zu SQL Server für Linux.

Zur SQL-Dokumentation beitragen

Wussten Sie schon, dass Sie SQL-Inhalte selbst bearbeiten könnten? Hierdurch helfen Sie nicht nur mit, unsere Dokumentation zu verbessern, sondern Sie werden auch als Mitwirkender an der Seite aufgeführt.

Weitere Informationen finden Sie unter Mitwirken an der SQL Server-Dokumentation.