Az Azure SQL Edge konfigurálása
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.
Az Azure SQL Edge az alábbi két lehetőség egyikével támogatja a konfigurációt:
- Környezeti változók
- A /var/opt/mssql mappába helyezett mssql.conf fájl
Feljegyzés
A környezeti változók beállítása felülírja a mssql.conf
fájlban megadott beállításokat.
Konfigurálás környezeti változók használatával
Az Azure SQL Edge számos különböző környezeti változót tesz elérhetővé, amelyek az SQL Edge-tároló konfigurálásához használhatók. Ezek a környezeti változók a Linux sql serverhez elérhető részhalmazok. További információ a Linux rendszerű SQL Server környezeti változóiról: Környezeti változók.
A következő új környezeti változók lettek hozzáadva az Azure SQL Edge-hez.
Környezeti változó | Leírás | Értékek |
---|---|---|
PlanId | Megadja az inicializálás során használni kívánt Azure SQL Edge-termékváltozatot. Ez a környezeti változó csak akkor szükséges, ha az Azure SQL Edge-et az Azure IoT Edge használatával telepíti. | asde-developer-on-iot-edge vagy asde-premium-on-iot-edge |
MSSQL_TELEMETRY_ENABLED | Használati és diagnosztikai adatgyűjtés engedélyezése vagy letiltása. | TRUE (igaz) vagy FALSE (hamis) |
MSSQL_TELEMETRY_DIR | Beállítja a használati és diagnosztikai adatgyűjtési naplózási fájlok célkönyvtárát. | Mappa helye az SQL Edge-tárolóban. Ez a mappa csatlakoztatási pontok vagy adatkötetek használatával rendelhető hozzá egy gazdagépkötethez. |
MSSQL_PACKAGE | Megadja az üzembe helyezendő dacpac- vagy bacpac-csomag helyét. | A dacpac- vagy bacpac-csomagokat tartalmazó mappa, fájl vagy SAS URL-cím. További információ: SQL Database DACPAC- és BACPAC-csomagok üzembe helyezése az SQL Edge-ben. |
Az Azure SQL Edge-hez nem támogatott a linuxos SQL Server következő környezeti változója. Ha meg van adva, a rendszer figyelmen kívül hagyja ezt a környezeti változót a tároló inicializálása során.
Környezeti változó | Leírás |
---|---|
MSSQL_ENABLE_HADR | A rendelkezésre állási csoport engedélyezése. Például 1 engedélyezve van, és 0 le van tiltva. |
Fontos
Az SQL Edge MSSQL_PID környezeti változója csak a Premium és a Developer értéket fogadja el érvényes értékként. Az Azure SQL Edge nem támogatja a termékkulcs használatával történő inicializálást.
A környezeti változók megadása
Adja meg az SQL Edge környezeti változóit, amikor a szolgáltatást az Azure Portalon keresztül telepíti. Felveheti őket a modul üzembe helyezésének Környezeti változók szakaszában vagy a Tároló létrehozási beállításainak részeként.
Adjon hozzá értékeket a környezeti változókban.
Adjon hozzá értékeket a Container Create Optionsben.
Feljegyzés
A leválasztott üzembe helyezési módban a környezeti változók a parancs vagy a --env-file
parancs lehetőségével docker run
adhatók meg-e
.--env
Konfigurálás fájl használatával mssql.conf
Az Azure SQL Edge nem tartalmazza az mssql-conf konfigurációs segédprogramot , például a Linuxon futó SQL Servert. Manuálisan kell konfigurálnia az mssql.conf fájlt, és az SQL Edge modul /var/opt/mssql/ mappájára leképezett állandó tárolómeghajtón kell elhelyeznie. Amikor az SQL Edge-t az Azure IoT Hubon keresztül telepíti, a rendszer ezt a leképezést a Tároló létrehozási beállításaiban a Csatlakoztatások lehetőségként adja meg.
{
"Mounts": [
{
"Type": "volume",
"Source": "sqlvolume",
"Target": "/var/opt/mssql"
}
]
}
Az Alábbi új mssql.conf beállítások lettek hozzáadva az Azure SQL Edge-hez.
Lehetőség | Leírás |
---|---|
customerfeedback | Adja meg, hogy az SQL Server visszajelzést küld-e a Microsoftnak. További információ: Használati és diagnosztikai adatgyűjtés letiltása |
userrequestedlocalauditdirectory | Beállítja a használati és diagnosztikai adatgyűjtési naplózási fájlok célkönyvtárát. További információ: A használati adatok helyi naplózása és a diagnosztikai adatgyűjtés |
Az alábbi mssql.conf beállítások nem alkalmazhatók az SQL Edge-hez:
Lehetőség | Leírás |
---|---|
Ügyfelek visszajelzése | Adja meg, hogy az SQL Server visszajelzést küld-e a Microsoftnak. |
Adatbázis-levelezési profil | Állítsa be a Linuxon futó SQL Server alapértelmezett adatbázis-levelezési profilját. |
Magas rendelkezésre állás | Rendelkezésre állási csoportok engedélyezése. |
Microsoft Distributed Transaction Coordinator | Az MSDTC konfigurálása és hibaelhárítása Linuxon. Az SQL Edge nem támogat további elosztott tranzakcióval kapcsolatos konfigurációs beállításokat. A további konfigurációs lehetőségekről további információt az MSDTC konfigurálása című témakörben talál. |
ML Services EULA-k | R és Python EULA-k elfogadása Azure Machine Learning-csomagokhoz. Csak az SQL Server 2019-re vonatkozik. |
outboundnetworkaccess | Engedélyezze a kimenő hálózati hozzáférést a Machine Learning Services R-, Python- és Java-bővítményekhez. |
Az alábbi mssql.conf fájl az SQL Edge-hez működik. A fájlok formátumával mssql.conf
kapcsolatos további információkért lásd az mssql.conf formátumot.
[EULA]
accepteula = Y
[coredump]
captureminiandfull = true
coredumptype = full
[filelocation]
defaultbackupdir = /var/opt/mssql/backup/
defaultdatadir = /var/opt/mssql/data/
defaultdumpdir = /var/opt/mssql/data/
defaultlogdir = /var/opt/mssql/log/
[language]
lcid = 1033
[memory]
memorylimitmb = 6144
[sqlagent]
errorlogfile = /var/opt/mssql/log/sqlagentlog.log
errorlogginglevel = 7
[traceflag]
traceflag0 = 3604
traceflag1 = 3605
traceflag2 = 1204
Az Azure SQL Edge futtatása nem gyökérfelhasználóként
Az Azure SQL Edge-tárolók alapértelmezés szerint nem gyökérfelhasználóval/csoporttal futnak. Ha az Azure IoT Hubon (vagy annak használatával docker run
) telepíti, hacsak nincs megadva másik felhasználó/csoport, az SQL Edge-tárolók mssql-felhasználóként (nem gyökérszintű) indulnak el. Ha egy másik, nem gyökérszintű felhasználót szeretne megadni az üzembe helyezés során, adja hozzá a kulcs-érték párot a *"User": "<name|uid>[:<group|gid>]"*
tároló létrehozási beállításai között. Az alábbi példában az SQL Edge úgy van konfigurálva, hogy felhasználóként *IoTAdmin*
induljon el.
{
..
..
..
"User": "IoTAdmin",
"Env": [
"MSSQL_AGENT_ENABLED=TRUE",
"ClientTransportType=AMQP_TCP_Only",
"MSSQL_PID=Premium"
]
}
Annak érdekében, hogy a nem gyökérfelhasználó hozzáférjen a csatlakoztatott köteteken lévő DB-fájlokhoz, győződjön meg arról, hogy a tárolót futtató felhasználó/csoport olvasási és írási engedélyekkel rendelkezik az állandó fájltárolón. Az alábbi példában a nem gyökérfelhasználót user_id
10001
állítjuk be a fájlok tulajdonosaként.
chown -R 10001:0 <database file dir>
Frissítés a korábbi CTP-kiadásokról
Az Azure SQL Edge korábbi CTP-jait úgy konfigurálták, hogy gyökérfelhasználóként fussanak. A korábbi CTP-kről való frissítéskor az alábbi lehetőségek érhetők el.
Továbbra is használja a gyökérfelhasználót – A gyökérfelhasználó használatának folytatásához adja hozzá a kulcs-érték párot a
*"User": "0:0"*
tároló létrehozási beállításai között.Az alapértelmezett mssql-felhasználó használata – Az alapértelmezett mssql-felhasználó használatához kövesse az alábbi lépéseket:
Adjon hozzá egy Docker-gazdagépen elnevezett
mssql
felhasználót. Az alábbi példában hozzáadunk egy 10001 azonosítójú felhasználói mssql-t. Ez a felhasználó a gyökércsoporthoz is hozzáadva.sudo useradd -M -s /bin/bash -u 10001 -g 0 mssql
Az adatbázisfájlt tároló könyvtár/csatlakoztatási kötet engedélyének módosítása
sudo chgrp -R 0 /var/lib/docker/volumes/kafka_sqldata/ sudo chmod -R g=u /var/lib/docker/volumes/kafka_sqldata/
Másik nem gyökérfelhasználói fiók használata – Másik, nem gyökérszintű felhasználói fiók használata
- Frissítse a tároló-létrehozási beállításokat a kulcs-érték pár hozzáadásának
*"User": "user_name | user_id*
megadásához a tároló létrehozási beállításai között. Cserélje le user_name vagy user_id a Docker-gazdagép tényleges user_name vagy user_id. - Módosítsa a címtár/csatlakoztatási kötet engedélyeit.
- Frissítse a tároló-létrehozási beállításokat a kulcs-érték pár hozzáadásának
Adatok megőrzése
Az Azure SQL Edge-konfiguráció módosításai és adatbázisfájljai akkor is megmaradnak a tárolóban, ha újraindul a tároló és docker stop
docker start
a . Ha azonban eltávolítja a tárolót, docker rm
a tárolóban lévő összes elem törlődik, beleértve az Azure SQL Edge-et és az adatbázisokat is. Az alábbi szakasz azt ismerteti, hogyan használhat adatköteteket az adatbázisfájlok megőrzésére akkor is, ha a társított tárolókat törölték.
Fontos
Az Azure SQL Edge esetében kritikus fontosságú, hogy tisztában legyen a Docker adatmegőrzési adataival. Az ebben a szakaszban ismertetett vita mellett tekintse meg a Docker dokumentációját az adatok Docker-tárolókban való kezeléséről.
Gazdagépkönyvtár csatlakoztatása adatkötetként
Az első lehetőség egy könyvtár csatlakoztatása a gazdagépre adatkötetként a tárolóban. Ehhez használja a docker run
parancsot a -v <host directory>:/var/opt/mssql
jelölővel. Ez lehetővé teszi az adatok visszaállítását a tárolóvégrehajtások között.
docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<password>' -p 1433:1433 -v <host directory>/data:/var/opt/mssql/data -v <host directory>/log:/var/opt/mssql/log -v <host directory>/secrets:/var/opt/mssql/secrets -d mcr.microsoft.com/azure-sql-edge
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" -p 1433:1433 -v <host directory>/data:/var/opt/mssql/data -v <host directory>/log:/var/opt/mssql/log -v <host directory>/secrets:/var/opt/mssql/secrets -d mcr.microsoft.com/azure-sql-edge
Ez a technika lehetővé teszi a fájlok megosztását és megtekintését a gazdagépen a Dockeren kívül.
Fontos
A windowsos Docker gazdagépkötet-leképezése jelenleg nem támogatja a teljes /var/opt/mssql
könyvtár leképezését. Azonban leképezhet egy alkönyvtárat, például /var/opt/mssql/data
a gazdagépre.
Fontos
A Docker gazdagépkötet-leképezése macOS rendszeren az Azure SQL Edge-rendszerképpel jelenleg nem támogatott. Használjon inkább adatkötet-tárolókat. Ez a korlátozás a /var/opt/mssql
könyvtárra vonatkozik. A csatlakoztatott könyvtárból való olvasás jól működik. Csatlakoztathat például egy gazdagépkönyvtárat a macOS-en, -v
és visszaállíthat egy biztonsági másolatot a .bak
gazdagépen található fájlból.
Adatkötet-tárolók használata
A második lehetőség egy adatkötet-tároló használata. Adatkötet-tárolót úgy hozhat létre, hogy a paraméterrel rendelkező -v
gazdagépkönyvtár helyett egy kötetnevet ad meg. Az alábbi példa egy sqlvolume nevű megosztott adatkötetet hoz létre.
docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<password>' -p 1433:1433 -v sqlvolume:/var/opt/mssql -d mcr.microsoft.com/azure-sql-edge
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" -p 1433:1433 -v sqlvolume:/var/opt/mssql -d mcr.microsoft.com/azure-sql-edge
Feljegyzés
Ez a módszer, amely implicit módon hoz létre adatkötetet a futtatási parancsban, nem működik a Docker régebbi verzióival. Ebben az esetben használja a Docker dokumentációjában ismertetett explicit lépéseket, adatkötet-tároló létrehozását és csatlakoztatását.
Az adatkötet akkor is megmarad, ha leállítja és eltávolítja a tárolót. A parancs segítségével docker volume ls
megtekintheti.
docker volume ls
Ha ezután egy másik, azonos kötetnévvel rendelkező tárolót hoz létre, az új tároló ugyanazokat az Azure SQL Edge-adatokat használja, amelyek a kötetben találhatók.
Adatkötet-tároló eltávolításához használja a docker volume rm
parancsot.
Figyelmeztetés
Ha törli az adatkötet-tárolót, a tárolóban lévő Azure SQL Edge-adatok véglegesen törlődnek.