Partilhar via


sp_altermessage (Transact-SQL)

Altera o estado de mensagens definidas pelo usuário 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 catálogo sys.messages.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

sp_altermessage [ @message_id = ] message_number   ,[ @parameter = ]'write_to_log'
      ,[ @parameter_value = ]'value' 

Argumentos

  • [@message_id = ] message_number
    É o número de erro da mensagem a ser alterada de sys.messages. message_number é int sem valor padrão.

  • [ @parameter = ] **'**write_to_log'
    É usado com @parameter_value para indicar que a mensagem deve ser gravada no log de aplicativos do Microsoft. write_to_log é sysname, sem valor padrão. write_to_log deve ser definido como WITH_LOG ou NULL. Se write_to_log for 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 write_to_log for 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 write_to_log for especificado, o valor de @parameter_value também deverá ser especificado.

    ObservaçãoObservação

    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.

  • [ @parameter_value = ]**'**value'
    É usado com @parameter para indicar que o erro deve ser gravado no log de aplicativos do Microsoft Windows. value é varchar(5), sem valor padrão. Se for true, o erro sempre será gravado no log de aplicativos do Windows. Se for false, o erro nem sempre será gravado no log de aplicativos do Windows, mas poderá ser gravado dependendo de como o erro foi gerado. Se value for especificado, write_to_log também deverá ser especificado para @parameter.

Valores de código de retorno

0 (êxito) ou 1 (falha)

Conjuntos de resultados

Nenhum

Comentários

O efeito de sp_altermessage com a opção WITH_LOG é semelhante ao do parâmetro RAISERROR WITH LOG, com exceção de que sp_altermessage altera o comportamento de log de uma mensagem existente. Se uma mensagem foi alterada para ser WITH_LOG, ela sempre será gravada no log de aplicativos do Windows, independentemente de como um usuário invocar o erro. Até mesmo se RAISERROR for executado sem a opção WITH_LOG, o erro será gravado no log de aplicativos do Windows.

As mensagens do sistema não podem ser modificadas usando sp_altermessage.

Permissões

Requer associação à função de servidor fixa serveradmin.

Exemplos

O exemplo a seguir faz com que a mensagem 55001 existente seja registrada no log de aplicativos do Windows.

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