sp_altermessage (Transact-SQL)
Область применения: SQL Server
Изменяет состояние определяемых пользователем или системных сообщений в экземпляре SQL Server ядро СУБД. Определяемые пользователем sys.messages
сообщения можно просматривать с помощью представления каталога.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_altermessage
[ @message_id = ] message_id
, [ @parameter = ] N'parameter'
, [ @parameter_value = ] 'parameter_value'
[ ; ]
Аргументы
[ @message_id = ] message_id
Номер ошибки сообщения, из который нужно изменить sys.messages
. @message_id не используется без значения по умолчанию.
[ @parameter = ] N'parameter'
Используется с @parameter_value , чтобы указать, что сообщение должно быть записано в журнал приложений Windows. @parameter — sysname без значения по умолчанию.
@parameter необходимо задать WITH_LOG
или NULL
. Если для @parameter задано WITH_LOG
значение или NULL
значение для @parameter_valuetrue
, сообщение записывается в журнал приложений Windows. Если для @parameter задано WITH_LOG
значение или NULL
значение @parameter_value false
, сообщение не всегда записывается в журнал приложений Windows, но может быть записано в зависимости от того, как возникла ошибка.
Если сообщение записывается в журнал приложений Windows, оно также записывается в файл журнала ошибок ядро СУБД.
Если указан @parameter , необходимо также указать @parameter_value .
[ @parameter_value = ] 'parameter_value'
Используется с @parameter , чтобы указать, что ошибка должна быть записана в журнал приложений Windows. @parameter_value — varchar(5), без значения по умолчанию.
- Если
true
ошибка всегда записывается в журнал приложений Windows. - Если
false
ошибка не всегда записывается в журнал приложений Windows, но может быть записана в зависимости от способа возникновения ошибки.
Если указан @parameter_value , необходимо также указать @parameter .
Значения кода возврата
0
(успешно) или 1
(сбой).
Результирующий набор
Нет.
Замечания
Эффект sp_altermessage
с WITH_LOG
параметром аналогичен RAISERROR WITH LOG
параметру, за исключением того, что sp_altermessage
изменяет поведение ведения журнала существующего сообщения. Если сообщение изменено WITH_LOG
, оно всегда записывается в журнал приложений Windows независимо от того, как пользователь вызывает ошибку. Даже если RAISERROR
этот параметр не выполняется WITH_LOG
, ошибка записывается в журнал приложений Windows.
Системные сообщения можно изменить с помощью sp_altermessage
.
Разрешения
Требуется членство в предопределенных ролях сервера serveradmin .
Примеры
В следующем примере записывается существующее сообщение 55001
в журнал приложений Windows.
EXEC sp_altermessage 55001, 'WITH_LOG', 'true';
GO