Azure SQL Edge üzembe helyezése a Dockerrel

Fontos

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

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

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

Azure SQL Edge-tárolók nem támogatottak a következő platformokon az éles számítási feladatokhoz:

  • Windows
  • macOS
  • Azure IoT Edge Linuxhoz Windows rendszeren (EFLOW)

Előfeltételek

Megjegyzés

A cikkben sudo szereplő bash-parancsokhoz a rendszer a következőt használja: . 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ót a Linux telepítés utáni lépéseit ismertető cikkben talál.

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

  1. Kérje le a 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-felületrő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=yourStrong(!)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=yourStrong(!)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, különben a tároló nem tudja beállítani a SQL Database Motort, és nem fog működni. Alapértelmezés szerint a jelszónak legalább 8 karakter hosszúságúnak kell lennie, és a következő négy halmazból három karakterből kell állnia: nagybetűk, kisbetűk, 10-es számjegyek és szimbólumok. 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ármely értékre a végfelhasználói licencszerződés elfogadásának megerősítéséhez. Kötelező beállítás az SQL Edge-rendszerképhez.
    -e "MSSQL_SA_PASSWORD=yourStrong(!) Jelszó" Adja meg a saját erős jelszavát, amely legalább nyolc karakterből áll, és megfelel a Azure SQL Edge jelszókövetelményeinek. Kötelező beállítás az SQL Edge-rendszerképhez.
    -p 1433:1433 Képezhet le egy TCP-portot 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 figyeli a tárolóban lévő TCP 1433-at, és ez a gazdagép 1433-at futtató portjának lesz kitéve.
    --name azuresqledge Adjon meg egyéni nevet a tárolónak a véletlenszerűen létrehozott helyett. Ha több tárolót futtat, nem használhatja újra ezt a nevet.
    -D A tároló futtatása a háttérben (démon)

    A Azure SQL Edge környezeti változóinak teljes listáját lásd: Azure SQL Edge konfigurálása környezeti változókkal. 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 STATUSoszlopban a Up (Fel) állapot látható, akkor az SQL Edge fut a tárolóban, és figyeli a PORTS oszlopban megadott portot . Ha az SQL Edge-tároló STATUS oszlopában a Kilépés lehetőség látható, tekintse meg a Azure SQL Edge dokumentációjának Hibaelhárítás szakaszát.

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

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

    A -h és --name az érték beállítása jó módszer a céltároló egyszerű azonosítására.

  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 az alábbi lépéseket.

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

Az SA-fiók rendszergazda a 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ó a tárolóban való futtatással echo $MSSQL_SA_PASSWORD felderíthető. 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 execsqlcmd 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 az új jelszót <YourStrong!Passw0rd><YourNewStrong!Passw0rd>a saját jelszóértékére.

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

Csatlakozás Azure SQL Edge-hez

A következő lépések az sqlcmd nevű Azure SQL Edge parancssori eszközt használják a tárolón belül az SQL Edge-hez való csatlakozáshoz.

  1. docker exec -it Az paranccsal elindíthat egy interaktív Bash-felületet 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.

    sudo docker exec -it azuresqledge "bash"
    
  2. Ha a tárolón belül van, csatlakozzon helyileg az sqlcmd használatával. 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 "<YourNewStrong@Passw0rd>"
    

    Tipp

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

  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án, adatok hozzáadásán és lekérdezések futtatásán.

Új adatbázis létrehozása

A következő lépésekkel hozzon létre egy új adatbázist néven TestDB.

  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ón található összes adatbázis 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örnyezetről az új TestDB adatbázisra:

    USE TestDB;
    
  2. Hozzon létre egy nevű új táblát 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 parancsot az előző parancsok végrehajtásához:

    GO
    

Adatok kiválasztása

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

  1. Az sqlcmd parancssorból adjon meg egy lekérdezést, amely a tábla azon sorait Inventory adja vissza, ahol a mennyiség nagyobb, mint 152:

    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ó továbbra is fut, miután kilép az interaktív Bash-rendszerhéjból.

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

A Docker-gépen található SQL Edge-példányhoz bármely olyan külső Linux, Windows vagy macOS eszközről is csatlakozhat, amely támogatja az SQL-kapcsolatokat. Az SQL Edge-tárolóhoz kívülről történő csatlakozásról további információt a Csatlakozás és lekérdezés Azure SQL Edge-ben 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óadat-megőrzési technikát.

Következő lépések