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)

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

Jmenuji se Honza Zedníček a působím jako freelancer. Pracoval jsem dříve také jako BI developer, finanční controller a analytik. Vše pro společnosti z oblasti IT, bankovnictví, consultingu a výroby. Po práci si rád zahraju tenis, volejbal, šachy, zajdu do posilovny a občas neúspěšně odpálím pár balónků v golfu 🏌️

Již cca 10 let zapisuji na tento web různé návody určené zejména odborné veřejnosti, studentům a zájemcům o informace z oblastí Business intelligence, korporátních financí a reportingu.

🔥 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 *