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
- Docker Engine 1.8+ bármilyen támogatott Linux-disztribúción. További információ: A Docker telepítése. Mivel az SQL Edge-rendszerképek az Ubuntu 18.04-en alapulnak, javasoljuk, hogy használjon Ubuntu 18.04-alapú Docker-gazdagépet.
- Docker overlay2 tárolóillesztő. 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 az átfedés konfigurálására vonatkozó utasításokat és figyelmeztetéseket a Docker dokumentációjában2.
- Legalább 10 GB lemezterület.
- Legalább 1 GB RAM.
- A Azure SQL Edge hardverkövetelményei.
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
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.
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.
A Docker-tárolók megtekintéséhez használja a
docker ps
parancsot.sudo docker ps -a
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.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 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.
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 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.
docker exec -it
Az paranccsal elindíthat egy interaktív Bash-felületet 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.sudo docker exec -it azuresqledge "bash"
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.
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
.
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ó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.
Az sqlcmd parancssorból váltson a környezetről az új
TestDB
adatbázisra:USE TestDB;
Hozzon létre egy nevű új táblát
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 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.
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;
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ó 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.