Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
Azure Synapse Analytics
Elemzési platformrendszer (PDW)
SQL Analytics-végpont a Microsoft Fabricben
Raktár a Microsoft Fabricben
SQL-adatbázis a Microsoft Fabricben
A Microsoft SQL Server adatbázismotor által felvetett hibák az alábbi táblázatban ismertetett attribútumokkal rendelkeznek.
| Attribútum | Leírás |
|---|---|
| Hibaszám | Minden hibaüzenet egyedi hibaszámmal rendelkezik. |
| Hibaüzenet karakterlánc | A hibaüzenet diagnosztikai információkat tartalmaz a hiba okáról. Számos hibaüzenet helyettesítő változókkal rendelkezik, amelyekbe a rendszer beszúrja a hibát létrehozó objektum nevét. |
| Súlyosság | A súlyosság azt jelzi, hogy milyen súlyos a hiba. Az alacsony súlyossággal (például 1 vagy 2) rendelkező hibák információs üzenetek vagy alacsony szintű figyelmeztetések. A nagy súlyosságú hibák olyan problémákat jeleznek, amelyeket a lehető leghamarabb meg kell oldani. A súlyosságokkal kapcsolatos további információkért lásd adatbázismotor hiba súlyosságát. |
| Állam | Egyes hibaüzenetek az adatbázismotor kódjában több ponton is elővehetők. Például egy 1105-ös hiba több különböző feltétel esetén is felmerülhet. A hibát okozó minden egyes feltétel egyedi állapotkódot rendel hozzá. Ha olyan adatbázisokat tekint meg, amelyek információkat tartalmaznak az ismert problémákról, például a Microsoft Tudásbázisról, az állapotszám segítségével megállapíthatja, hogy a rögzített probléma megegyezik-e a tapasztalt hibával. Ha például egy tudásbáziscikk egy 1105-ös hibát ír le, amely 2-es állapotú, és a kapott 1105-ös hibaüzenet 3-os állapotú, akkor a hiba oka valószínűleg más, mint amit a cikkben jelentett. A Microsoft támogatási mérnökei a hiba állapotkódját is használhatják annak a forráskódnak a helyének megkereséséhez, ahol a hibakód felmerül. Ezek az információk további ötleteket adhatnak a probléma diagnosztizálásához. |
| Eljárás neve | Annak a tárolt eljárásnak vagy eseményindítónak a neve, amelyben a hiba történt. |
| Sorszám | Azt jelzi, hogy egy kötegben, tárolt eljárásban, eseményindítóban vagy függvényben melyik utasítás generálta a hibát. |
Az adatbázismotor egy példányának rendszer- és felhasználó által definiált hibaüzenetei a sys.messages katalógusnézetben találhatók. A RAISERROR utasítás használatával felhasználó által megadott hibákat adhat vissza egy alkalmazásnak.
Az alapszintű hibaattribútumokat minden adatbázis API,például a Microsoft .NET-keretrendszer SQLClient névtér, ActiveX Data Objects (ADO), OLE DB és Open Database Connectivity (ODBC) jelenti. Ez az információ tartalmazza a hibaszámot és az üzenetsztringet. Azonban nem minden API jelenti az összes többi hibaattribútumot.
A TRY...CATCH szerkezet TRY blokkjának hatókörében fellépő hibáról a Transact-SQL kódban információ szerezhető a társított CATCH blokk hatókörében az olyan függvények használatával, mint az ERROR_LINE, ERROR_MESSAGE, ERROR_NUMBER, ERROR_PROCEDURE, ERROR_SEVERITY és ERROR_STATE. További információ: TRY... CATCH (Transact-SQL).
Példák
Az alábbi példa lekérdezi a sys.messages katalógusnézetet, hogy visszaadja a rendszer és a felhasználó által definiált hibaüzenetek listáját az adatbázismotorban angol nyelvű (1033) szövegekkel.
SELECT
message_id,
language_id,
severity,
is_event_logged,
text
FROM sys.messages
WHERE language_id = 1033;
További információ: sys.messages (Transact-SQL).
Lásd még:
sys.messages (Transact-SQL)
RAISERROR (Transact-SQL)
@@ERROR (Transact-SQL)
TRY... CATCH (Transact-SQL)
ERROR_LINE (Transact-SQL)
ERROR_MESSAGE (Transact-SQL)
ERROR_NUMBER (Transact-SQL)
ERROR_PROCEDURE (Transact-SQL)
ERROR_SEVERITY (Transact-SQL)
ERROR_STATE (Transact-SQL)