Sdílet prostřednictvím


Nasazení Azure SQL Edge pomocí Dockeru

Důležité

Azure SQL Edge bude vyřazeno 30. září 2025. Další informace a možnosti migrace najdete v oznámení o vyřazení.

Poznámka:

Azure SQL Edge už nepodporuje platformu ARM64.

V tomto rychlém startu použijete Docker k načtení a spuštění image kontejneru Azure SQL Edge. Pak se připojte pomocí sqlcmd , abyste vytvořili svou první databázi a spustili dotazy.

Tato image se skládá z SQL Edge založeného na Ubuntu 18.04. Dá se použít s Docker Engine 1.8 nebo novějším v Linuxu.

Kontejnery Azure SQL Edge nejsou podporovány na následujících platformách pro produkční úlohy:

  • Windows
  • macOS
  • Azure IoT Edge pro Linux ve Windows (EFLOW)

Požadavky

  • Docker Engine 1.8 nebo novější v jakékoli podporované linuxové distribuci. Další informace najdete v tématu Instalace Dockeru. Vzhledem k tomu, že image SQL Edge jsou založené na Ubuntu 18.04, doporučujeme použít hostitele Dockeru Ubuntu 18.04.
  • Ovladač úložiště Docker overlay2 Toto je výchozí hodnota pro většinu uživatelů. Pokud zjistíte, že nepoužíváte tohoto poskytovatele úložiště a potřebujete ho změnit, přečtěte si pokyny a upozornění v dokumentaci k Dockeru pro konfiguraci překrytí2.
  • Minimálně 10 GB místa na disku.
  • Minimálně 1 GB paměti RAM.
  • Požadavky na hardware pro Azure SQL Edge

Poznámka:

Pro příkazy Bash v tomto článku sudo se používá. Pokud nechcete používat sudo ke spuštění Dockeru, můžete nakonfigurovat skupinu Dockeru a přidat do této skupiny uživatele. Další informace najdete v části Kroky po instalaci pro Linux.

Vyžádání a spuštění image kontejneru

  1. Stáhněte image kontejneru Azure SQL Edge ze služby Microsoft Container Registry.

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

    Předchozí příkaz načítá nejnovější image kontejneru SQL Edge. Pokud chcete zobrazit všechny dostupné image, podívejte se na stránku centra Dockeru azure-sql-edge.

  2. Ke spuštění image kontejneru pomocí Dockeru použijte následující příkaz z prostředí Bash:

    • Spusťte instanci Azure SQL Edge spuštěnou jako edici Developer:

      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
      
    • Spusťte instanci Azure SQL Edge spuštěnou jako edici Premium:

      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
      

    Důležité

    Heslo by mělo následovat podle výchozích zásad hesel databázového stroje Microsoft SQL Database Engine, jinak kontejner nemůže nastavit databázový stroj SQL a přestane fungovat. Ve výchozím nastavení musí heslo obsahovat minimálně 8 znaků a obsahovat znaky ze tří z následujících čtyř sad: velká písmena, malá písmena, číslice se základem 10 a symboly. Protokol chyb můžete prozkoumat spuštěním příkazu docker logs .

    Následující tabulka obsahuje popis parametrů v předchozích docker run příkladech:

    Parametr Popis
    -e "ACCEPT_EULA=Y" Nastavte proměnnou ACCEPT_EULA na libovolnou hodnotu, abyste potvrdili přijetí licenční smlouvy s koncovým uživatelem. Požadované nastavení pro image SQL Edge.
    -e "MSSQL_SA_PASSWORD=<password>" Zadejte vlastní silné heslo, které má alespoň osm znaků a splňuje požadavky na heslo. Požadované nastavení pro image SQL Edge.
    -p 1433:1433 Namapujte port TCP v hostitelském prostředí (první hodnota) s portem TCP v kontejneru (druhá hodnota). V tomto příkladu naslouchá SQL Edge na portu TCP 1433 v kontejneru a je vystavený portu 1433 na hostiteli.
    --name azuresqledge Místo náhodně generovaného kontejneru zadejte vlastní název kontejneru. Pokud spustíte více než jeden kontejner, nemůžete tento stejný název znovu použít.
    -d Spuštění kontejneru na pozadí (démon)

    Úplný seznam všech proměnných prostředí Azure SQL Edge najdete v tématu Konfigurace Azure SQL Edge s proměnnými prostředí. Ke konfiguraci kontejnerů SQL Edge můžete použít také soubor mssql.conf.

  3. Pokud chcete zobrazit kontejnery Dockeru docker ps , použijte příkaz.

    sudo docker ps -a
    
  4. Pokud sloupec STATUS zobrazuje stav nahoru, sql Edge běží v kontejneru a naslouchá na portu zadaném ve sloupci PORTY. Pokud se ve sloupci STATUS vašeho kontejneru SQL Edge zobrazuje Ukončení, přečtěte si část Řešení potíží v dokumentaci k Azure SQL Edge.

    Parametr -h (název hostitele) je také užitečný, ale v tomto kurzu se kvůli jednoduchosti nepoužívá. Tím se změní interní název kontejneru na vlastní hodnotu. Toto je název vrácený v následujícím dotazu Transact-SQL:

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

    Nastavení -h a --name stejná hodnota je dobrým způsobem, jak snadno identifikovat cílový kontejner.

  5. Jako poslední krok změňte heslo SA, protože MSSQL_SA_PASSWORD je viditelné ve ps -eax výstupu a uloženo v proměnné prostředí se stejným názvem. Podívejte se na následující kroky.

Změna hesla SA

Účet SA je správce systému v instanci Azure SQL Edge, která se vytvoří během instalace. Po vytvoření kontejneru SQL Edge je proměnná prostředí, kterou jste zadali, MSSQL_SA_PASSWORD zjistitelná spuštěním echo $MSSQL_SA_PASSWORD v kontejneru. Pro účely zabezpečení změňte heslo SA.

  1. Zvolte silné heslo, které chcete použít pro uživatele SA.

  2. Slouží docker exec ke spuštění sqlcmd ke změně hesla pomocí jazyka Transact-SQL. V následujícím příkladu nahraďte staré heslo <old-password>a nové heslo <new-password>vlastními hodnotami hesla.

    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>"'
    

Připojení k Azure SQL Edge

Následující kroky používají nástroj příkazového řádku Azure SQL Edge sqlcmd v kontejneru pro připojení k SQL Edgi.

  1. docker exec -it Pomocí příkazu spusťte interaktivní prostředí Bash uvnitř spuštěného kontejneru. V následujícím příkladu azuresqledge je název zadaný parametrem --name při vytváření kontejneru.

    sudo docker exec -it azuresqledge "bash"
    
  2. Jakmile v kontejneru, připojte se místně pomocí sqlcmd. Sqlcmd není ve výchozím nastavení v cestě, takže musíte zadat úplnou cestu.

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

    Tip

    Heslo na příkazovém řádku můžete vynechat, aby se zobrazila výzva k jeho zadání.

  3. V případě úspěchu byste se měli dostat k příkazovému řádku sqlcmd : 1>.

Vytvoření a dotazování dat

Následující části vás provedou použitím sqlcmd a Transact-SQL k vytvoření nové databáze, přidání dat a spuštění dotazu.

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;
    GO
    
  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;
    GO
    

Vložení dat

Dále vytvořte novou tabulku Inventorya vložte dva nové řádky.

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

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

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

    INSERT INTO Inventory
    VALUES (1, 'banana', 150);
    
    INSERT INTO Inventory
    VALUES (2, 'orange', 154);
    
  4. Zadejte GO , aby se spustily předchozí příkazy:

    GO
    

Výběr dat

Teď spusťte dotaz, který vrátí data z Inventory tabulky.

  1. Z příkazového řádku sqlcmd zadejte dotaz, který vrátí řádky z Inventory tabulky, kde je množství větší než 152:

    SELECT * FROM Inventory WHERE quantity > 152;
    
  2. Spusťte příkaz:

    GO
    

Ukončete příkazový řádek sqlcmd.

  1. Chcete-li ukončit relaci sqlcmd , zadejte QUIT:

    QUIT
    
  2. Chcete-li ukončit interaktivní příkazový řádek v kontejneru, zadejte exit. Kontejner se bude dál spouštět po ukončení interaktivního prostředí Bash.

Připojení mimo kontejner

K instanci SQL Edge na počítači Dockeru se také můžete připojit z libovolného externího nástroje pro Linux, Windows nebo macOS, který podporuje připojení SQL. Další informace o připojení ke kontejneru SQL Edge zvenčí najdete v tématu Připojení a dotazování Azure SQL Edge.

Odebrání kontejneru

Pokud chcete odebrat kontejner SQL Edge použitý v tomto kurzu, spusťte následující příkazy:

sudo docker stop azuresqledge
sudo docker rm azuresqledge

Upozorňující

Zastavení a odebrání kontejneru trvale odstraní všechna data SQL Edge v kontejneru. Pokud potřebujete zachovat data, vytvořte a zkopírujte záložní soubor z kontejneru nebo použijte techniku trvalosti dat kontejneru.