xp_logevent (Transact-SQL)
Заносит определенное пользователем сообщение в файл журнала SQL Server и в средство просмотра событий Windows. Процедура xp_logevent может использоваться для отправки предупреждения без посылки сообщения клиенту.
Соглашения о синтаксисе в Transact-SQL
Синтаксис
xp_logevent { error_number , 'message' } [ , 'severity' ]
Аргументы
- error_number
Номер пользовательской ошибки, больший 50 000. Максимальное значение 2147483647 (2^31 - 1).
- 'message'
Символьная строка, которая может содержать не более 255 символов.
- 'severity'
Одна из трех символьных строк: INFORMATIONAL, WARNING или ERROR. Аргумент severity является необязательным и по умолчанию имеет значение INFORMATIONAL.
Значения кодов возврата
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)
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
См. также
Справочник
PRINT (Transact-SQL)
RAISERROR (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)
Основные расширенные хранимые процедуры (Transact-SQL)