Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:programu SQL Server
Rejestruje komunikat zdefiniowany przez użytkownika w pliku dziennika programu SQL Server i w dzienniku zdarzeń systemu Windows.
xp_logevent
można użyć do wysyłania alertu bez wysyłania komunikatu do klienta.
Transact-SQL konwencje składni
Składnia
xp_logevent { error_number , 'message' } [ , 'severity' ]
Argumenty
Ważny
Argumenty dla rozszerzonych procedur składowanych należy wprowadzić w określonej kolejności zgodnie z opisem w sekcji składni. Jeśli parametry są wprowadzane poza kolejnością, wystąpi komunikat o błędzie.
error_number
Liczba błędów zdefiniowana przez użytkownika większa niż 50000
. Maksymalna wartość to 2147483647
(od 2^31 do 1).
"komunikat"
Ciąg znaków z maksymalnie 2048 znakami.
'ważność'
Jeden z trzech ciągów znaków: INFORMATIONAL
, WARNING
lub ERROR
.
ważność jest opcjonalna z wartością domyślną INFORMATIONAL
.
Zwracanie wartości kodu
0
(powodzenie) lub 1
(niepowodzenie).
Zestaw wyników
xp_logevent
zwraca następujący komunikat o błędzie dla dołączonego przykładu kodu:
The command(s) completed successfully.
Uwagi
Gdy wysyłasz komunikaty z procedur Transact-SQL, wyzwalaczy, partii itd., użyj instrukcji RAISERROR
zamiast xp_logevent
.
xp_logevent
nie wywołuje procedury obsługi komunikatów klienta ani nie ustawia @@ERROR
. Aby zapisać komunikaty w dzienniku zdarzeń systemu Windows i w pliku dziennika błędów programu SQL Server w wystąpieniu programu SQL Server, wykonaj instrukcję RAISERROR
.
Uprawnienia
Wymaga członkostwa w stałej roli bazy danych db_owner w bazie danych master
lub członkostwa w roli serwera stałego sysadmin.
Przykłady
Poniższy przykład rejestruje komunikat ze zmiennymi przekazanymi do komunikatu w Podglądzie zdarzeń systemu Windows.
DECLARE @@TABNAME VARCHAR(30),
@@USERNAME VARCHAR(30),
@@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;