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 Linux windowsos alrendszerével (WSL) futtathat linuxos környezetet közvetlenül a Windows-gépen anélkül, hogy virtuális gépre vagy kettős rendszerindításra van 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. Futtassa az SQL Servert WSL-környezetekben az egyik támogatott platformon 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 szolgáltatásként systemd , amelyet aztán parancsokkal systemctl 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

Listázhatja a WSL-ben telepíthető összes érvényes disztribúciót:

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 (16.x) 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

A kimenet az alábbi példához hasonlóan néz ki. Kiderül, hogy bejelentkezett az Ubuntu 22.04 bash shell-be.

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, kövesse a rövid útmutatóban ismertetett lépéseket: Telepítse az SQL Servert, és hozzon létre egy adatbázist az Ubuntu-on az SQL Server 2022 telepítéséhez (16.x).

Az SQL Server parancssori eszközeit is telepítenie kell.

IP-cím lekérése

Az SQL Server egy példányához bármilyen ismerős SQL Server-ügyféleszközzel csatlakozhat, például sqlcmd, SQL Server Management Studio (SSMS) vagy a Visual Studio Code MSSQL-bővítményével.

Az IP-cím megkereséséhez futtassa a ifconfig következő parancsot:

ifconfig

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

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. A Docker-motor telepítése után 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

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

Hozzon létre adatköteteket a gazdagép könyvtárának adatkötetként való csatlakoztatásában leírtak szerint.

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

Még ha futtatja is a wsl --terminate parancsot, nem veszíti el az adatokat. 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 leállítja és eltávolítja a kötetet használó tárolót, majd futtassa a következő parancsot.

docker volume rm sql_volume

Megjegyzések

A Linuxon futó SQL Serverhez támogatott funkciók többségét fejlesztési célokra konfigurálhatja, kivéve a fürtözési veremtő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 az sqlcmd segédprogram használatával helyi kapcsolódást létesítenek az új SQL Server példányhoz. Töltse le és telepítse az sqlcmd segédprogramot Windows, Linux és macOS rendszeren.

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 Windows, Linux és macOS rendszerekhez. 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.

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.