Udostępnij za pośrednictwem


xp_logevent (języka Transact-SQL)

Dzienniki wiadomości zdefiniowane przez użytkownika w SQL Server pliku dziennika w Podglądzie zdarzeń systemu Windows. xp_logevent może służyć do wysyłania alert bez wysyłania wiadomości do klient.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

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

Argumenty

  • error_number
    Błąd zdefiniowany przez użytkownika numer jest większy 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'
    Jest jednym z trzech ciągi znaków: Do celów informacyjnych, ostrzeżenie lub błąd.severityjest opcjonalna, domyślnie do celów informacyjnych.

Wartości kodów powrotnych

0 (sukces) lub 1 (błąd)

Zestawy wyników

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

The command(s) completed successfully.

Uwagi

Podczas wysyłania wiadomości z Transact-SQL procedur, wyzwalacze, partii i itd, należy użyć instrukcja RAISERROR zamiast xp_logevent.xp_logeventNie wywołuj obsługi wiadomości klient lub zestaw @@ błędu.Mają być zapisywane w Podglądzie zdarzeń systemu Windows i SQL Serverplikdziennik błędów w wystąpienie SQL Server, wykonać instrukcjaRAISERROR.

Uprawnienia

Wymaga członkostwa w db_owner rola bazy danych w stałej master bazy danych lub członkostwa w sysadmin stała rola serwera.

Przykłady

Poniższy przykład dzienników 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