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áze – pří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

5/5 - (2 votes)
Rubrika: SQL Administrace

O Ing. Jan Zedníček - Data Engineer & Controlling

Jmenuji se Honza Zedníček a působím jako data engineer freelancer. Během cca 10 let jsem zde shromáždil přes 600 IT case studies, průvodců, návodů a tipů určených zejména odborné veřejnosti, studentům a zájemcům o informace z oblastí Data Engineeringu, korporátních financí a reportingu. Zaměřuji se především na Microsoft technologie (on-prem i cloud) a různé synergické efekty v rámci jejich produktového portfolia pro dataře a finanční profesionály. Věnuji se také dalším platformám a významným hráčům z oblasti open source technologií. 🔥 Pokud vám tento článek pomohl, ocením referenci na vašem webu nebo zmínku v komunitě. A mám pro vás ještě tip: řešíte-li nějaký zapeklitý Excel problém, přihlašte se do naší Excel Facebook skupiny (2.4k+ členů), kde si pomáháme Excel CZ/SK diskuse ».

Leave a Reply

Your email address will not be published. Required fields are marked *