SQL Error hlášky a závažnost (severity) – sys.messages + Popis

V SQL Server existuje systémová tabulka, ve které jsou uloženy všechny možné Error stavy a jejich závažnost = severity. Error severity nabývá hodnot 0-25 a definuje závažnost chyby. Všechny zprávy se kterými se můžeme v SQL Server setkat jsou uloženy v tabulce sys.messages.

USE MASTER
SELECT * FROM SYS.MESSAGES
WHERE language_id = 1033

Tabulka obsahuje cca 300 000 informačních a error zpráv ve všech jazykových mutacích SQL Server. Proto při dotazu do tabulky musíme omezit jazyk na 1033 (Angličtina), případně jiný dle preferencí.

Klasifikace Error Severity – závažnost chyby

  • 0 – 10 -> informativní zprávy, nejedná se o chybu – příklad : “Data truncation error. Length … exceeds maximum length .. for type …”
  • 11 – 16 -> Chyby, které jsou způsobeny na straně uživatele – např spuštění špatně napsaného skriptu – příklad: “Invalid column name …”
  • 17 -> Indikuje problém s prostředky servery, jedná se např o zámky (deadlock, apod) – příklad: “There is insufficient memory available in the buffer pool.”
  • 18 -> Indikuje problém se software na serveru – příklad: “The transaction has been stopped because it conflicted with the execution of a FILESTREAM close operation using the same transaction. The transaction will be rolled back.”
  • 19 -> Překročení limitu prostředků (nekonfigurovatelných v SQL Server) – příklad: “There is insufficient system memory in resource pool … to run this query.”
  • 20 -> Chyba na úrovni daného procesu – příklad: “Error while reading resource manager notification from Kernel Transaction Manager (KTM)”
  • 21 -> SQL server identifikoval problém, který ovlivňuje všechny procesy v databázi – příklad: “The database ID %d already exists.”
  • 22 -> Závažné poškození tabulky nebo indexu – příklad: “The schema of a table created by InternalBaseTable is corrupt.”
  • 23 -> Indikuje poškození databázepříklad: “Corruption in database … possibly due to schema or catalog inconsistency. Run DBCC CHECKCATALOG.”
  • 24 -> Problém s hardwarem – příklad: “The MSSQLServer service terminated unexpectedly. Check the SQL Server error log and operating system error logs for possible causes.”
  • 25 -> Některé systémové chyby – v SQL Server 2017 žádná taková zpráva již není (týká se předchozích edicí)

Doporučuju projít ještě článek ohledně toho, jak pracovat s Error hláškami pomocí TRY/CATCH

Zdroj: Microsoft dokumentace

_______________________________________________________________________________________________
Intelligent technologies - podniková řešení a školení
SQL Error hlášky a závažnost (severity) – sys.messages + Popis
Hodnocení

Napsat komentář

Vaše emailová adresa nebude zveřejněna.

This site uses Akismet to reduce spam. Learn how your comment data is processed.