Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Analytics-eindpunt in Microsoft Fabric
Warehouse in Microsoft Fabric
Fouten die worden gegenereerd door de Microsoft SQL Server Database Engine, hebben de kenmerken die in de volgende tabel worden beschreven.
Attribuut | Beschrijving |
---|---|
Foutnummer | Elk foutbericht heeft een uniek foutnummer. |
Foutberichttekenreeks | Het foutbericht bevat diagnostische informatie over de oorzaak van de fout. Veel foutberichten bevatten vervangingsvariabelen waarin informatie, zoals de naam van het object dat de fout genereert, wordt ingevoegd. |
Ernst | De ernst geeft aan hoe ernstig de fout is. Fouten met een lage ernst, zoals 1 of 2, zijn informatieberichten of waarschuwingen op laag niveau. Fouten met een hoge ernst geven aan dat problemen zo snel mogelijk moeten worden opgelost. Zie Ernstniveaus van database-enginefoutenvoor meer informatie over de ernstniveaus. |
Staat | Sommige foutberichten kunnen worden gegenereerd op meerdere punten in de code voor de database-engine. Een 1105-fout kan bijvoorbeeld worden gegenereerd onder verschillende omstandigheden. Aan elke specifieke voorwaarde die een fout genereert, wordt een unieke statuscode toegewezen. Wanneer u databases bekijkt die informatie bevatten over bekende problemen, zoals de Microsoft Knowledge Base, kunt u het statusnummer gebruiken om te bepalen of het geregistreerde probleem hetzelfde is als de fout die u hebt opgetreden. Als een Knowledge Base-artikel bijvoorbeeld een 1105-fout beschrijft met de status 2 en het 1105-foutbericht dat u hebt ontvangen een status van 3 heeft, heeft de fout waarschijnlijk een andere oorzaak dan de fout die in het artikel is gerapporteerd. Een Microsoft-ondersteuningstechnicus kan ook de statuscode van een fout gebruiken om de locatie in de broncode te vinden waar die foutcode wordt gegenereerd. Deze informatie kan aanvullende ideeën bieden over het vaststellen van het probleem. |
Procedurenaam | Is de naam van de opgeslagen procedure of trigger waarin de fout is opgetreden. |
Regelnummer | Geeft aan welke instructie in een batch, opgeslagen procedure, trigger of functie de fout heeft gegenereerd. |
Alle door het systeem en de gebruiker gedefinieerde foutberichten in een exemplaar van de database-engine bevinden zich in de sys.messages catalogusweergave. U kunt de instructie RAISERROR gebruiken om gebruikersgedefinieerde fouten naar een toepassing terug te geven.
Alle database-API's, zoals microsoft .NET Framework SQLClient naamruimte, ActiveX-gegevensobjecten (ADO), OLE DB en ODBC (Open Database Connectivity), rapporteren de basisfoutkenmerken. Deze informatie bevat het foutnummer en de tekenreeks van het bericht. Niet alle API's rapporteren echter alle andere foutkenmerken.
Informatie over een fout die optreedt in het bereik van het TRY-blok van een TRY... CATCH-constructie kan worden verkregen in Transact-SQL code met behulp van functies zoals ERROR_LINE, ERROR_MESSAGE, ERROR_NUMBER, ERROR_PROCEDURE, ERROR_SEVERITY en ERROR_STATE binnen het bereik van het bijbehorende CATCH-blok. Voor meer informatie, zie TRY...CATCH (Transact-SQL).
Voorbeelden
In het volgende voorbeeld wordt een query uitgevoerd op de sys.messages
catalogusweergave om een lijst te retourneren van alle door het systeem en de gebruiker gedefinieerde foutberichten in de database-engine met Engelse tekst (1033
).
SELECT
message_id,
language_id,
severity,
is_event_logged,
text
FROM sys.messages
WHERE language_id = 1033;
Zie sys.messages (Transact-SQL)voor meer informatie.
Zie ook
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)
FOUT_PROCÉDURE (Transact-SQL)
ERROR_SEVERITY (Transact-SQL)
FOUTTOESTAND (Transact-SQL)