Udostępnij przez


xp_logevent (języka Transact-SQL)

Logs a user-defined message in the SQL Server log file and in the Windows Event Viewer.xp_logevent can be used to send an alert without sending a message to the client.

Topic link iconKonwencje składni języka Transact-SQL

xp_logevent { error_number , 'message' } [ , 'severity' ]

Argumenty

  • error_number
    Jest to liczba zdefiniowanych przez użytkownika o większych niż 50 000.Wartość maksymalna jest 2 147 483 647 (2 ^ 31 - 1).

  • 'message'
    To ciąg znaków z maksymalnie 2048 znaków.

  • 'severity'
    Czy jedno z trzech ciągi znaków: INFORMATIONAL, WARNING, or ERROR.severity is optional, with a default of INFORMATIONAL.

Wartości kodów powrotnych

0 (sukces) lub 1 (brak)

Zestawy wyników

xp_logevent zwraca następujący komunikat o błędzie, na przykład kod uwzględniane:

The command(s) completed successfully.

Remarks

When you send messages from Transact-SQL procedures, triggers, batches, and so on, use the RAISERROR statement instead of xp_logevent.xp_logevent does not call a message handler of a client or set @@ERROR.Mają być zapisywane komunikaty w podglądzie zdarzenie systemu Windows i SQL Server Błąd pliku dziennika w instancji SQL Server, wykonać instrukcję RAISERROR.

Uprawnienia

Członkostwo w roli db_owner stałej bazy danych w głównej bazie danych lub członkostwa w sysadmin stała rola serwera.

Przykłady

W poniższym przykładzie rejestruje wiadomości ze zmiennymi przekazany do wiadomości w Podglądzie zdarzeń systemu Windows.

DECLARE @@TABNAME varchar(30)
DECLARE @@USERNAME varchar(30)
DECLARE @@MESSAGE varchar(255)
SET @@TABNAME = 'customers'
SET @@USERNAME = USER_NAME()
SELECT @@MESSAGE = 'The table ' + @@TABNAME + ' is not owned by the user 
   ' + @@USERNAME + '.'

USE master
EXEC xp_logevent 60000, @@MESSAGE, informational