Compartilhar via


sp_altermessage (Transact-SQL)

Aplica-se a: 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 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 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 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 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_LOGela 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_altermessageo .

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