gebeurtenis
31 mrt, 23 - 2 apr, 23
De grootste SQL-, Fabric- en Power BI-leerevenement. 31 maart – 2 april. Gebruik code FABINSIDER om $ 400 te besparen.
Zorg dat u zich vandaag nog registreertDeze browser wordt niet meer ondersteund.
Upgrade naar Microsoft Edge om te profiteren van de nieuwste functies, beveiligingsupdates en technische ondersteuning.
van toepassing op:SQL Server- - Linux
Windows-subsysteem voor Linux (WSL) is een functie in Windows waarmee u een Linux-omgeving rechtstreeks op uw Windows-computer kunt uitvoeren, zonder dat u een virtuele machine of dubbel opstarten nodig hebt. WSL biedt een naadloze en productieve ervaring voor ontwikkelaars die windows en Linux tegelijkertijd willen gebruiken. Voor meer informatie, zie Wat is het Windows-subsysteem voor Linux?
SQL Server op WSL 2 is alleen bedoeld voor ontwikkelingsdoeleinden en wordt niet ondersteund voor productieworkloads. We raden u aan SQL Server uit te voeren in WSL-omgevingen op een van de Ondersteunde platforms zoals gedocumenteerd, voor de versie van SQL Server die u wilt uitvoeren.
Voor eventuele problemen met betrekking tot ondersteuning kunt u ondersteuning krijgen van Microsoft.
Er zijn twee manieren om aan de slag te gaan met SQL Server op WSL 2:
Installeer SQL Server als een systemd
-service, die kan worden beheerd met behulp van systemctl
opdrachten. Zorg ervoor dat u systemd
inschakelt op WSL. Zie voor meer informatie Hoe systemd in te schakelen.
SQL Server-containers implementeren in WSL. Voor deze optie moet u een Linux-containerengine installeren in WSL, zoals Docker of Podman, en vervolgens SQL Server-containers implementeren.
Installeer WSL 2. Zorg ervoor dat u Windows 10 versie 2004 of hoger gebruikt (build 19041 en hoger) of Windows 11. Als u WSL wilt installeren, opent u een PowerShell- of Windows-opdrachtprompt in de beheerdersmodus en voert u de volgende opdracht uit:
wsl --install
Zie Linux installeren in Windows met WSLvoor gedetailleerde instructies. Zie Een WSL-ontwikkelomgeving instellenvoor meer informatie over het instellen van de WSL-omgeving voor ontwikkeling.
In deze sectie worden de stappen beschreven voor het instellen van een Linux-distributie in WSL en het installeren van SQL Server in die Linux-distributie.
U kunt alle geldige distributies weergeven die in WSL kunnen worden geïnstalleerd met behulp van de volgende opdracht:
wsl -l -o
De uitvoer ziet er ongeveer als het volgende voorbeeld uit.
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
Voor deze quickstart installeert u Ubuntu 22.04 en installeert u VERVOLGENS SQL Server 2022 in die distributie.
Voer de volgende opdracht uit om Ubuntu 22.04 te installeren. Noteer het UNIX-gebruikersaccount en wachtwoord. In dit voorbeeld gebruikt u wsluser
als gebruikersnaam.
wsl --install -d Ubuntu-22.04
Je zou een uitvoer moeten zien die lijkt op het volgende voorbeeld. Aan het einde moet worden weergegeven dat u bent aangemeld bij de Ubuntu 22.04 bash-shell.
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.
Zodra u bent aangemeld bij de Ubuntu 22.04 bash-shell, kunt u de stappen volgen die worden beschreven in quickstart: SQL Server installeren en een database maken op Ubuntu om SQL Server 2022 te installeren.
U moet ook de opdrachtregelprogramma's van SQL Server installeren.
Als u het IP-adres wilt identificeren waarmee u verbinding wilt maken met behulp van SQL Server Management Studio (SSMS), voert u de opdracht ifconfig
als volgt uit:
ifconfig
De uitvoer moet er ongeveer uitzien zoals het volgende voorbeeld.
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
Als u containers in WSL wilt implementeren, moet u eerst een Linux-containerengine, zoals Docker, installeren. Zie Aan de slag met Externe Docker-containers op WSLvoor meer informatie. Nadat u de Docker-engine hebt geïnstalleerd, implementeert u de SQL Server-containerinstallatiekopieën als volgt.
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
Notitie
Uw wachtwoord moet voldoen aan het standaard wachtwoordbeleid van SQL Server . Standaard moet het wachtwoord ten minste acht tekens lang zijn en tekens bevatten uit drie van de volgende vier sets: hoofdletters, kleine letters, basis-10 cijfers en symbolen. Wachtwoorden mogen maximaal 128 tekens lang zijn. Gebruik wachtwoorden die zo lang en complex mogelijk zijn.
U kunt gegevensvolumes maken zoals beschreven in Een hostmap koppelen als gegevensvolume.
Voer bijvoorbeeld de volgende opdracht uit om een volume met de naam sql_volume
op /var/opt/mssql/
in te stellen.
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
Zelfs als u de opdracht wsl --terminate
uitvoert, gaan de gegevens niet verloren. Wanneer u WSL opnieuw start en de opdracht docker run
uitvoert om te implementeren met behulp van het sql_volume
volume, bevat deze nog steeds alle gegevens intact.
Als u het persistente volume wilt verwijderen, controleert u of de container die het volume gebruikt, is gestopt en verwijderd en voert u de volgende opdracht uit.
docker volume rm sql_volume
U moet de meeste functies kunnen configureren die worden ondersteund voor SQL Server op Linux voor ontwikkelingsdoeleinden, met uitzondering van de functies voor bedrijfscontinuïteit die afhankelijk zijn van clusteringstacks. Deze functies, zoals Pacemaker of HPE Serviceguard, worden niet ondersteund in WSL.
In de volgende stappen wordt sqlcmd- gebruikt om lokaal verbinding te maken met uw nieuwe SQL Server-exemplaar.
Waarschuwing
Uw wachtwoord moet voldoen aan het standaard SQL Server wachtwoordbeleid. Standaard moet het wachtwoord ten minste acht tekens lang zijn en tekens bevatten uit drie van de volgende vier sets: hoofdletters, kleine letters, basis-10 cijfers en symbolen. Wachtwoorden mogen maximaal 128 tekens lang zijn. Gebruik wachtwoorden die zo lang en complex mogelijk zijn.
Voer sqlcmd- uit met parameters voor uw SQL Server-naam (-S
), de gebruikersnaam (-U
) en het wachtwoord (-P
). In deze handleiding maakt u lokaal verbinding, zodat de servernaam localhost
is. De gebruikersnaam wordt sa
en het wachtwoord is het wachtwoord dat u tijdens de installatie hebt opgegeven voor het sa
-account.
sqlcmd -S localhost -U sa -P '<password>'
Notitie
Nieuwere versies van sqlcmd- zijn standaard beveiligd. Zie sqlcmd-hulpprogramma voor Windows en Verbinding maken met sqlcmd voor Linux en macOS voor meer informatie over verbindingsversleuteling. Als de verbinding niet lukt, kunt u de optie -No
toevoegen aan sqlcmd om aan te geven dat versleuteling optioneel is in plaats van verplicht.
U kunt het wachtwoord op de opdrachtregel weglaten, zodat u wordt gevraagd het in te voeren.
Als u later besluit om op afstand verbinding te maken, geeft u de computernaam of het IP-adres op voor de parameter -S
en controleert u of poort 1433 is geopend op uw firewall.
Als dit lukt, gaat u naar een sqlcmd opdrachtprompt: 1>
.
Als er een verbindingsfout optreedt, probeert u eerst het probleem te diagnosticeren vanuit het foutbericht. Bekijk vervolgens de aanbevelingen voor het oplossen van verbindingsproblemen.
In de volgende secties wordt uitgelegd hoe u sqlcmd- gebruikt om een nieuwe database te maken, gegevens toe te voegen en een eenvoudige query uit te voeren.
Voor meer informatie over het schrijven van Transact-SQL instructies en query's, zie Zelfstudie: Transact-SQL instructies schrijven.
Met de volgende stappen maakt u een nieuwe database met de naam TestDB
.
Plak in de opdrachtprompt sqlcmd de volgende Transact-SQL opdracht om een testdatabase te maken:
CREATE DATABASE TestDB;
Schrijf op de volgende regel een query om de naam van alle databases op uw server te retourneren:
SELECT Name
FROM sys.databases;
De vorige twee opdrachten worden niet onmiddellijk uitgevoerd. U moet GO
op een nieuwe regel typen om de vorige opdrachten uit te voeren:
GO
Maak vervolgens een nieuwe tabel, dbo.Inventory
en voeg twee nieuwe rijen in.
Vanaf de opdrachtprompt van sqlcmd, schakel over naar de nieuwe TestDB
-database:
USE TestDB;
Maak een nieuwe tabel met de naam dbo.Inventory
:
CREATE TABLE dbo.Inventory
(
id INT,
name NVARCHAR (50),
quantity INT,
PRIMARY KEY (id)
);
Gegevens invoegen in de nieuwe tabel:
INSERT INTO dbo.Inventory
VALUES (1, 'banana', 150);
INSERT INTO dbo.Inventory
VALUES (2, 'orange', 154);
Typ GO
om de vorige opdrachten uit te voeren:
GO
Voer nu een query uit om gegevens uit de dbo.Inventory
tabel te retourneren.
Voer vanuit de opdrachtprompt sqlcmd een query in waarmee rijen worden geretourneerd uit de dbo.Inventory
tabel waarin de hoeveelheid groter is dan 152:
SELECT *
FROM dbo.Inventory
WHERE quantity > 152;
Voer de opdracht uit:
GO
Als u uw sqlcmd-sessie wilt beëindigen, typt u QUIT
:
QUIT
Nadat u SQL Server in Linux hebt geïnstalleerd, bekijkt u de aanbevolen procedures voor het configureren van Linux en SQL Server om de prestaties voor productiescenario's te verbeteren. Zie Best practices en configuratierichtlijnen voor SQL Server op Linuxvoor meer informatie.
Naast sqlcmdkunt u de volgende platformoverschrijdende hulpprogramma's gebruiken om SQL Server te beheren:
Werktuig | Beschrijving |
---|---|
Azure Data Studio- | Een hulpprogramma voor platformoverschrijdend GUI-databasebeheer. |
Visual Studio Code | Een platformoverschrijdende GUI-code-editor die Transact-SQL instructies uitvoert met de mssql-extensie. |
PowerShell Core- | Een platformoverschrijdend automatiserings- en configuratiehulpprogramma op basis van cmdlets. |
mssql-cli | Een platformoverschrijdende opdrachtregelinterface voor het uitvoeren van Transact-SQL opdrachten. |
SQL Server-hulpprogramma's in Windows maken verbinding met SQL Server-exemplaren op Linux op dezelfde manier als ze verbinding zouden maken met een extern SQL Server-exemplaar.
Als u een Windows-computer hebt die verbinding kan maken met uw Linux-computer, voert u dezelfde stappen in dit onderwerp uit vanaf een Windows-opdrachtprompt waarop sqlcmd-wordt uitgevoerd. U moet de naam of het IP-adres van de Linux-doelcomputer gebruiken in plaats van localhost
en ervoor zorgen dat TCP-poort 1433 is geopend op de SQL Server-machine. Als u problemen ondervindt met het maken van verbinding vanuit Windows, raadpleegt u aanbevelingen voor het oplossen van verbindingsproblemen.
Voor andere hulpprogramma's die worden uitgevoerd in Windows, maar verbinding maken met SQL Server in Linux, raadpleegt u:
Zie de volgende bronnen voor andere installatiescenario's:
Raadpleeg de SQL Server op Linux FAQvoor antwoorden op veelgestelde vragen.
Wist u dat u zelf SQL-inhoud kunt bewerken? Als u dit doet, helpt u niet alleen onze documentatie te verbeteren, maar wordt u ook erkend als een bijdrager aan de pagina.
Zie Bijdragen aan sql Server-documentatie voor meer informatie
gebeurtenis
31 mrt, 23 - 2 apr, 23
De grootste SQL-, Fabric- en Power BI-leerevenement. 31 maart – 2 april. Gebruik code FABINSIDER om $ 400 te besparen.
Zorg dat u zich vandaag nog registreertTraining
Certificering
Microsoft Certified: Azure Database Administrator Associate - Certifications
Administer an SQL Server database infrastructure for cloud, on-premises and hybrid relational databases using the Microsoft PaaS relational database offerings.