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
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.
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.
Pokud chcete zobrazit kontejnery Dockeru
docker ps
, použijte příkaz.sudo docker ps -a
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.Jako poslední krok změňte heslo SA, protože
MSSQL_SA_PASSWORD
je viditelné veps -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.
Zvolte silné heslo, které chcete použít pro uživatele SA.
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.
docker exec -it
Pomocí příkazu spusťte interaktivní prostředí Bash uvnitř spuštěného kontejneru. V následujícím příkladuazuresqledge
je název zadaný parametrem--name
při vytváření kontejneru.sudo docker exec -it azuresqledge "bash"
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í.
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
.
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
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 Inventory
a vložte dva nové řádky.
Z příkazového řádku sqlcmd přepněte kontext na novou
TestDB
databázi:USE TestDB;
Vytvořte novou tabulku s názvem
Inventory
:CREATE TABLE Inventory ( id INT, name NVARCHAR(50), quantity INT );
Vložte data do nové tabulky:
INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
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.
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;
Spusťte příkaz:
GO
Ukončete příkazový řádek sqlcmd.
Chcete-li ukončit relaci sqlcmd , zadejte
QUIT
:QUIT
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.