Megosztás a következőn keresztül:


Rövid útmutató: Az SQL Server telepítése és adatbázis létrehozása a Linux windowsos alrendszerén (WSL 2)

A következőkre vonatkozik:SQL Server Linux rendszeren

A Windows alrendszer a Linuxhoz (WSL) a Windows egyik funkciója, amely lehetővé teszi, hogy egy Linux-környezetet közvetlenül a Windows-gépén futtasson, anélkül hogy virtuális gépre vagy kettős rendszerindításra lenne szükség. A WSL zökkenőmentes és hatékony élményt nyújt azoknak a fejlesztőknek, akik egyszerre szeretnék használni a Windowst és a Linuxot is. További információ: Mi a Linux windowsos alrendszere?

A WSL-n futó SQL Server csak fejlesztési célra használható

A WSL 2-n futó SQL Server csak fejlesztési célokra szolgál, és éles számítási feladatokhoz nem támogatott. Javasoljuk, hogy az SQL Servert WSL-környezetekben futtassa az egyik támogatott platformon, dokumentált módon, a futtatni kívánt SQL Server-verzióhoz.

A támogatással kapcsolatos problémák esetén a Microsofttól veheti igénybe a támogatást.

Az SQL Server használatának első lépései a WSL 2-n

Az SQL Server használatának két módja van a WSL 2-n:

  • Telepítse az SQL Servert systemd szolgáltatásként, amely systemctl parancsokkal kezelhető. Győződjön meg arról, hogy engedélyezi a systemd a WSL-ben. További információért tekintse meg a következőt: Hogyan lehet engedélyezni a systemd-t.

  • SQL Server-tárolók üzembe helyezése a WSL-ben. Ehhez a beállításhoz telepítenie kell egy Linux-tárolómotort a WSL-ben, például a Dockert vagy a Podmant, majd telepítenie kell az SQL Server-tárolókat.

Előfeltételek

Telepítse a WSL 2-t. Győződjön meg arról, hogy a Windows 10 2004-es vagy újabb verzióját (19041-es és újabb buildet) vagy a Windows 11-et futtatja. A WSL telepítéséhez nyisson meg egy PowerShell- vagy Windows-parancssort rendszergazdai módban, és kövesse a következő szakaszban található utasításokat.

Részletes útmutatásért lásd: Linux telepítése Windows rendszeren WSL-. A WSL-környezet fejlesztési célú beállításáról további információt a WSL-fejlesztési környezet beállításacímű témakörben talál.

Az SQL Server telepítése a WSL-ben

Ez a szakasz a Linux-disztribúció WSL-ben való beállításának lépéseit, valamint az SQL Server telepítésének lépéseit ismerteti az adott Linux-disztribúcióban.

Linux-disztribúció kiválasztása

A WSL-ben telepíthető összes érvényes disztribúciót az alábbi paranccsal listázhatja:

wsl -l -o

A kimenet az alábbi példához hasonlóan néz ki.

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

Ebben a rövid útmutatóban telepítse az Ubuntu 22.04-et, majd telepítse az SQL Server 2022-t ebbe a disztribúcióba.

Az Ubuntu 22.04 telepítéséhez futtassa a következő parancsot. Jegyezze fel a UNIX felhasználói fiókot és jelszót. Ebben a példában használja a wsluser felhasználónevet.

wsl --install -d Ubuntu-22.04

Az alábbi példához hasonló kimenetnek kell megjelennie. A végén azt kell mutatnia, hogy be van jelentkezve az Ubuntu 22.04 bash felületére.

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.

Az SQL Server telepítése

Miután bejelentkezett az Ubuntu 22.04 bash-rendszerhéjba, az SQL Server 2022 telepítéséhez kövesse a "Gyorsútmutató: Telepítse az SQL Servert és hozzon létre egy adatbázist az Ubuntu rendszeren" című részben ismertetett lépéseket.

Az SQL Server parancssori eszközeit is telepítse.

IP-cím lekérése

Az SQL Server Management Studio (SSMS) használatával való csatlakozáshoz szükséges IP-cím azonosításához futtassa a ifconfig parancsot az alábbiak szerint:

ifconfig

Az alábbi példához hasonló kimenetnek kell megjelennie.

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

SQL Server-tárolók üzembe helyezése a WSL-ben

A tárolók WSL-ben való üzembe helyezéséhez először telepítenie kell egy Linux-tárolómotort, például a Dockert. A további információért lásd: A Docker távoli konténerek használatának első lépései a WSL--en. Miután telepítette a Docker-motort, telepítse az SQL Server tárolórendszerképét az alábbiak szerint.

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

Ha az SQL Server 2025 -höz (17.x) vagy egy újabb verzióhoz helyez üzembe tárolót, használja MSSQL_PID=DeveloperStandard a Standard Developer kiadáshoz és MSSQL_PID=Developer az Enterprise Developer kiadáshoz.

Jegyzet

A jelszónak az SQL Server alapértelmezett jelszóházirendetkell követnie. Alapértelmezés szerint a jelszónak legalább nyolc karakter hosszúnak kell lennie, és a következő négy készletből három karakterből kell állnia: nagybetűk, kisbetűk, 10 számjegyből és szimbólumokból. A jelszavak legfeljebb 128 karakter hosszúak lehetnek. Használjon olyan jelszavakat, amelyek a lehető legkomplexebbek és hosszúak.

Állandó tároló hozzáadása WSL-vel SQL Server-tárolókhoz

Az adatköteteket úgy hozhatja létre, ahogy az az Gazdagépkönyvtár adatkötetként való csatlakoztatásában van leírva.

Például futtassa a következő parancsot egy sql_volume nevű kötet beállításához a /var/opt/mssql/helyen.

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

Ha az SQL Server 2025 -höz (17.x) vagy egy újabb verzióhoz helyez üzembe tárolót, használja MSSQL_PID=DeveloperStandard a Standard Developer kiadáshoz és MSSQL_PID=Developer az Enterprise Developer kiadáshoz.

Az adatok akkor sem vesznek el, ha a wsl --terminate parancsot futtatja. Amikor újra elindítja a WSL-t, és a docker run parancsot futtatja a sql_volume kötet használatával történő üzembe helyezéshez, az összes adat érintetlen marad.

Ha törölni szeretné a megőrzött kötetet, győződjön meg arról, hogy a kötetet használó tároló le van állítva és el lett távolítva, és futtassa a következő parancsot.

docker volume rm sql_volume

Megjegyzések

A linuxos SQL Serverhez támogatott funkciók többségét fejlesztési célokra konfigurálhatja, kivéve a fürtözési veremektől függő üzletmenet-folytonossági funkciókat. Ezek a funkciók, például a Pacemaker vagy a HPE Serviceguard, nem támogatottak a WSL-ben.

A Linuxon futó SQL Server nem támogatott funkcióinak teljes listáját a Linuxon futó SQL Server 2022 Kiadásai és támogatott funkcióicímű témakörben találja.

Csatlakozz helyben

Az alábbi lépések segítségével a sqlcmd használatával csatlakozhat helyileg az új SQL Server-példányhoz.

Figyelem

A jelszónak az SQL Server alapértelmezett jelszóházirendetkell követnie. Alapértelmezés szerint a jelszónak legalább nyolc karakter hosszúnak kell lennie, és a következő négy készletből három karakterből kell állnia: nagybetűk, kisbetűk, 10 számjegyből és szimbólumokból. A jelszavak legfeljebb 128 karakter hosszúak lehetnek. Használjon olyan jelszavakat, amelyek a lehető legkomplexebbek és hosszúak.

  1. Futtassa a(z) sqlcmd parancsot az SQL Server nevéhez (-S), a felhasználónévhez (-U) és a jelszóhoz (-P) tartozó paraméterekkel. Ebben az oktatóanyagban helyileg csatlakozik, így a kiszolgáló neve localhost. A felhasználónév sa, és a jelszó az, amelyet a sa-fiókhoz megadott a beállítás során.

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

    Jegyzet

    Az sqlcmd újabb verziói alapértelmezés szerint biztonságosak. További információ a kapcsolattitkosításról: sqlcmd segédprogram Windowshoz, és Csatlakozás sqlcmd Linuxhoz és macOS-hez. Ha a kapcsolat nem sikerül, hozzáadhatja a -No beállítást az sqlcmd parancsához, hogy a titkosítás ne legyen kötelező.

    Kihagyhatja a jelszót a parancssorból, hogy a rendszer kérje annak megadását.

    Ha később úgy dönt, hogy távolról csatlakozik, adja meg a -S paraméter gépnevét vagy IP-címét, és győződjön meg arról, hogy az 1433-as port nyitva van a tűzfalon.

  2. Ha sikerül, el kell jutnia egy sqlcmd parancssorhoz: 1>.

  3. Ha kapcsolathiba jelentkezik, először próbálja meg diagnosztizálni a problémát a hibaüzenetből. Ezután tekintse át a kapcsolat hibaelhárítási javaslatait.

Adatok létrehozása és lekérdezése

Az alábbi szakaszok végigvezetik az sqlcmd használatával egy új adatbázis létrehozásához, adatok hozzáadásához és egyszerű lekérdezés futtatásához.

A Transact-SQL utasítások és lekérdezések írásáról további információt oktatóanyagban talál: Transact-SQL utasítások írása.

Új adatbázis létrehozása

Az alábbi lépések egy TestDBnevű új adatbázist hoznak létre.

  1. Az sqlcmd parancssorból illessze be a következő Transact-SQL parancsot egy tesztadatbázis létrehozásához:

    CREATE DATABASE TestDB;
    
  2. A következő sorban írjon egy lekérdezést a kiszolgáló összes adatbázisának nevének visszaadásához:

    SELECT Name
    FROM sys.databases;
    
  3. Az előző két parancs nem lesz azonnal végrehajtva. Az előző parancsok végrehajtásához be kell gépelnie GO egy új sorba:

    GO
    

Adatok beszúrása

Ezután hozzon létre egy új táblát, dbo.Inventory, és szúrjon be két új sort.

  1. Az sqlcmd parancssorból váltson az új TestDB-adatbázis környezetére.

    USE TestDB;
    
  2. Új, dbo.Inventorynevű tábla létrehozása:

    CREATE TABLE dbo.Inventory
    (
        id INT,
        name NVARCHAR (50),
        quantity INT,
        PRIMARY KEY (id)
    );
    
  3. Adatok beszúrása az új táblába:

    INSERT INTO dbo.Inventory
    VALUES (1, 'banana', 150);
    
    INSERT INTO dbo.Inventory
    VALUES (2, 'orange', 154);
    
  4. Írja be a GO az előző parancsok végrehajtásához:

    GO
    

Adatok kijelölése

Most futtasson egy lekérdezést, amely adatokat ad vissza a dbo.Inventory táblából.

  1. Az sqlcmd parancssorból adjon meg egy lekérdezést, amely a dbo.Inventory táblából ad vissza sorokat, ahol a mennyiség nagyobb, mint 152:

    SELECT *
    FROM dbo.Inventory
    WHERE quantity > 152;
    
  2. Hajtsa végre a következő parancsot:

    GO
    

Kilépés az sqlcmd parancssorból

A sqlcmd munkamenet befejezéséhez írja be QUIT:

QUIT

Teljesítménnyel kapcsolatos ajánlott eljárások

Miután telepítette az SQL Servert Linuxra, tekintse át a Linux és az SQL Server konfigurálásának ajánlott eljárásait az éles forgatókönyvek teljesítményének javítása érdekében. További információ: LinuxSQL Server teljesítményével kapcsolatos ajánlott eljárások és konfigurációs irányelvek.

Platformfüggetlen adateszközök

Az sqlcmd mellett a következő platformfüggetlen eszközökkel kezelheti az SQL Servert:

Eszköz Leírás
Visual Studio Code Platformfüggetlen GUI-kódszerkesztő, amely Transact-SQL utasításokat futtat az MSSQL-bővítménysel.
PowerShell Platformfüggetlen automatizálási és konfigurációs eszköz parancsmagok alapján.
mssql-cli Platformfüggetlen parancssori felület Transact-SQL parancsok futtatásához.

Csatlakozás Windowsról

A Windows SQL Server-eszközei ugyanúgy csatlakoznak a Linuxon futó SQL Server-példányokhoz, mint bármely távoli SQL Server-példányhoz.

Ha olyan Windows rendszerű géppel rendelkezik, amely képes csatlakozni a Linux rendszerű géphez, próbálkozzon a jelen cikkben ismertetett lépésekkel egy sqlcmd-et futtató Windows-parancssorból. A cél Linux-gép nevét vagy IP-címét kell használnia a localhosthelyett, és győződjön meg arról, hogy az 1433-at tartalmazó TCP-port nyitva van az SQL Server gépen. Ha problémákat tapasztal a Windowsról való csatlakozással kapcsolatban, tekintse meg kapcsolat hibaelhárítási javaslatait.

A Windows rendszeren futó, de linuxos SQL Serverhez csatlakozó egyéb eszközökért lásd:

Egyéb üzembe helyezési forgatókönyvek

További telepítési forgatókönyvekért tekintse meg a következő erőforrásokat:

A gyakori kérdésekre adott válaszokért tekintse meg a linuxos SQL Server gyakori kérdéseket.

Közreműködés az SQL dokumentációjában

Tudta, hogy saját maga szerkesztheti az SQL-tartalmakat? Ha így tesz, nem csak a dokumentáció fejlesztésében segít, hanem az oldal közreműködőjeként is jóváírást kap.

További információ: Microsoft Learn-dokumentáció szerkesztése.