Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server Linux rendszeren
Ez a cikk a Linux rendszeren vagy Linux-tárolóban futó SQL Server hibaelhárítását ismerteti.
Az SQL Server on Linux hibaelhárításakor lásd:
Csatlakozási hibák elhárítása
Ha nehézségei vannak a Linux SQL Server-példányhoz való csatlakozással, néhány dolgot ellenőriznie kell.
Ha nem tud helyileg
localhostcsatlakozni a használatával , próbálja meg inkább a 127.0.0.1 IP-címet használni. Lehetséges, hogy a(z)localhostnincs megfelelően leképezve erre a címre.Ellenőrizze, hogy a kiszolgáló neve vagy IP-címe elérhető-e az ügyfélgépről.
Az Ubuntu gép IP-címének megkereséséhez futtassa a
ifconfigparancsot az alábbi példában látható módon:sudo ifconfig eth0 | grep 'inet addr'A Red Hat esetében az
ip addralábbi példában látható parancsot használhatja:sudo ip addr show eth0 | grep "inet"Jótanács
A technika alól az egyik kivétel az Azure-beli virtuális gépekre vonatkozik. Azure-beli virtuális gépek esetén keresse meg a virtuális gép nyilvános IP-címét a Azure Portal.
Ha van, ellenőrizze, hogy megnyitotta-e az SQL Server portot (alapértelmezés szerint 1433) a tűzfalon.
Azure-beli virtuális gépek esetén ellenőrizze, hogy rendelkezik-e hálózati biztonsági csoportra vonatkozó szabállyal az alapértelmezett SQL Server porthoz.
Ellenőrizze, hogy a felhasználónév és a jelszó nem tartalmaz-e elírásokat, szóközöket vagy helytelen kis- és nagybetűket.
Próbálja meg explicit módon beállítani a protokollt és a portszámot a kiszolgáló nevével, az alábbi példához hasonlóan:
tcp:servername,1433.A hálózati kapcsolati problémák csatlakozási hibákat és időtúllépéseket is okozhatnak. A kapcsolati adatok és a hálózati kapcsolat ellenőrzése után próbálja meg újra a kapcsolatot.
Az SQL Server szolgáltatás kezelése
A következő szakasz bemutatja, hogyan kezelheti a SQL Server Linux-tárolók végrehajtását. A Linux-szolgáltatások kezeléséhez lásd: SQL Server szolgáltatások indítása, leállítása és újraindítása Linux rendszeren.
A SQL Server Linux-tároló végrehajtásának kezelése
A legutóbb létrehozott SQL Server Linux konténer státuszát és azonosítóját a következő parancs futtatásával kaphatod meg. Az azonosító az oszlop CONTAINER ID alatt van.
sudo docker ps -l
Szükség szerint leállíthatja vagy újraindíthatja az SQL Server szolgáltatást a következő parancsokkal:
sudo docker stop <container_id>
sudo docker restart <container_id>
Jótanács
A Linux-tárolókra vonatkozó további hibaelhárítási tippekért lásd: SQL Server Docker-tárolók hibaelhárítása.
Hozzáférés a naplófájlokhoz
A SQL Server adatbázismotor a Linux- és a tárolótelepítésekben is naplózik a /var/opt/mssql/log/errorlog fájlba. A könyvtár böngészéséhez szuperfelhasználói módban kell lennie.
A telepítő a naplófájlokat a(z) /var/opt/mssql/setup-<installation_timestamp> helyre írja.
A fájlokat bármilyen UTF-16-kompatibilis eszközzel, például a vim-mel vagy a cat-tel böngészheted errorlog az alábbiakban:
sudo cat errorlog
Ha szeretné, a fájlokat UTF-8 formátumba is konvertálhatja, hogy többé-kevésbé olvashassa őket a következő paranccsal:
sudo iconv -f UTF-16LE -t UTF-8 <errorlog> -o <output errorlog file>
Bővített események
Kiterjesztett eseményeket SQL parancs segítségével lehet lekérdezni. További információért lásd: Kiterjesztett események áttekintése.
Összeomlási memória-dumpok
Keressen dömpöket a naplókönyvtárban Linux alatt. Nézd meg a /var/opt/mssql/log könyvtár alatt Linux core dumpokat (.tar.gz2 kiterjesztést) vagy SQL minidumpokat (.mdmp extension).
Például, a magfájlok megtekintéséhez:
sudo ls /var/opt/mssql/log | grep '\.tar\.gz2$'
SQL minidumpokhoz használd ezt a szkriptet:
sudo ls /var/opt/mssql/log | grep '\.mdmp$'
Az SQL Server indítása minimális konfigurációban vagy egyfelhasználós módban
Az SQL Server indítása minimális konfigurációs módban
Ez a mód akkor hasznos, ha egy konfigurációs érték beállítása (például a memória túlterhelése) megakadályozza a kiszolgáló indítását.
sudo -u mssql /opt/mssql/bin/sqlservr -f
Sql Server indítása egyfelhasználós módban
Előfordulhat, hogy az SQL Server egy példányát egyfelhasználós módban kell elindítania az indítási beállítással -m. További információ: Indítási paraméterek. Előfordulhat például, hogy módosítani szeretné a kiszolgáló konfigurációs beállításait, vagy helyreállítani egy sérült master adatbázist vagy más rendszeradatbázist.
Például az alábbi szkripttel indítsd el az SQL Server-t egyfelhasználós módban:
sudo -u mssql /opt/mssql/bin/sqlservr -m
Ez a szkript SQL Server indul el egyfelhasználós módban, korlátozva az sqlcmd ügyfél kapcsolatait (az alkalmazás nevét SQLCMD nagybetűvel kell megadni):
sudo -u mssql /opt/mssql/bin/sqlservr -m"SQLCMD"
A jövőbeni indítási problémák elkerülése érdekében mindig indítsa el SQL Server Linuxon mssql a felhasználóval. Például: sudo -u mssql /opt/mssql/bin/sqlservr [STARTUP OPTIONS]
Ha véletlenül elindítja az SQL Server szolgáltatást egy másik felhasználóval, vissza kell változtatnia az SQL Server adatbázisfájlok tulajdonjogát a mssql felhasználóra, mielőtt elindítaná az SQL Servert a systemd rendszerrel. Például, ha az összes /var/opt/mssql alatt található adatbázisfájl tulajdonjogát a mssql felhasználóra szeretné átruházni, futtassa a következő parancsot:
chown -R mssql:mssql /var/opt/mssql/
Rendszeradatbázisok újraépítése
Végső megoldásként dönthet úgy, hogy az master és model adatbázisokat visszaállítja az alapértelmezett verziókra.
Figyelmeztetés
Ez a folyamat veszélyes, mert törölheti az összes konfigurált SQL Server rendszeradatot , beleértve a felhasználói adatbázisokkal kapcsolatos információkat is (de magukat a felhasználói adatbázisokat nem).
Ezt követően csatolnia kell a felhasználói adatbázisokat a példányhoz. Törli a rendszeradatbázisokban tárolt egyéb információkat is, többek között:
- adatbázis-főkulcs (DMK) adatai
- minden betöltött tanúsítvány
master - a fiók jelszava
sa - Munkával kapcsolatos információk
msdb - Adatbázis Levelezési információk innen:
msdb -
sp_configurebeállítások
A transzparens adattitkosítással (TDE) titkosított felhasználói adatbázisokat csak akkor csatolhatja újra, ha a tanúsítványokról és a titkos kulcsokról is biztonsági másolatot készítenek.
Csak akkor használja ezeket a lépéseket, ha tisztában van a következményekkel.
SQL Server adatbázismotor leállítása
sudo systemctl stop mssql-serverFuttassa
sqlservra következő paraméterrelforce-setup:sudo -u mssql /opt/mssql/bin/sqlservr --force-setupA jövőbeni indítási problémák elkerülése érdekében mindig indítsa el SQL Server Linuxon
mssqla felhasználóval.A "Helyreállítás befejeződött" üzenet megjelenése után nyomja le a Ctrl+C billentyűkombinációt. Ez leállítja a SQL Server.
Konfigurálja újra a jelszót
sa.sudo /opt/mssql/bin/mssql-conf set-sa-passwordFigyelmeztetés
A jelszónak az SQL Server alapértelmezett jelszóházirendetkell követnie. Alapértelmezés szerint a jelszónak legalább nyolc karakter hosszúnak kell lennie, és a következő négy készletből három karakterből kell állnia: nagybetűk, kisbetűk, 10 számjegyből és szimbólumokból. A jelszavak legfeljebb 128 karakter hosszúak lehetnek. Használjon olyan jelszavakat, amelyek a lehető legkomplexebbek és hosszúak.
Indítsa el az SQL Servert, és konfigurálja újra a kiszolgálót, beleértve a felhasználói adatbázisok visszaállítását vagy újbóli csatolását.
sudo systemctl start mssql-server
A teljesítmény javítása
Számos tényező befolyásolja a teljesítményt, beleértve az adatbázis kialakítását, a hardvert és a számítási feladatokat. Ha javítani szeretne a teljesítményen, először tekintse át az ajánlott eljárásokat ismertető cikkeket:
- Ajánlott teljesítménybeli eljárások: Tárolás, kernel, PROCESSZOR és hálózat a SQL Server on Linux
- Teljesítménnyel kapcsolatos bevált gyakorlatok: az SQL Server memóriakezelése Linux rendszeren
Ezután ismerkedjen meg a teljesítményproblémák elhárításához elérhető eszközök némelyikével.
- A teljesítmény figyelése a Lekérdezéstár segítségével
- Rendszerdinamikai menedzsment nézetek és funkciók
- Teljesítmény irányítópult az SQL Server Management Studióban
Gyakori problémák
Nem tud csatlakozni a távoli SQL Server példányhoz.
A következő hibaüzenet jelenik meg:
ERROR: Hostname must be 15 characters or less.Ez egy ismert probléma, amely akkor fordul elő, ha a SQL Server csomagot telepíteni próbáló gép neve 15 karakternél hosszabb. Jelenleg nincs más megoldás, mint a gép nevének megváltoztatása. Ezt úgy teheti meg, hogy szerkeszti mind a
/etc/hostname, mind a/etc/hosts, módosítja a gazdagépnevet, menti az egyes fájlokat, és újraindítja a számítógépet.A rendszergazdai (
sa) jelszót alaphelyzetbe kell állítani, ami ideiglenesen leállítja az SQL Server szolgáltatást.Ha elfelejti a jelszót
sa, vagy más okból vissza kell állítania, kövesse az alábbi lépéseket.Jelentkezzen be a gazdagép-terminálra, futtassa a következő parancsokat, és a jelszó visszaállításához kövesse az utasításokat:
sa.sudo systemctl stop mssql-server sudo /opt/mssql/bin/mssql-conf setupFigyelmeztetés
A jelszónak az SQL Server alapértelmezett jelszóházirendetkell követnie. Alapértelmezés szerint a jelszónak legalább nyolc karakter hosszúnak kell lennie, és a következő négy készletből három karakterből kell állnia: nagybetűk, kisbetűk, 10 számjegyből és szimbólumokból. A jelszavak legfeljebb 128 karakter hosszúak lehetnek. Használjon olyan jelszavakat, amelyek a lehető legkomplexebbek és hosszúak.
A jelszavak speciális karakterei hibákat vagy bejelentkezési hibákat okozhatnak.
Ha bizonyos karaktereket használ a SQL Server jelszóban, előfordulhat, hogy fordított perjellel kell feloldania őket, amikor a Linux parancssorban használja őket. Például a dollárjelet (
$) kell feloldania, amikor terminálparancsban/parancsértelmezőben használja:Nem működik:
sudo sqlcmd -S myserver -U sa -P Test$$Működik:
sudo sqlcmd -S myserver -U sa -P Test\$\$
Kapcsolódó tartalom
Segítség kérése
- Ötletek az SQL-hez: Javaslatai vannak az SQL Server fejlesztésére?
- Microsoft Q &A (SQL Server)
- DBA Stack Exchange (sql-server címke): Sql Serverrel kapcsolatos kérdések
- Stack Overflow (tag sql-server): Válaszok az SQL fejlesztési kérdéseire
- Microsoft SQL Server licencfeltételek és információk
- Támogatási lehetőségek üzleti felhasználók számára
- További SQL Server-súgó és visszajelzés
Közreműködés az SQL dokumentációjában
Tudta, hogy saját maga szerkesztheti az SQL-tartalmakat? Ha így tesz, nem csak a dokumentáció fejlesztésében segít, hanem az oldal közreműködőjeként is jóváírást kap.
További információ: Microsoft Learn-dokumentáció szerkesztése.