Understanding Database Engine Errors
Errors raised by the Microsoft SQL Server Database Engine have the attributes described in the following table.
Attribute |
Description |
---|---|
Numer błędu |
Każdy komunikat o błędzie ma numer unikatowy błędu. |
Ciąg komunikatu o błędzie |
Komunikat o błędzie zawiera informacje diagnostyczne na temat przyczyny błędu.Wiele komunikatów o błędach mają Podstawianie zmiennych w których informacje takie jak nazwa obiektu, generuje błąd, zostanie wstawiony. |
Wskaźnik ważności |
Wagę wskazuje, jak poważny jest błąd.Błędy, o niskiej ważności, takie jak 1 lub 2, to komunikaty informacyjne lub niskiego poziom ostrzeżeń.Błędy, o wysokiej ważności wskazują problemy, które powinny być kierowane jak najszybciej.Aby uzyskać więcej informacji na temat severities zobacz Database Engine Error Severities. |
Stan |
Niektóre komunikaty o błędach można podnieść w wielu punktach kod Database Engine. Na przykład błąd 1105 można podnieść w kilku różnych warunków.Każdy określony warunek, który wywołuje błąd przypisuje kod stanu unikatowego. Podczas przeglądania bazy danych, które zawierają informacje dotyczące znanych problemów, takich jak Microsoft Baza wiedza, można użyć numeru stanu można określić, czy problem nagrania jest taka sama, jak został napotkany błąd. Na przykład jeśli artykuł bazy wiedza opisuje błąd 1105 zawierającego stan 2 i otrzymaną wiadomość błąd 1105 miał stan 3, ten błąd jest prawdopodobnie ma różne przyczyny niż ten, który zgłosił w artykule. A Microsoft Pracownik pomocy technicznej można użyć kodu stanu z błędem aby znaleźć lokalizację w urządzenie źródłowe kodu w przypadku gdy jest uruchamiany kod tego błędu. Te informacje mogą zawierać dodatkowe pomysły dotyczące zdiagnozować problem. |
Nazwa procedury |
To nazwa procedura przechowywana lub wyzwalacz, w którym wystąpił błąd. |
Numer wiersza |
Wskazuje, które instrukcja partia, procedura przechowywana, wyzwalacza lub funkcja wygenerował błąd. |
Wszystkie systemu i komunikaty zdefiniowane przez użytkownika o błędach w wystąpieniu Database Engine znajdują się w sys.messages Służy do wyświetlania katalogu. Instrukcja RAISERROR można użyć do zwrócenia zdefiniowanych przez użytkownika błędów aplikacji.
All database APIs, such as the Microsoft .NET FrameworkSQLClient namespace, ActiveX Data Objects (ADO), OLE DB, and Open Database Connectivity (ODBC), report the basic error attributes.Informacje te obejmują ciąg numer i komunikat błędu.Jednak nie wszystkie interfejsy API zgłaszają inne atrybuty błąd.Aby uzyskać więcej informacji zobaczObsługa błędów i komunikatów w aplikacji.
Informacje o błędzie, który występuje w zakresie blok TRY konstrukcji TRY…CATCH można uzyskać w Transact-SQL kod przy użyciu funkcji, takich jak ERROR_LINE, ERROR_MESSAGE, ERROR_NUMBER ERROR_PROCEDURE, ERROR_SEVERITY i ERROR_STATE w zakresie skojarzone blok CATCH. Aby uzyskać więcej informacji zobacz Pobiera informacje o błędach języka Transact-SQL i Za pomocą TRY... CATCH instrukcji języka Transact-SQL.
Przykłady
W następujących przykładowych kwerendach sys.messages Widok, aby uzyskać listę wszystkich systemu i komunikaty zdefiniowane przez użytkownika o błędach w katalogu Database Engine zawierające tekst w języku angielskim)1033).
SELECT
message_id,
language_id,
severity,
is_event_logged,
text
FROM sys.messages
WHERE language_id = 1033;
Aby uzyskać więcej informacji zobaczsys.Messages (języka Transact-SQL).
See Also