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:
Csatlakoztatott üzembe helyezés az Azure IoT Edge-en keresztül: Az Azure SQL Edge modulként telepíthető az Azure IoT Edge-hez. További információ: Az Azure SQL Edge üzembe helyezése.
Leválasztott üzembe helyezés: Az Azure SQL Edge-tárolólemezképek lekérehetők a Docker Hubról, és önálló tárolóként vagy Kubernetes-fürtön is üzembe helyezhetők. További információ: Az Azure SQL Edge üzembe helyezése a Dockerrel és Azure SQL Edge-tároló üzembe helyezése a Kubernetesben.
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:
- Az Azure IoT Edge gyakori problémái és megoldásai.
- IoT Edge-eszköz hibaelhárítása
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
mssql
futnak. Ha csatlakoztatási pontokat vagy adatköteteket használ az adatok megőrzéséhez, győződjön meg arról, hogy amssql
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ánakdocker ps -a
megtekintésével. Ha nem, használjadocker 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ábandocker 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
ésmastlog.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 alog
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 ps
futtatá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.