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


Az Azure SQL Edge üzembe helyezése a Dockerrel

Fontos

Az Azure SQL Edge 2025. szeptember 30-án megszűnik. További információkért és a migrálási lehetőségekért tekintse meg a kivonásról szóló közleményt.

Feljegyzés

Az Azure SQL Edge már nem támogatja az ARM64 platformot.

Ebben a rövid útmutatóban a Docker használatával lekéri és futtatja az Azure SQL Edge-tárolórendszerképet. Ezután csatlakozzon az sqlcmd-hez az első adatbázis létrehozásához és a lekérdezések futtatásához.

Ez a rendszerkép az Ubuntu 18.04-en alapuló SQL Edge-ből áll. Linuxon a Docker Engine 1.8+-os motorral is használható.

Az Azure SQL Edge-tárolók nem támogatottak az alábbi platformokon éles számítási feladatokhoz:

  • Windows
  • macOS
  • Linuxhoz készült Azure IoT Edge Windows rendszeren (EFLOW)

Előfeltételek

  • Docker Engine 1.8+ bármilyen támogatott Linux-disztribúción. További információ: Docker telepítése. Mivel az SQL Edge-rendszerképek az Ubuntu 18.04-en alapulnak, javasoljuk, hogy használjon Ubuntu 18.04 Docker-gazdagépet.
  • Docker overlay2 storage driver. Ez a legtöbb felhasználó esetében ez az alapértelmezett beállítás. Ha úgy találja, hogy nem ezt a társzolgáltatót használja, és módosítania kell, tekintse meg a Docker dokumentációjában található utasításokat és figyelmeztetéseket az átfedés2 konfigurálásához.
  • Legalább 10 GB lemezterület.
  • Legalább 1 GB RAM.
  • Az Azure SQL Edge hardverkövetelményei.

Feljegyzés

A cikkben szereplő bash-parancsokat használja a rendszer sudo . Ha nem szeretné használni sudo a Docker futtatását, konfigurálhat egy Docker-csoportot, és hozzáadhat felhasználókat a csoporthoz. További információkért lásd a Linux telepítés utáni lépéseit.

A tárolórendszerkép lekérése és futtatása

  1. Kérje le az Azure SQL Edge-tárolórendszerképet a Microsoft Container Registryből.

    sudo docker pull mcr.microsoft.com/azure-sql-edge:latest
    

    Az előző parancs lekéri a legújabb SQL Edge-tárolórendszerképet. Az összes elérhető rendszerkép megtekintéséhez tekintse meg az Azure-sql-edge Docker Hub oldalát.

  2. A tárolólemezkép Dockerrel való futtatásához használja a következő parancsot egy bash-rendszerhéjból:

    • Indítsa el a Fejlesztői kiadásként futó Azure SQL Edge-példányt:

      sudo docker run --cap-add SYS_PTRACE -e 'ACCEPT_EULA=1' -e 'MSSQL_SA_PASSWORD=<password>' -p 1433:1433 --name azuresqledge -d mcr.microsoft.com/azure-sql-edge
      
    • Indítsa el a Prémium kiadásként futó Azure SQL Edge-példányt:

      sudo docker run --cap-add SYS_PTRACE -e 'ACCEPT_EULA=1' -e 'MSSQL_SA_PASSWORD=<password>' -e 'MSSQL_PID=Premium' -p 1433:1433 --name azuresqledge -d mcr.microsoft.com/azure-sql-edge
      

    Fontos

    A jelszónak a Microsoft SQL Database Engine alapértelmezett jelszószabályzatát kell követnie, ellenkező esetben a tároló nem tudja beállítani az SQL Database Engine-t, és leáll. Alapértelmezés szerint a jelszónak legalább 8 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ámjegy és szimbólum. A hibanaplót a Docker-naplók parancs futtatásával vizsgálhatja meg.

    Az alábbi táblázat az előző docker run példákban szereplő paraméterek leírását tartalmazza:

    Paraméter Leírás
    -e "ACCEPT_EULA=Y" Állítsa a ACCEPT_EULA változót bármilyen értékre, hogy megerősítse a végfelhasználói licencszerződés elfogadását. Kötelező beállítás az SQL Edge-rendszerképhez.
    -e "MSSQL_SA_PASSWORD=<password>" Adja meg a saját erős jelszavát, amely legalább nyolc karakterből áll, és megfelel a jelszókövetelményeknek. Kötelező beállítás az SQL Edge-rendszerképhez.
    -p 1433:1433 Tcp-port leképezése a gazdakörnyezetben (első érték) egy TCP-porttal a tárolóban (második érték). Ebben a példában az SQL Edge a tárolóban lévő TCP 1433-at figyeli, és ez a gazdagép 1433-ás portjának lesz kitéve.
    --name azuresqledge Adjon meg egyéni nevet a tárolónak a véletlenszerűen létrehozott helyett. Ha egynél több tárolót futtat, nem használhatja újra ugyanazt a nevet.
    -d A tároló futtatása a háttérben (démon)

    Az Azure SQL Edge környezeti változóinak teljes listájáért tekintse meg az Azure SQL Edge környezeti változókkal való konfigurálását. Az SQL Edge-tárolók konfigurálásához mssql.conf fájlt is használhat.

  3. A Docker-tárolók megtekintéséhez használja a docker ps parancsot.

    sudo docker ps -a
    
  4. Ha a STATUS oszlop up állapotot jelenít meg, akkor az SQL Edge fut a tárolóban, és figyeli a PORT oszlopban megadott portot. Ha az SQL Edge-tároló STATUS oszlopa az Exited (Kilépés) értéket jeleníti meg, tekintse meg az Azure SQL Edge dokumentációjának hibaelhárítási szakaszát.

    A -h (gazdagépnév) paraméter is hasznos, de ebben az oktatóanyagban nem használja az egyszerűség kedvéért. Ez a tároló belső nevét egyéni értékre módosítja. Ez a következő Transact-SQL-lekérdezésben visszaadott név:

    SELECT @@SERVERNAME,
        SERVERPROPERTY('ComputerNamePhysicalNetBIOS'),
        SERVERPROPERTY('MachineName'),
        SERVERPROPERTY('ServerName');
    

    --name A céltároló egyszerű azonosítására jó módszer az azonos értékre történő beállítás-h.

  5. Utolsó lépésként módosítsa az sa-jelszót, mert az MSSQL_SA_PASSWORD látható a kimenetben ps -eax , és az azonos nevű környezeti változóban van tárolva. Tekintse meg a következő lépéseket.

Az SA-jelszó módosítása

Az SA-fiók rendszergazda az Azure SQL Edge-példányon, amely a telepítés során jön létre. Az SQL Edge-tároló létrehozása után a MSSQL_SA_PASSWORD megadott környezeti változó felderíthető a tárolóban való futtatással echo $MSSQL_SA_PASSWORD . Biztonsági okokból módosítsa az sa-jelszót.

  1. Válasszon erős jelszót az SA-felhasználó számára.

  2. Az docker exec sqlcmd futtatásával módosíthatja a jelszót a Transact-SQL használatával. Az alábbi példában cserélje le a régi és <old-password>az új jelszót <new-password>a saját jelszóértékére.

    sudo docker exec -it azuresqledge /opt/mssql-tools/bin/sqlcmd \
       -S localhost -U SA -P "<old-password>" \
       -Q 'ALTER LOGIN SA WITH PASSWORD="<new-password>"'
    

Csatlakozás az Azure SQL Edge-hez

Az alábbi lépések az Azure SQL Edge sqlcmd parancssori eszközét használják a tárolón belül az SQL Edge-hez való csatlakozáshoz.

  1. docker exec -it A parancs használatával elindíthat egy interaktív Bash-rendszerhéjat a futó tárolóban. Az alábbi példában azuresqledge a paraméter által a --name tároló létrehozásakor megadott név szerepel.

    sudo docker exec -it azuresqledge "bash"
    
  2. Ha a tárolón belül van, csatlakozzon helyileg az sqlcmd-hez. Az sqlcmd alapértelmezés szerint nem szerepel az elérési úton, ezért meg kell adnia a teljes elérési utat.

    /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<password>"
    

    Tipp.

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

  3. Ha sikeres, a következő sqlcmd parancssort kell elérnie: 1>.

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

Az alábbi szakaszok végigvezetik az sqlcmd és a Transact-SQL használatával egy új adatbázis létrehozására, adatok hozzáadására és lekérdezés futtatására.

Új adatbázis létrehozása

Az alábbi lépések egy új adatbázist TestDBhoznak 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;
    GO
    
  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;
    GO
    

Adat beszúrása

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

  1. Az sqlcmd parancssorból váltson a környezetre az új TestDB adatbázisra:

    USE TestDB;
    
  2. Új tábla létrehozása a következő néven Inventory:

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

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

    GO
    

Adatok kiválasztása

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

  1. Az sqlcmd parancssorból adjon meg egy lekérdezést, amely a 152-nél nagyobb mennyiséget tartalmazó táblából ad Inventory vissza sorokat:

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

    GO
    

Kilépés az sqlcmd parancssorból

  1. Az sqlcmd-munkamenet befejezéséhez írja be a következőt QUIT:

    QUIT
    
  2. Ha ki szeretne lépni az interaktív parancssorból a tárolóban, írja be a következőt exit: . A tároló az interaktív bash-rendszerhéjból való kilépés után is fut.

Csatlakozás a tárolón kívülről

A Docker-gépen található SQL Edge-példányhoz bármely külső Linux, Windows vagy macOS rendszerű eszközről is csatlakozhat, amely támogatja az SQL-kapcsolatokat. Az SQL Edge-tárolóhoz kívülről való csatlakozásról további információt az Azure SQL Edge csatlakoztatása és lekérdezése című témakörben talál.

A tároló eltávolítása

Ha el szeretné távolítani az oktatóanyagban használt SQL Edge-tárolót, futtassa a következő parancsokat:

sudo docker stop azuresqledge
sudo docker rm azuresqledge

Figyelmeztetés

A tároló leállítása és eltávolítása véglegesen törli a tárolóban lévő SQL Edge-adatokat. Ha meg kell őriznie az adatokat, hozzon létre és másoljon ki egy biztonsági mentési fájlt a tárolóból, vagy használjon tárolóadatmegőrzési technikát.