Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:SQL Server
Регистрирует определяемое пользователем сообщение в файле журнала SQL Server и в журнале событий Windows.
xp_logevent
можно использовать для отправки оповещения без отправки сообщения клиенту.
Соглашения о синтаксисе Transact-SQL
Синтаксис
xp_logevent { error_number , 'message' } [ , 'severity' ]
Аргументы
Важный
Аргументы для расширенных хранимых процедур необходимо ввести в определенном порядке, как описано в разделе Синтаксис. Если параметры введены вне порядка, возникает сообщение об ошибке.
error_number
Определяемое пользователем число ошибок больше 50000
. Максимальное значение равно 2147483647
(2^31 – 1).
Сообщение
Строка символов с не более чем 2048 символами.
"серьезность"
Одна из трех строк символов: INFORMATIONAL
, WARNING
или ERROR
.
Уровень серьезности необязателен , при этом значение по умолчанию 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),
@@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;