Megosztás a következőn keresztül:


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.

Képernyőkép a környezeti változók listájával történő beállításról.

Adjon hozzá értékeket a Container Create Optionsben.

Képernyőkép a tároló-létrehozási beállítások használatával történő beállításról.

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.

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 starta . Ha azonban eltávolítja a tárolót, docker rma 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.