Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server – Linux
Das Windows-Subsystem für Linux (WSL) ist ein Feature in Windows, mit dem Sie eine Linux-Umgebung direkt auf Ihrem Windows-Computer ausführen können, ohne dass ein virtueller Computer oder ein dualer Start erforderlich ist. WSL bietet entwicklern, die windows und Linux gleichzeitig verwenden möchten, eine nahtlose und produktive Erfahrung. Weitere Informationen finden Sie unter Was ist das Windows-Subsystem für Linux?
SQL Server auf WSL ist nur für die Entwicklung vorgesehen.
SQL Server auf WSL 2 ist nur für Entwicklungszwecke vorgesehen und wird für Produktionsworkloads nicht unterstützt. Es wird empfohlen, SQL Server in WSL-Umgebungen auf einer der unterstützten Plattformen wie dokumentiert für die Version von SQL Server auszuführen, die Sie ausführen möchten.
Für alle supportbezogenen Probleme können Sie Support von Microsoft erhalten.
Erste Schritte mit SQL Server unter WSL 2
Es gibt zwei Möglichkeiten, mit SQL Server unter WSL 2 zu beginnen:
Installieren Sie SQL Server als
systemd
Dienst, der mithilfe vonsystemctl
Befehlen verwaltet werden kann. Stellen Sie sicher, dass Siesystemd
auf WSL aktivieren. Weitere Informationen finden Sie unter "Aktivieren von System".Bereitstellen von SQL Server-Containern in WSL. Für diese Option müssen Sie ein Linux-Containermodul in WSL installieren, z. B. Docker oder Podman, und dann SQL Server-Container bereitstellen.
Voraussetzungen
Installieren Sie WSL 2. Stellen Sie sicher, dass Sie Windows 10 Version 2004 oder eine höhere Version (Build 19041 und höher) oder Windows 11 ausführen. Um WSL zu installieren, öffnen Sie eine PowerShell- oder Windows-Eingabeaufforderung im Administratormodus, und führen Sie den folgenden Befehl aus:
wsl --install
Ausführliche Anweisungen finden Sie unter Installieren von Linux unter Windows mit WSL. Informationen zum Einrichten der WSL-Umgebung für die Entwicklung finden Sie unter Einrichten einer WSL-Entwicklungsumgebung.
Installieren von SQL Server in WSL
In diesem Abschnitt werden die Schritte zum Einrichten einer Linux-Verteilung in WSL und die Installation von SQL Server in dieser Linux-Verteilung beschrieben.
Auswählen der Linux-Verteilung
Mit dem folgenden Befehl können Sie alle gültigen Verteilungen auflisten, die in WSL installiert werden können:
wsl -l -o
Die Ausgabe sieht in etwa wie im folgenden Beispiel aus.
The following is a list of valid distributions that can be installed.
Install using 'wsl.exe --install <Distro>'.
NAME FRIENDLY NAME
Ubuntu Ubuntu
Debian Debian GNU/Linux
kali-linux Kali Linux Rolling
Ubuntu-18.04 Ubuntu 18.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS
Ubuntu-22.04 Ubuntu 22.04 LTS
Ubuntu-24.04 Ubuntu 24.04 LTS
OracleLinux_7_9 Oracle Linux 7.9
OracleLinux_8_7 Oracle Linux 8.7
OracleLinux_9_1 Oracle Linux 9.1
openSUSE-Leap-15.6 openSUSE Leap 15.6
SUSE-Linux-Enterprise-15-SP5 SUSE Linux Enterprise 15 SP5
SUSE-Linux-Enterprise-15-SP6 SUSE Linux Enterprise 15 SP6
openSUSE-Tumbleweed openSUSE Tumbleweed
Installieren Sie für diese Schnellstartanleitung Ubuntu 22.04, und installieren Sie dann SQL Server 2022 in dieser Verteilung.
Führen Sie zum Installieren von Ubuntu 22.04 den folgenden Befehl aus. Notieren Sie sich das UNIX-Benutzerkonto und das Kennwort. In diesem Beispiel verwenden Sie wsluser
als den Benutzernamen.
wsl --install -d Ubuntu-22.04
Die Ausgabe sollte etwa folgendem Beispiel entsprechen. Am Ende sollte gezeigt werden, dass Sie bei der Ubuntu 22.04 Bash-Shell angemeldet sind.
Installing: Ubuntu 22.04 LTS
Ubuntu 22.04 LTS has been installed.
Launching Ubuntu 22.04 LTS...
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: wsluser
New password:
Retype new password:
passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.167.4-microsoft-standard-WSL2 x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/pro
System information as of Tue Dec 3 00:32:14 IST 2024
System load: 0.33 Processes: 32
Usage of /: 0.1% of 1006.85GB Users logged in: 0
Memory usage: 2% IPv4 address for eth0: 10.18.123.249
Swap usage: 0%
This message is shown once a day. To disable it please create the
/home/wsluser/.hushlogin file.
Installieren von SQL Server
Sobald Sie bei der Ubuntu 22.04 Bash-Shell angemeldet sind, können Sie die in der Schnellstartanleitung beschriebenen Schritte ausführen: Installieren von SQL Server und Erstellen einer Datenbank auf Ubuntu zum Installieren von SQL Server 2022.
Sie sollten auch die SQL Server-Befehlszeilentools installieren .
IP-Adresse abrufen
Um die IP-Adresse zu identifizieren, mit der eine Verbindung mit SQL Server Management Studio (SSMS) hergestellt werden soll, führen Sie den ifconfig
Folgenden Befehl aus:
ifconfig
Die Ausgabe sollte etwa folgendem Beispiel entsprechen.
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.19.50.241 netmask 255.255.240.0 broadcast 10.19.63.255
inet6 fe80::215:5dff:fe76:c05d prefixlen 64 scopeid 0x20<link>
ether 00:15:5d:76:c0:5d txqueuelen 1000 (Ethernet)
RX packets 2146 bytes 1452448 (1.4 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1905 bytes 345288 (345.2 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2039 bytes 4144340 (4.1 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2039 bytes 4144340 (4.1 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Bereitstellen von SQL Server-Containern in WSL
Um Container in WSL bereitzustellen, müssen Sie zuerst ein Linux-Containermodul wie Docker installieren. Weitere Informationen finden Sie unter "Erste Schritte mit Docker-Remotecontainern" auf WSL. Nachdem Sie das Docker-Modul installiert haben, stellen Sie das SQL Server-Containerimage wie folgt bereit.
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" \
-e "MSSQL_PID=Developer" -e "MSSQL_AGENT_ENABLED=true" \
-p 14333:1433 --name sqlcontainerwsl --hostname sqlcontainerwsl \
-d mcr.microsoft.com/mssql/server:2022-latest
Hinweis
Ihr Kennwort sollte der standardmäßigen Kennwortrichtlinie von SQL Server folgen. Ein Standardkennwort enthält mindestens acht Zeichen, die aus drei der folgenden vier Kategorien stammen müssen: Großbuchstaben, Kleinbuchstaben, Grundzahlen (0–9) und Symbole. Kennwörter können bis zu 128 Zeichen lang sein. Verwenden Sie möglichst lange und komplexe Kennwörter.
Hinzufügen von persistentem Speicher mit WSL für SQL Server-Container
Sie können Datenvolumes erstellen, wie im Bereitstellen eines Hostverzeichnisses als Datenvolume beschrieben.
Führen Sie beispielsweise den folgenden Befehl aus, um ein Volume einzurichten, das sich an sql_volume
befindet und bei /var/opt/mssql/
liegt.
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" \
-e "MSSQL_PID=Developer" -e "MSSQL_AGENT_ENABLED=true" \
-p 14333:1433 --name sqlcontainerwsl --hostname sqlcontainerwsl \
-v sql_volume:/var/opt/mssql/ \
-d mcr.microsoft.com/mssql/server:2022-latest
Auch wenn Sie den wsl --terminate
Befehl ausführen, gehen die Daten nicht verloren. Wenn Sie WSL erneut starten und den docker run
Befehl ausführen, um mit dem sql_volume
Volumen die Bereitstellung durchzuführen, sind alle Daten weiterhin intakt.
Wenn Sie das permanente Volume löschen möchten, stellen Sie sicher, dass der Container mit dem Volume beendet und entfernt wird, und führen Sie den folgenden Befehl aus.
docker volume rm sql_volume
Bemerkungen
Sie sollten in der Lage sein, die meisten der für SQL Server unter Linux unterstützten Features für Entwicklungszwecke zu konfigurieren, mit Ausnahme der Geschäftskontinuitätsfeatures, die von Clusteringstapeln abhängig sind. Diese Features, z. B. Pacemaker oder HPE Serviceguard, werden auf WSL nicht unterstützt.
Eine vollständige Liste der nicht unterstützten Features für SQL Server unter Linux finden Sie unter Editionen und unterstützte Features von SQL Server 2022 unter Linux.
Lokal verbinden
Die folgenden Schritte verwenden sqlcmd, um sich lokal mit Ihrer neuen SQL Server-Instanz zu verbinden.
Vorsicht
Ihr Kennwort sollte der standardmäßigen Kennwortrichtlinie von SQL Server folgen. Ein Standardkennwort enthält mindestens acht Zeichen, die aus drei der folgenden vier Kategorien stammen müssen: Großbuchstaben, Kleinbuchstaben, Grundzahlen (0–9) und Symbole. Kennwörter können bis zu 128 Zeichen lang sein. Verwenden Sie möglichst lange und komplexe Kennwörter.
Führen Sie sqlcmd mit Parametern für Ihren SQL Servernamen (
-S
), den Benutzernamen (-U
) und das Kennwort (-P
) aus. In diesem Tutorial stellen Sie eine lokale Verbindung her. Der Servername lautet daherlocalhost
. Der Benutzername istsa
, und das Kennwort ist jenes, welches Sie beim Setup für dassa
-Konto angegeben haben.sqlcmd -S localhost -U sa -P '<password>'
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
-No
die Option 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.Wenn dies erfolgreich war, sollten Sie zu einer sqlcmd-Eingabeaufforderung gelangen:
1>
.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: Schreiben von Transact-SQL-Anweisungen.
Erstellen einer neuen Datenbank
Mit den folgenden Schritten wird eine neue Datenbank mit dem Namen TestDB
erstellt.
Fügen Sie aus der sqlcmd-Eingabeaufforderung den folgenden Transact-SQL-Befehl zur Erstellung einer Testdatenbank ein:
CREATE DATABASE TestDB;
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;
Die vorherigen beiden Befehle werden 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.
Wechseln Sie den Kontext aus der sqlcmd-Eingabeaufforderung zur neuen
TestDB
-Datenbank:USE TestDB;
Erstellen Sie eine neue Tabelle mit dem Namen
dbo.Inventory
: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); INSERT INTO dbo.Inventory VALUES (2, 'orange', 154);
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.
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;
Führen Sie den folgenden Befehl aus:
GO
Beenden der sqlcmd-Eingabeaufforderung
Zum Beenden der sqlcmd-Sitzung, geben Sie QUIT
ein:
QUIT
Leistungsoptimierung: Bewährte Praktiken
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:
Werkzeug | 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 Namen des Linux-Zielcomputers oder die IP-Adresse anstelle von `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.
Verwandte Inhalte
Zur SQL-Dokumentation beitragen
Wussten Sie schon, dass Sie SQL-Inhalte selbst bearbeiten könnten? Wenn Sie dies tun, helfen Sie nicht nur, unsere Dokumentation zu verbessern, sondern werden Sie auch als Mitwirkender der Seite erwähnt.
Weitere Informationen finden Sie unter Bearbeiten der Microsoft Learn-Dokumentation.