xp_logevent (Transact-SQL)

Применимо к:SQL Server

Записывает определяемое пользователем сообщение в файл журнала SQL Server и в Просмотр событий Windows. xp_logevent можно использовать для отправки оповещения без отправки сообщения клиенту.

Соглашения о синтаксисе Transact-SQL

Синтаксис

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

Аргументы

error_number
Номер пользовательской ошибки, больший 50 000. Максимальное значение равно 2 147 483 647 (2^31 - 1).

"message"
Символьная строка, которая может содержать не более 2048 символов.

"серьезность"
Одна из трех символьных строк: ИНФОРМАЦИОННЫЙ, ПРЕДУПРЕЖДЕНИЕ или ОШИБКА. Серьезность необязательна, а значение по умолчанию — ИНФОРМАЦИОННЫЙ.

Значения кода возврата

0 (успешное завершение) или 1 (неуспешное завершение)

Результирующие наборы

Для приведенного примера кода процедура xp_logevent возвращает следующую строку ошибки:

The command(s) completed successfully.

Комментарии

При отправке сообщений из процедур Transact-SQL, триггеров, пакетов и т. д. используйте инструкцию RAISERROR вместо xp_logevent. xp_logevent не вызывает обработчик сообщений клиента или не устанавливает @@ERROR. Чтобы записать сообщения в Просмотр событий Windows и в файл журнала ошибок SQL Server в экземпляре SQL Server, выполните инструкцию RAISERROR.

Разрешения

Необходимо членство в предопределенной роли базы данных db_owner в базе данных master или членство в предопределенной роли сервера sysadmin.

Примеры

Следующий пример записывает в журнал сообщение с переменными, переданными в сообщение, в средство просмотра событий 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;  

См. также:

PRINT (Transact-SQL)
RAISERROR (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)
Основные расширенные хранимые процедуры (Transact-SQL)