Udostępnij za pośrednictwem


Handling Database Engine Errors

Wiele błędów przez SQL Server Database Engine może być przechwycone i rozwiązany programowo. Funkcje obsługi błędów są udostępniane przez Transact-SQL język i przez dostępu do danych aplikacji programistyczne interfejsy (API), które aplikacje korzystają z dostępu do danych przechowywanych w Database Engine.

Błędy z Database Engine można obsługiwać na dwóch poziomach:

  • Błędy mogą być obsługiwane w Database Engine Dodając kod obsługi błędów Transact-SQL instancje, procedur przechowywanych, wyzwalaczy lub funkcje zdefiniowane przez użytkownika.

  • Błędy mogą być zwracane do aplikacji wywołującej i obsługiwane w kodzie aplikacji.Każdy z interfejsów API, które aplikacje używają do uzyskania dostępu Database Engine udostępnia mechanizmy przekazywania informacji o błędzie do aplikacji.

Temat

Description

Understanding Database Engine Errors

Co Database Engine Błąd zawiera następujące atrybuty: błędy o numerach, ciągów wiadomości, wskaźnik ważności, stan, nazwy procedury oraz numer wiersza.

Pobiera informacje o błędach języka Transact-SQL

Transact-SQL Kod może pobierać informacje o błędach ERROR_LINE, ERROR_MESSAGE, ERROR_NUMBER, ERROR_PROCEDURE, ERROR_SEVERITY, ERROR_STATE i funkcje @@ błąd.

... TRY CATCH (języka Transact-SQL)

Błędy procesu Transact-SQL kod przy użyciu TRY…CATCH tworzyć podobne do funkcji obsługi wyjątków w języku Microsoft Visual C++ i Visual C#. Po wykryciu wystąpienia błędu w blok TRY kontrola jest przekazywana do blok CATCH, gdzie mogą być przetwarzane.

Za pomocą TRY... CATCH instrukcji języka Transact-SQL

Błędy procesu Transact-SQL kod przy użyciu TRY…CATCH tworzyć podobne do funkcji obsługi wyjątków w języku Microsoft Visual C++ i Visual C#. Po wykryciu wystąpienia błędu w blok TRY kontrola jest przekazywana do blok CATCH, gdzie mogą być przetwarzane.

Using RAISERROR

Instrukcja RAISERROR można podnieść zdefiniowanych przez użytkownika błędów.To można również z blok CATCH do przekazywania do błędów aplikacji w blok CATCH.

Using PRINT

Instrukcja PRINT może służyć do zwracania wiadomości przez użytkownika do aplikacji.

Za pomocą błąd @@

We wcześniejszych wersjach SQL Server, funkcja @@ błędu to podstawowy sposób wykrywania błędów Transact-SQL instrukcje. Konstrukcje TRY…CATCH zapewniają udoskonalone funkcje.

Obsługa błędów i komunikatów w aplikacji

Każdego z danych dostęp do interfejsów API, takie jak obiekty ActiveX Data Objects (ADO), OLE DB i Open Database Connectivity (ODBC), mają mechanizmów za zgłoszenie do aplikacji, informacje o błędzie otrzymanych od Database Engine.

Database Engine Error Severities

Database Engine errors and user-defined error messages are raised with severities from 1 to 25.sp_addmessage and RAISERROR can be used to generate user-defined error messages.

See Also

Other Resources