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


Az Azure SQL Edge üzemelő példányainak hibaelhárítá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.

Ez a cikk az Azure SQL Edge-tárolók üzembe helyezésekor és használatakor előforduló lehetséges hibákról nyújt tájékoztatást, és hibaelhárítási technikákat biztosít a problémák megoldásához.

Az Azure SQL Edge két üzembehelyezési modellt támogat:

IoT Edge-eszközök és -telepítések hibaelhárítása

Ha hibaüzenet jelenik meg az SQL Edge Azure IoT Edge-en keresztüli telepítése során, győződjön meg arról, hogy a iotedge szolgáltatás megfelelően van konfigurálva és fut. Az Alábbi dokumentumok hasznosak lehetnek az Azure IoT Edge-hez kapcsolódó problémák elhárításához:

Docker-parancshibák

Ha bármilyen docker parancs esetén hibaüzenetet kap, győződjön meg arról, hogy a Docker szolgáltatás fut, és próbáljon meg emelt szintű engedélyekkel futni.

Linuxon például a következő hibaüzenet jelenhet meg a parancsok futtatásakor docker :

Cannot connect to the Docker daemon. Is the docker daemon running on this host?

Ha linuxos rendszeren jelenik meg ez a hiba, futtassa ugyanazokat a parancsokat, mint a következővel sudo: . Ha ez nem sikerül, ellenőrizze, hogy fut-e a Docker szolgáltatás, és szükség esetén indítsa el.

sudo systemctl status docker
sudo systemctl start docker

Windows rendszeren ellenőrizze, hogy rendszergazdaként indítja-e el a PowerShellt vagy a parancssort.

Azure SQL Edge-tároló indítási hibái

Ha az SQL Edge-tároló futtatása sikertelen, próbálkozzon a következő tesztekkel:

  • Ha Az Azure IoT Edge-et használja, győződjön meg arról, hogy a modul lemezképei sikeresen le lettek töltve, és hogy a környezeti változók és a tároló-létrehozási beállítások helyesen vannak megadva a moduljegyzékben.

  • Ha Docker- vagy Kubernetes-alapú üzembe helyezést használ, győződjön meg arról, hogy a docker run parancs megfelelően van formázva. További információ: Az Azure SQL Edge üzembe helyezése a Dockerrel és Azure SQL Edge-tároló üzembe helyezése a Kubernetesben.

  • Ha például failed to create endpoint CONTAINER_NAME on network bridge. Error starting proxy: listen tcp 0.0.0.0:1433 bind: address already in use.hibaüzenetet kap, az 1433-as tárolóportot egy már használatban lévő portra próbálja leképezni. Ez akkor fordulhat elő, ha az SQL Edge-t helyileg futtatja a gazdaszámítógépen. Ez akkor is előfordulhat, ha két SQL Edge-tárolót indít el, és mindkettőt ugyanarra a gazdagépportra próbálja leképezni. Ha ez történik, a -p paraméterrel rendelje le az 1433-at egy másik gazdagépportra. Példa:

    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-developer.
    
  • Ha például Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.30tdout=1&tail=all: dial unix /var/run/docker.sock: connect: permission denied egy tároló indításakor hibaüzenetet kap, vegye fel a felhasználót az Ubuntu docker-csoportjába. Ezután jelentkezzen ki, és jelentkezzen be újra, mivel ez a változás hatással van az új munkamenetekre.

    usermod -aG docker $USER
    
  • Ellenőrizze, hogy vannak-e hibaüzenetek a tárolóból.

    docker logs e69e056c702d
    
  • Ha bármilyen tárolókezelő szoftvert használ, győződjön meg arról, hogy támogatja a gyökérként futó tárolófolyamatokat. A tároló sqlservr-folyamata gyökérként fut.

  • Az Azure SQL Edge-tárolók alapértelmezés szerint nem gyökérfelhasználóként mssqlfutnak. Ha csatlakoztatási pontokat vagy adatköteteket használ az adatok megőrzéséhez, győződjön meg arról, hogy a mssql felhasználó megfelelő engedélyekkel rendelkezik a köteten. További információ: Futtatás nem gyökérfelhasználóként és Adatok megőrzése.

  • Ha az SQL Edge Docker-tároló közvetlenül az indítás után kilép, ellenőrizze a Docker-naplókat. Ha Windows rendszeren használja a PowerShellt a docker run paranccsal, használjon dupla idézőjeleket egyetlen idézőjel helyett. A PowerShell Core-nal egyetlen idézőjelet használhat.

  • Tekintse át az SQL Edge hibanaplóit.

SQL Edge-kapcsolati hibák

Ha nem tud csatlakozni a tárolóban futó SQL Edge-példányhoz, próbálkozzon az alábbi tesztekkel:

  • Győződjön meg arról, hogy az SQL Edge-tároló fut a STATUS kimenet oszlopának docker ps -a megtekintésével. Ha nem, használja docker start <Container ID> a kezdéshez.

  • Ha nem alapértelmezett gazdagépportra van megfeleltetve (nem 1433), győződjön meg arról, hogy a portot a kapcsolati sztring adja meg. A portleképezés a PORTS kimenet oszlopában docker ps -a látható. Az Azure SQL Edge-hez 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.

  • Ha korábban egy megfeleltetett adatkötettel vagy adatkötet-tárolóval telepítette az SQL Edge-t, és most a meglévő leképezett adatkötetet vagy adatkötet-tárolót használja, az SQL Edge figyelmen kívül hagyja a környezeti változó értékét MSSQL_SA_PASSWORD . Ehelyett a korábban konfigurált sa felhasználói jelszót használja a rendszer. Ez azért történik, mert az SQL Edge újra felhasználja a leképezett kötetben vagy adatkötet-tárolóban lévő meglévő master adatbázisfájlokat. Ha ezt a problémát tapasztalja, az alábbi lehetőségeket használhatja:

    • Ha továbbra is elérhető, csatlakozzon a korábban használt jelszóval.
    • Konfigurálja az SQL Edge-et egy másik leképezett kötet vagy adatkötet-tároló használatára.
    • Távolítsa el a meglévő master adatbázisfájlokat (master.mdf és mastlog.mdf) a hozzárendelt kötetből vagy adatkötet-tárolóból.
  • Tekintse át az SQL Edge hibanaplóit.

SQL Edge beállítási és hibanaplók

Alapértelmezés szerint az SQL Edge hibanaplói megtalálhatók a /var/opt/mssql/log tárolón belüli könyvtárban, és az alábbi módokon érhetők el:

  • Ha a tároló létrehozásakor egy gazdagépkönyvtárat /var/opt/mssql csatlakoztatott, akkor ehelyett a log gazdagép megfeleltetett elérési útjának alkönyvtárában tekinthet meg.

  • Interaktív parancssor használatával csatlakozhat a tárolóhoz. Ha a tároló nem fut, először indítsa el a tárolót. Ezután egy interaktív parancssor használatával vizsgálja meg a naplókat. A tárolóazonosítót a parancs docker psfuttatásával szerezheti be.

    docker start <ContainerID>
    docker exec -it <ContainerID> "/bin/bash"
    

    A tárolón belüli bash-munkamenetben futtassa a következő parancsokat:

    cd /var/opt/mssql/log
    cat errorlog
    
  • Ha az SQL Edge-tároló működik, és ügyféleszközökkel tud csatlakozni a példányhoz, akkor a tárolt eljárással sp_readerrorlog elolvashatja az SQL Edge hibanaplójának tartalmát.

Parancsok végrehajtása tárolóban

Ha rendelkezik futó tárolóval, parancsokat hajthat végre a tárolón belül egy gazdagépterminálról.

A tárolóazonosító futtatásának lekérése:

docker ps -a

Bash-terminál indítása a tároló futtatásában:

docker exec -it <Container ID> /bin/bash

Most úgy futtathat parancsokat, mintha a tárolón belüli terminálon futtatja őket. Ha elkészült, írja be a parancsot exit. Ez az interaktív parancs munkamenetből kilép, de a tároló továbbra is fut.

Részletes naplózás engedélyezése

Ha a streamelési motor alapértelmezett naplószintje nem biztosít elegendő információt, a streamelési motor hibakeresési naplózása engedélyezhető az SQL Edge-ben. A hibakeresési naplózás engedélyezéséhez adja hozzá a RuntimeLogLevel=debug környezeti változót az SQL Edge-környezethez. A hibakeresési naplózás engedélyezése után próbálja meg reprodukálni a problémát, és ellenőrizze a naplókat, hogy vannak-e releváns üzenetek vagy kivételek.

Feljegyzés

A Részletes naplózás lehetőséget csak hibaelhárításhoz szabad használni, normál éles számítási feladatokhoz nem.