sp_altermessage (Transact-SQL)

Aplica-se a:SQL Server

Altera o estado de 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 exibidas usando a exibição de 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 Microsoft 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 para @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 para @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 deve ser especificado.

@parameter_value [ = ] 'parameter_value'

Usado com @parameter para indicar que o erro deve ser gravado no log de aplicativos do Microsoft 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 deve 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 do RAISERROR WITH LOG parâmetro, exceto que sp_altermessage altera o comportamento de log de uma mensagem existente. Se uma mensagem for alterada para ser WITH_LOG, ela sempre será gravada no log de aplicativos do Windows, independentemente de como um usuário invoca o erro. Mesmo se RAISERROR for executado sem a WITH_LOG opção, o erro é gravado no log de aplicativos do Windows.

As mensagens do sistema podem ser modificadas usando sp_altermessageo .

Permissões

Requer associação à 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