Partilhar via


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 visualizadas usando a visualização de sys.messages catálogo.

Transact-SQL convenções de sintaxe

Sintaxe

sp_altermessage
    [ @message_id = ] message_id
    , [ @parameter = ] N'parameter'
    , [ @parameter_value = ] 'parameter_value'
[ ; ]

Argumentos

@message_id [ = ] message_id

O número do 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 NULLe 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 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 de código de retorno

0 (sucesso) ou 1 (fracasso).

Conjunto de resultados

Nenhum.

Observações

O efeito de com a WITH_LOG opção é semelhante ao do RAISERROR WITH LOG parâmetro, exceto que sp_altermessage altera o comportamento de sp_altermessage log de uma mensagem existente. Se uma mensagem for alterada para , WITH_LOGela será sempre 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 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.

EXECUTE sp_altermessage 55001, 'WITH_LOG', 'true';
GO