sp_altermessage (Transact-SQL)
Aplica-se: SQL Server
Altera o estado das mensagens definidas pelo usuário ou do sistema em uma instância do Mecanismo de Banco de Dados do SQL Server. As mensagens definidas pelo usuário podem ser visualizadas usando a visualização do sys.messages
catálogo.
Convenções de sintaxe de Transact-SQL
Sintaxe
sp_altermessage
[ @message_id = ] message_id
, [ @parameter = ] N'parameter'
, [ @parameter_value = ] 'parameter_value'
[ ; ]
Argumentos
@message_id [ = ] message_id
O número de erro da mensagem a ser alterada de sys.messages
. @message_id é int, sem padrão.
@parameter [ = ] N'parâmetro'
Usado com @parameter_value para indicar que a mensagem deve ser gravada no log de aplicativos do Windows. @parameter é sysname, sem padrão.
@parameter deve ser definido como WITH_LOG
ou NULL
. Se @parameter estiver definido como WITH_LOG
ou NULL
, e o valor de @parameter_value for true
, a mensagem será gravada no log de aplicativos do Windows. Se @parameter estiver definido como WITH_LOG
ou NULL
e o valor de @parameter_value for false
, a mensagem nem sempre será gravada no log de aplicativos do Windows, mas poderá ser gravada dependendo de como o erro foi gerado.
Se uma mensagem for gravada no log de aplicativos do Windows, ela também será gravada no arquivo de log de erros do Mecanismo de Banco de Dados.
Se @parameter for especificado, @parameter_value também deverá ser especificado.
@parameter_value [ = ] 'parameter_value'
Usado com @parameter para indicar que o erro deve ser gravado no log de aplicativos do Windows. @parameter_value é varchar(5), sem padrão.
- Se
true
, o erro é sempre gravado no log de aplicativos do Windows. - Se
false
, o erro nem sempre é gravado no log de aplicativos do Windows, mas pode ser gravado dependendo de como o erro foi gerado.
Se @parameter_value for especificado, @parameter também deverá ser especificado.
Valores do código de retorno
0
(sucesso) ou 1
(falha).
Conjunto de resultados
Nenhum.
Comentários
O efeito de sp_altermessage
com a WITH_LOG
opção é semelhante ao RAISERROR WITH LOG
do parâmetro, exceto que sp_altermessage
altera o comportamento de log de uma mensagem existente. Se uma mensagem for alterada para , WITH_LOG
ela sempre será gravada no log de aplicativos do Windows, independentemente de como um usuário invoca o erro. Mesmo que RAISERROR
seja executado sem a WITH_LOG
opção, o erro é gravado no log do aplicativo do Windows.
As mensagens do sistema podem ser modificadas usando sp_altermessage
o .
Permissões
Requer associação na função de servidor fixa serveradmin .
Exemplos
O exemplo a seguir grava a mensagem 55001
existente no log de aplicativos do Windows.
EXEC sp_altermessage 55001, 'WITH_LOG', 'true';
GO