Sdílet prostřednictvím


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íte systemd. 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á.

  1. 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 je localhost. Uživatelské jméno je sa a heslo je uživatelské jméno, které jste zadali pro účet sa 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.

  2. V případě úspěchu byste se měli dostat na příkazový řádek sqlcmd: 1>.

  3. 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.

  1. Z příkazového řádku sqlcmd vložte následující příkaz Transact-SQL k vytvoření testovací databáze:

    CREATE DATABASE TestDB;
    
  2. 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;
    
  3. 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.Inventorya vložte dva nové řádky.

  1. Z příkazového řádku sqlcmd přepněte kontext na novou databázi TestDB:

    USE TestDB;
    
  2. Vytvořte novou tabulku s názvem dbo.Inventory:

    CREATE TABLE dbo.Inventory
    (
        id INT,
        name NVARCHAR (50),
        quantity INT,
        PRIMARY KEY (id)
    );
    
  3. Vložte data do nové tabulky:

    INSERT INTO dbo.Inventory
    VALUES (1, 'banana', 150);
    
    INSERT INTO dbo.Inventory
    VALUES (2, 'orange', 154);
    
  4. 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.

  1. 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;
    
  2. 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 localhosta 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:

Další scénáře nasazení

Další scénáře instalace najdete v následujících zdrojích informací:

Odpovědi na nejčastější dotazy najdete v FAQ k SQL Serveru na Linuxu.

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