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