Rychlý start: Instalace SQL Serveru a vytvoření databáze v subsystému Windows pro Linux (WSL 2)
platí pro:SQL Server – Linux
Subsystém Windows pro Linux (WSL) je funkce ve Windows, která umožňuje spouštět linuxové prostředí přímo na počítači s Windows, aniž by bylo nutné virtuální počítač nebo duální spouštění. WSL poskytuje bezproblémové a produktivní prostředí pro vývojáře, kteří chtějí současně používat Windows i Linux. Další informace najdete v tématu Co je subsystém Windows pro Linux?
SQL Server na WSL je určený pouze pro použití ve vývoji.
SQL Server na WSL 2 je určen pouze pro účely vývoje a je není podporován pro produkční úlohy. Sql Server doporučujeme spustit v prostředí WSL na jedné z podporovaných platforem, jak je uvedeno v dokumentu, pro verzi SQL Serveru, kterou chcete spustit.
V případě jakýchkoli problémů souvisejících s podporou můžete získat podporu od microsoftu.
Začínáme s SQL Serverem ve WSL 2
Sql Server ve WSL 2 můžete začít používat dvěma způsoby:
Nainstalujte SQL Server jako službu
systemd
, kterou je možné spravovat pomocí příkazůsystemctl
. Ujistěte se, že ve WSL povolítesystemd
. Další informace naleznete v tématu Jak povolit systemd.Nasazení kontejnerů SQL Serveru ve WSL. Pro tuto možnost je potřeba nainstalovat modul kontejneru Linuxu do WSL, jako je Docker nebo Podman, a pak nasadit kontejnery SQL Serveru.
Požadavky
Nainstalujte WSL 2. Ujistěte se, že používáte Windows 10 verze 2004 nebo novější (build 19041 a novější) nebo Windows 11. Pokud chcete nainstalovat WSL, otevřete příkazový řádek PowerShellu nebo Windows v režimu správce a spusťte následující příkaz:
wsl --install
Podrobné pokyny naleznete v tématu Jak nainstalovat Linux ve Windows s WSL. Informace o nastavení prostředí WSL pro vývoj naleznete v tématu Nastavení vývojového prostředí WSL.
Nainstalujte SQL Server ve WSL
Tato část popisuje postup nastavení linuxové distribuce ve WSL a postup instalace SQL Serveru v této linuxové distribuci.
Volba linuxové distribuce
Pomocí následujícího příkazu můžete zobrazit seznam všech platných distribucí, které lze nainstalovat do WSL:
wsl -l -o
Výstup vypadá podobně jako v následujícím příkladu.
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
Pro účely tohoto rychlého startu nainstalujte Ubuntu 22.04 a pak do této distribuce nainstalujte SQL Server 2022.
Pokud chcete nainstalovat Ubuntu 22.04, spusťte následující příkaz. Poznamenejte si uživatelský účet a heslo systému UNIX. V tomto příkladu použijte wsluser
jako uživatelské jméno.
wsl --install -d Ubuntu-22.04
Měl by se zobrazit výstup podobný následujícímu příkladu. Na konci by se mělo zobrazit, že jste přihlášeni do prostředí Bash Ubuntu 22.04.
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.
Instalace SQL Serveru
Po přihlášení do prostředí Bash Ubuntu 22.04 můžete postupovat podle kroků uvedených v rychlém startu : Instalace SQL Serveru a vytvoření databáze na Ubuntu k instalaci SQL Serveru 2022.
Měli byste nainstalovat také nástroje příkazového řádku SQL Serveru.
Získání IP adresy
Pokud chcete identifikovat IP adresu pro připojení pomocí aplikace SQL Server Management Studio (SSMS), spusťte příkaz ifconfig
následujícím způsobem:
ifconfig
Měl by se zobrazit výstup podobný následujícímu příkladu.
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
Nasazení kontejnerů SQL Serveru ve WSL
Pokud chcete nasadit kontejnery ve WSL, musíte nejprve nainstalovat linuxový kontejnerový modul, například Docker. Další informace najdete v tématu Začínáme se vzdálenými kontejnery Dockeru ve WSL. Jakmile máte nainstalovaný modul Docker, nasaďte image kontejneru SQL Serveru následujícím způsobem.
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
Poznámka
Vaše heslo by mělo postupovat podle výchozích zásad hesel SQL Serveru . Ve výchozím nastavení musí heslo obsahovat alespoň osm znaků a musí obsahovat znaky ze tří z následujících čtyř sad: velká písmena, malá písmena, číslice se základem 10 a symboly. Hesla můžou mít délku až 128 znaků. Používejte hesla, která jsou co nejdéle a složitá.
Přidání trvalého úložiště s VYUŽITÍM WSL pro kontejnery SQL Serveru
Datové svazky můžete vytvořit, jak je popsáno v Připojit hostitelský adresář jako datový svazek.
Spuštěním následujícího příkazu například nastavte svazek s názvem sql_volume
umístěný v /var/opt/mssql/
.
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
I když spustíte příkaz wsl --terminate
, data se neztratí. Když znovu spustíte WSL a použijete příkaz docker run
k nasazení prostřednictvím objemu sql_volume
, budou všechna data zachována nedotčená.
Pokud chcete trvalý svazek odstranit, ujistěte se, že je kontejner používající svazek zastavený a odebraný, a spusťte následující příkaz.
docker volume rm sql_volume
Poznámky
Pro účely vývoje byste měli být schopni nakonfigurovat většinu funkcí podporovaných pro SQL Server v Linuxu s výjimkou funkcí provozní kontinuity, které jsou závislé na zásobníkech clusteringu. Tyto funkce, jako je Pacemaker nebo HPE Serviceguard, nejsou ve WSL podporované.
Úplný seznam nepodporovaných funkcí sql Serveru v Linuxu najdete v tématu Edice a podporované funkce SQL Serveru 2022 v systému Linux.
Připojte se místně
Následující kroky používají sqlcmd k místnímu připojení k nové instanci SQL Serveru.
Opatrnost
Vaše heslo by mělo postupovat podle výchozích zásad hesel SQL Serveru . Ve výchozím nastavení musí heslo obsahovat alespoň osm znaků a musí obsahovat znaky ze tří z následujících čtyř sad: velká písmena, malá písmena, číslice se základem 10 a symboly. Hesla můžou mít délku až 128 znaků. Používejte hesla, která jsou co nejdéle a složitá.
Spusťte sqlcmd s parametry pro název SQL Serveru (
-S
), uživatelské jméno (-U
) a heslo (-P
). V tomto kurzu se připojujete místně, takže název serveru jelocalhost
. Uživatelské jméno jesa
a heslo je uživatelské jméno, které jste zadali pro účetsa
během instalace.sqlcmd -S localhost -U sa -P '<password>'
Poznámka
Novější verze sqlcmd jsou ve výchozím nastavení zabezpečené. Další informace o šifrování připojení najdete v tématu nástroj sqlcmd pro Windows a Připojení pomocí sqlcmd pro Linux a macOS. Pokud připojení neproběhne úspěšně, můžete přidat možnost
-No
sqlcmd a určit, že šifrování není povinné.Heslo na příkazovém řádku můžete vynechat, abyste byli vyzváni k jeho zadání.
Pokud se později rozhodnete připojit vzdáleně, zadejte název počítače nebo IP adresu pro parametr
-S
a ujistěte se, že je otevřený port 1433 ve vaší bráně firewall.V případě úspěchu byste se měli dostat na příkazový řádek sqlcmd:
1>
.Pokud dojde k selhání připojení, nejprve se pokuste diagnostikovat problém z chybové zprávy. Pak si projděte doporučení pro řešení potíží s připojením .
Vytvoření a dotazování dat
Následující části vás provedou používáním sqlcmd k vytvoření nové databáze, přidání dat a spuštění jednoduchého dotazu.
Další informace o psaní příkazů Transact-SQL a dotazů najdete v tématu Kurz: Psaní příkazů Transact-SQL.
Vytvoření nové databáze
Následující kroky vytvoří novou databázi s názvem TestDB
.
Z příkazového řádku sqlcmd vložte následující příkaz Transact-SQL k vytvoření testovací databáze:
CREATE DATABASE TestDB;
Na dalším řádku napište dotaz, který vrátí název všech databází na vašem serveru:
SELECT Name FROM sys.databases;
Předchozí dva příkazy se nespustí okamžitě. Pokud chcete spustit předchozí příkazy, musíte na nový řádek zadat
GO
:GO
Vložení dat
Dále vytvořte novou tabulku, dbo.Inventory
a vložte dva nové řádky.
Z příkazového řádku sqlcmd přepněte kontext na novou databázi
TestDB
:USE TestDB;
Vytvořte novou tabulku s názvem
dbo.Inventory
:CREATE TABLE dbo.Inventory ( id INT, name NVARCHAR (50), quantity INT, PRIMARY KEY (id) );
Vložte data do nové tabulky:
INSERT INTO dbo.Inventory VALUES (1, 'banana', 150); INSERT INTO dbo.Inventory VALUES (2, 'orange', 154);
Zadáním
GO
spusťte předchozí příkazy:GO
Výběr dat
Teď spusťte dotaz, který vrátí data z tabulky dbo.Inventory
.
Na příkazovém řádku sqlcmd zadejte dotaz, který vrátí řádky z tabulky
dbo.Inventory
, kde je množství větší než 152:SELECT * FROM dbo.Inventory WHERE quantity > 152;
Spusťte příkaz:
GO
Ukončete příkazovou řádku sqlcmd.
Chcete-li ukončit relaci sqlcmd, zadejte QUIT
:
QUIT
Osvědčené postupy z hlediska výkonu
Po instalaci SQL Serveru v Linuxu si projděte osvědčené postupy konfigurace Linuxu a SQL Serveru, abyste zlepšili výkon pro produkční scénáře. Další informace najdete v tématu Osvědčené postupy a pokyny pro konfiguraci pro SQL Server v linuxovém.
Datové nástroje pro různé platformy
Kromě sqlcmdmůžete ke správě SQL Serveru použít následující nástroje pro různé platformy:
Nástroj | Popis |
---|---|
Azure Data Studio | Nástroj pro správu databází grafického uživatelského rozhraní pro různé platformy. |
Visual Studio Code | Editor kódu grafického uživatelského rozhraní pro různé platformy, který spouští příkazy Transact-SQL s rozšířením mssql. |
PowerShell Core | Nástroj pro automatizaci a konfiguraci napříč platformami založený na rutinách. |
mssql-cli | Rozhraní příkazového řádku pro spouštění příkazů Transact-SQL na různých platformách. |
Připojení z Windows
Nástroje SQL Serveru ve Windows se připojují k instancím SQL Serveru v Linuxu stejným způsobem, jakým se připojují k jakékoli vzdálené instanci SQL Serveru.
Pokud máte počítač s Windows, který se může připojit k počítači s Linuxem, zkuste stejný postup v tomto tématu z příkazového řádku Windows se spuštěným sqlcmd. Musíte použít cílový název počítače s Linuxem nebo IP adresu místo localhost
a ujistěte se, že je na počítači s SQL Serverem otevřený port TCP 1433. Pokud máte problémy s připojením z Windows, přečtěte si doporučení pro řešení potíží s připojením.
Další nástroje, které běží ve Windows, ale připojují se k SQL Serveru v Linuxu, najdete tady:
- SQL Server Management Studio (SSMS)
- Windows PowerShell
- SQL Server Data Tools (SSDT)
Další scénáře nasazení
Další scénáře instalace najdete v následujících zdrojích informací:
- Upgrade: Zjistěte, jak upgradovat stávající instalaci SQL Serveru v Linuxu.
- Odinstalovat: Odinstalovat SQL Server v Linuxu
- bezobslužná instalace: Naučte se skriptovat instalaci bez výzev.
- offline instalace: Zjistěte, jak ručně stáhnout balíčky pro offline instalaci.
Odpovědi na nejčastější dotazy najdete v FAQ k SQL Serveru na Linuxu.
Související obsah
Přispět do dokumentace k SQL
Věděli jste, že obsah SQL můžete upravovat sami? Pokud to uděláte, nejen že vám pomůžete vylepšit naši dokumentaci, ale také jste získali kredit jako přispěvatel na stránku.
Další informace najdete v tématu Jak přispívat do dokumentace k SQL Serveru