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)

Jan Zedníček - Data & Finance

Jmenuji se Honza Zedníček a působím jako freelancer. Tuto práci dělám pro různé firmy již přes 10 let. Před tím jsem dlouhou dobu pracoval také jako BI developer, finanční controller, analytik a krátce jako finanční manažer. Vše pro společnosti z oblasti IT, bankovnictví a výroby. Po práci si rád zahraju tenis, volejbal, šachy, zajdu do posilovny a rád ochutnávám dobré rumy. Svoje znalosti se snažím zapisovat na tento web - abych je nezapomněl a sloužily i někomu dalšímu.

=> Přihlašte se do naší Excel facebook skupiny (1.4k+ členů), kde si pomáháme Excel CZ/SK diskuse »
=> Pokud vám článek pomohl, sdílejte ho nebo mě uveďte na vašich webových stránkách jako užitečný zdroj informací

Leave a Reply

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