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
Ha az SQL Server adatbázismotor hibát jelez, a hiba súlyossága az SQL Server által tapasztalt probléma típusát jelzi.
Súlyossági szintek
Az alábbi táblázat az SQL Server adatbázismotor által felvetett hibák súlyossági szintjeit sorolja fel és ismerteti.
| Súlyossági szint | Description |
|---|---|
| 0-9 | Olyan tájékoztató üzeneteket jelezhet, amelyek állapotinformációkat adnak vissza, vagy olyan hibákat jeleznek, amelyek nem súlyosak. Az adatbázismotor nem okoz 0–9 súlyosságú rendszerhibákat. |
| 10 | Olyan információs üzeneteket jelez, amelyek állapotinformációkat adnak vissza, vagy olyan hibákat jeleznek, amelyek nem súlyosak. Kompatibilitási okokból az adatbázismotor a 10 súlyosságot 0 súlyosságúvá alakítja, mielőtt visszaadja a hibainformációkat a hívó alkalmazásnak. |
| 11-16 | Jelezze a felhasználó által kijavítható hibákat. |
| 11 | Azt jelzi, hogy az adott objektum vagy entitás nem létezik. |
| 12 | Speciális súlyosság azon lekérdezések esetében, amelyek speciális lekérdezési tippek miatt nem használnak zárolást. Bizonyos esetekben az utasítások által végrehajtott olvasási műveletek inkonzisztens adatokat eredményezhetnek, mivel a zárolások nem garantálják a konzisztenciát. |
| 13 | Tranzakció holtponti hibáit jelzi. |
| 14 | A biztonsággal kapcsolatos hibákat jelzi, például az engedély megtagadva. |
| 15 | Szintaxishibákat jelez a Transact-SQL parancsban. |
| 16 | A felhasználó által javítható általános hibákat jelzi. |
| 17-19 | Jelezze azokat a szoftverhibákat, amelyeket a felhasználó nem tud kijavítani. Tájékoztassa a rendszergazdát a problémáról. |
| 17 | Azt jelzi, hogy az utasítás miatt az SQL Server elfogyt az erőforrásokból (például memória, zárolások vagy lemezterület az adatbázis számára), vagy túllépte a rendszergazda által beállított korlátot. |
| 18 | Az adatbázismotor szoftverével kapcsolatos problémát jelez, de az utasítás befejeződik, és az adatbázismotor példányával való kapcsolat megmarad. A rendszergazdát minden alkalommal tájékoztatni kell, amikor egy 18-es súlyossági szintű üzenet jelenik meg. |
| 19 | Azt jelzi, hogy túllépte a nem konfigurálható adatbázismotor korlátját, és az aktuális kötegfolyamat leállt. A 19 vagy annál magasabb súlyossági szintű hibaüzenetek leálltatják az aktuális köteg végrehajtását. A súlyossági szint 19-es szintű hibái ritkán fordulnak elő, és a rendszergazdának vagy az elsődleges támogatási szolgáltatónak kell kijavítania. Lépjen kapcsolatba a rendszergazdával, ha egy 19-es súlyossági szintű üzenet merül fel. A 19 és 25 közötti súlyossági szintű hibaüzenetek a hibanaplóba lesznek írva. |
| 20-24 | Jelezze a rendszerproblémákat, és végzetes hibák, ami azt jelenti, hogy az utasítást vagy köteget futtató adatbázismotor-feladat már nem fut. A tevékenység rögzíti a történtekkel kapcsolatos információkat, majd leáll. A legtöbb esetben az adatbázismotor példányával létesített alkalmazáskapcsolat is megszakadhat. Ha igen, a problémától függően előfordulhat, hogy az alkalmazás nem tud újracsatlakozni. Az ebben a tartományban lévő hibaüzenetek hatással lehetnek az adatbázis adataihoz hozzáférő összes folyamatra, és azt jelezhetik, hogy egy adatbázis vagy objektum sérült. A 19 és 24 közötti súlyossági szintű hibaüzeneteket a rendszer a hibanaplóba írja. |
| 20 | Azt jelzi, hogy egy utasítás hibát észlelt. Mivel a probléma csak az aktuális feladatot érintette, nem valószínű, hogy maga az adatbázis sérült. |
| 21 | Azt jelzi, hogy olyan probléma lépett fel, amely az aktuális adatbázis összes feladatát érinti, de nem valószínű, hogy maga az adatbázis sérült. |
| 22 | Azt jelzi, hogy az üzenetben megadott táblázatot vagy indexet szoftver- vagy hardverhiba okozta. A súlyossági szint 22-es szintű hibái ritkán fordulnak elő. Ha ilyen történik, futtassa DBCC CHECKDB annak megállapításához, hogy az adatbázis más objektumai is sérültek-e. Előfordulhat, hogy a probléma csak a puffergyorsítótárban jelentkezik, és nem a lemezen. Ha igen, az adatbázismotor példányának újraindítása kijavítja a problémát. A működés folytatásához újra csatlakoznia kell az adatbázismotor példányához. Ellenkező esetben a probléma kijavításához használja DBCC . Bizonyos esetekben előfordulhat, hogy vissza kell állítania az adatbázist.Ha az adatbázismotor példányának újraindítása nem oldja meg a problémát, a probléma a lemezen van. Néha a hibaüzenetben megadott objektum megsemmisítése megoldja a problémát. Ha például az üzenet arról számol be, hogy az adatbázismotor példánya talált egy 0 hosszúságú sort egy nemclustered indexben, törölje az indexet, és építse újra. |
| 23 | Azt jelzi, hogy a teljes adatbázis integritása hardver- vagy szoftverhiba miatt kérdéses. A 23. súlyossági szintű hibák ritkán fordulnak elő. Ha ilyen történik, futtassa DBCC CHECKDB a kár mértékét. Előfordulhat, hogy a probléma csak a gyorsítótárban van, és nem a lemezen. Ha igen, az adatbázismotor példányának újraindítása kijavítja a problémát. A működés folytatásához újra csatlakoznia kell az adatbázismotor példányához. Ellenkező esetben a probléma kijavításához használja DBCC . Bizonyos esetekben előfordulhat, hogy vissza kell állítania az adatbázist. |
| 24 | Médiahibát jelez. Előfordulhat, hogy a rendszergazdának vissza kell állítania az adatbázist. Előfordulhat, hogy a hardvergyártót is fel kell hívnia. |
Felhasználó által definiált hibaüzenet súlyossága
A sp_addmessage katalógusnézethez 1 és 25 sys.messages közötti súlyosságú, felhasználó által definiált hibaüzeneteket adhat hozzá. Ezeket a felhasználó által definiált hibaüzeneteket a következő használhatja: RAISERROR. További információ: sp_addmessage.
RAISERROR 1 és 25 közötti súlyosságú, felhasználó által definiált hibaüzenetek létrehozására használható.
RAISERROR hivatkozhat a katalógusnézetben tárolt sys.messages felhasználó által megadott hibaüzenetre, vagy dinamikusan hozhat létre üzenetet. Ha RAISERROR felhasználó által megadott hibaüzenetet sys.messages használ, amikor hibát generál, a megadott súlyosság RAISERROR felülbírálja a megadott sys.messagessúlyosságot. További információ: RAISERROR.
A hiba súlyossága és a TRY... ELKAP
A TRY...CATCH szerkezet az összes olyan 10-nél súlyosabb végrehajtási hibát elkapja, amely nem szünteti meg az adatbázis-kapcsolatot.
A 0 és 10 közötti súlyosságú hibák tájékoztató üzenetek, és nem okoznak végrehajtást a CATCH szerkezet blokkjából TRY...CATCH való ugráshoz.
Az adatbázis-kapcsolatot általában 20 és 25 közötti súlyossággal megszakító hibákat a blokk nem kezeli CATCH , mert a végrehajtás megszakad a kapcsolat leállásakor.
További információ: TRY... CATCH.
Hiba súlyossága lekérése
A ERROR_SEVERITY rendszerfüggvény segítségével lekérheti annak a hibanak a súlyosságát, amely egy CATCH szerkezet blokkjának TRY...CATCH futtatását okozta.
ERROR_SEVERITY
NULL a blokk hatókörén CATCH kívül eső meghívás esetén ad vissza. További információ: ERROR_SEVERITY.