Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Pokud databázový stroj SQL Serveru vyvolá chybu, závažnost chyby značí typ problému, ke kterým došlo sql Serverem.
Úrovně závažnosti
Následující tabulka uvádí a popisuje úrovně závažnosti chyb vyvolaných databázovým strojem SQL Serveru.
| Úroveň závažnosti | Description |
|---|---|
| 0-9 | Uveďte informační zprávy, které vracejí informace o stavu nebo hlásí chyby, které nejsou závažné. Databázový stroj nevyvolá systémové chyby se závažnostmi 0 až 9. |
| 10 | Označuje informační zprávy, které vrací informace o stavu nebo hlásí chyby, které nejsou závažné. Z důvodů kompatibility databázový stroj převede závažnost 10 na závažnost 0 před vrácením informací o chybě do volající aplikace. |
| 11-16 | Označte chyby, které může uživatel opravit. |
| 11 | Označuje, že daný objekt nebo entita neexistuje. |
| 12 | Zvláštní závažnost pro dotazy, které nepoužívají uzamčení kvůli speciálním tipům dotazů. V některých případech můžou operace čtení prováděné těmito příkazy vést k nekonzistentním datům, protože zámky nejsou převzaty kvůli zajištění konzistence. |
| 13 | Označuje chyby vzájemného zablokování transakce. |
| 14 | Označuje chyby související se zabezpečením, například odepření oprávnění. |
| 15 | Označuje chyby syntaxe v příkazu Transact-SQL. |
| 16 | Označuje obecné chyby, které může uživatel opravit. |
| 17-19 | Uveďte chyby softwaru, které uživatel nemůže opravit. Informujte správce systému o problému. |
| 17 | Označuje, že příkaz způsobil, že SQL Server našel prostředky (například paměť, zámky nebo místo na disku pro databázi) nebo překročil určitý limit nastavený správcem systému. |
| 18 | Označuje problém v softwaru databázového stroje, ale příkaz se dokončí a připojení k instanci databázového stroje je zachováno. Správce systému by měl být informován při každém výskytu zprávy se závažností 18. |
| 19 | Označuje, že byl překročen limit nekonfigurovatelného databázového stroje a aktuální dávkový proces byl ukončen. Chybové zprávy se závažností 19 nebo vyšší zastavují provádění aktuální dávky. Chyby úrovně závažnosti 19 jsou vzácné a musí je opravit správce systému nebo váš primární poskytovatel podpory. Pokud je vyvolána zpráva s úrovní závažnosti 19, obraťte se na správce systému. Chybové zprávy s úrovní závažnosti od 19 do 25 se zapisují do protokolu chyb. |
| 20-24 | Uveďte systémové problémy a jsou závažné chyby, což znamená, že úloha databázového stroje, která spouští příkaz nebo dávku, už není spuštěná. Úkol zaznamenává informace o tom, co se stalo, a poté se ukončí. Ve většině případů se může ukončit také připojení aplikace k instanci databázového stroje. Pokud ano, v závislosti na problému se aplikace nemusí znovu připojit. Chybové zprávy v této oblasti můžou ovlivnit všechny procesy přistupující k datům v databázi a můžou značit poškození databáze nebo objektu. Chybové zprávy s úrovní závažnosti od 19 do 24 se zapisují do protokolu chyb. |
| 20 | Označuje, že příkaz zjistil problém. Vzhledem k tomu, že problém ovlivnil pouze aktuální úlohu, není pravděpodobné, že je databáze sama poškozena. |
| 21 | Označuje, že došlo k problému, který má vliv na všechny úlohy v aktuální databázi, ale není pravděpodobné, že samotná databáze je poškozena. |
| 22 | Označuje, že došlo k poškození tabulky nebo indexu zadané ve zprávě softwarovým nebo hardwarovým problémem. K chybám úrovně závažnosti 22 dochází zřídka. Pokud dojde k jedné z nich, spusťte spuštění DBCC CHECKDB , abyste zjistili, zda jsou poškozeny i jiné objekty v databázi. Problém může být pouze v mezipaměti vyrovnávací paměti a ne na samotném disku. Pokud ano, restartování instance databázového stroje problém opraví. Pokud chcete pokračovat v práci, musíte se znovu připojit k instanci databázového stroje. V opačném případě použijte DBCC k opravě problému. V některých případech může být nutné obnovit databázi.Pokud restartování instance databázového stroje problém nevyřeší, problém je na disku. Někdy zničení objektu zadaného v chybové zprávě vyřeší problém. Pokud například zpráva hlásí, že instance databázového stroje našla řádek s délkou 0 v neclusterovaného indexu, odstraňte index a znovu ho sestavte. |
| 23 | Označuje, že integrita celé databáze je dotčená kvůli problému s hardwarem nebo softwarem. K chybám úrovně závažnosti 23 dochází zřídka. Pokud dojde k jedné z nich, spusťte DBCC CHECKDB , abyste určili rozsah poškození. Problém může být pouze v mezipaměti a ne na samotném disku. Pokud ano, restartování instance databázového stroje problém opraví. Pokud chcete pokračovat v práci, musíte se znovu připojit k instanci databázového stroje. V opačném případě použijte DBCC k opravě problému. V některých případech možná budete muset databázi obnovit. |
| dvacet čtyři | Označuje selhání média. Správce systému může potřebovat obnovit databázi. Možná budete muset zavolat také dodavateli hardwaru. |
Závažnost chybové zprávy definované uživatelem
Do zobrazení katalogu můžete přidat sp_addmessage uživatelem definované chybové zprávy se závažnostmi od 1 do sys.messages 25. Tyto uživatelem definované chybové zprávy lze použít RAISERROR. Další informace najdete v tématu sp_addmessage.
RAISERROR lze použít ke generování uživatelem definovaných chybových zpráv se závažnostmi od 1 do 25.
RAISERROR může odkazovat na uživatelem definovanou chybovou sys.messages zprávu uloženou v zobrazení katalogu nebo dynamicky vytvořit zprávu. Při RAISERROR použití uživatelem definované chybové zprávy při sys.messages generování chyby, závažnost určená RAISERROR přepsáním závažnosti zadanou v sys.messages. Další informace naleznete v tématu RAISERROR.
Závažnost chyby a try... CHYTIT
Konstruktor TRY...CATCH zachytí všechny chyby spuštění se závažností větší než 10, které neukončí připojení k databázi.
Chyby se závažností od 0 do 10 jsou informační zprávy a nezpůsobí, že provádění přeskočí z CATCH bloku konstruktoru TRY...CATCH .
Chyby, které ukončují připojení k databázi, obvykle se závažností od 20 do 25, nezpracují CATCH blok, protože při ukončení připojení dojde k přerušení provádění.
Další informace naleznete v tématu TRY... CHYŤTE.
Načtení závažnosti chyby
ERROR_SEVERITY Systémovou funkci lze použít k načtení závažnosti chyby, která způsobila CATCH spuštění bloku konstruktoruTRY...CATCH.
ERROR_SEVERITY vrátí NULL , pokud je volána mimo rozsah CATCH bloku. Další informace najdete v tématu ERROR_SEVERITY.