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
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.
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.
A Docker-tárolók megtekintéséhez használja a
docker ps
parancsot.sudo docker ps -a
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
.Utolsó lépésként módosítsa az sa-jelszót, mert az
MSSQL_SA_PASSWORD
látható a kimenetbenps -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.
Válasszon erős jelszót az SA-felhasználó számára.
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.
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ábanazuresqledge
a paraméter által a--name
tároló létrehozásakor megadott név szerepel.sudo docker exec -it azuresqledge "bash"
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.
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 TestDB
hoznak létre.
Az sqlcmd parancssorból illessze be a következő Transact-SQL parancsot egy tesztadatbázis létrehozásához:
CREATE DATABASE TestDB; GO
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.
Az sqlcmd parancssorból váltson a környezetre az új
TestDB
adatbázisra:USE TestDB;
Új tábla létrehozása a következő néven
Inventory
:CREATE TABLE Inventory ( id INT, name NVARCHAR(50), quantity INT );
Adatok beszúrása az új táblába:
INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
Í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.
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;
Hajtsa végre a következő parancsot:
GO
Kilépés az sqlcmd parancssorból
Az sqlcmd-munkamenet befejezéséhez írja be a következőt
QUIT
:QUIT
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.