sp_altermessage (Transact-SQL)

Modifica lo stato dei messaggi definiti dall'utente in un'istanza di Motore di database di SQL Server. Per visualizzare i messaggi definiti dall'utente, è possibile utilizzare la vista del catalogo sys.messages.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

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

Argomenti

  • [@message_id = ] message_number
    Numero di errore del messaggio da modificare, recuperato da sys.messages. message_number è di tipo int e non prevede alcun valore predefinito.

  • [ @parameter = ] **'**write_to_log'
    Utilizzato in combinazione con @parameter_value per indicare che il messaggio deve essere scritto nel registro applicazioni di Microsoft Windows. write_to_log è di tipo sysname e non prevede alcun valore predefinito. write_to_log deve essere impostato su WITH_LOG o NULL. Se write_to_log è impostato su WITH_LOG o NULL e il valore di @parameter_value è true, il messaggio viene scritto nel registro applicazioni di Windows. Se write_to_log è impostato su WITH_LOG o NULL e il valore di @parameter_value è false, il messaggio viene scritto o meno nel registro applicazioni di Windows a seconda della modalità con cui è stato generato l'errore. Se si specifica write_to_log, è necessario specificare un valore anche per @parameter_value.

    [!NOTA]

    Se un messaggio viene scritto nel registro applicazioni di Windows, viene registrato anche nel file di log degli errori di Motore di database.

  • [ @parameter_value = ]**'**value'
    Utilizzato in combinazione con @parameter per indicare che l'errore deve essere scritto nel registro applicazioni di Microsoft Windows. value è di tipo varchar(5) e non prevede alcun valore predefinito. Se è true, l'errore viene sempre scritto nel registro applicazioni di Windows. Se è false, l'errore viene scritto o meno nel registro applicazioni di Windows a seconda della modalità con cui è stato generato. Se si specifica value, è necessario specificare anche write_to_log per @parameter.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Set di risultati

Nessuno

Osservazioni

Il risultato di sp_altermessage con l'opzione WITH_LOG è analogo a quello del parametro RAISERROR WITH LOG, con la sola eccezione che sp_altermessage utilizza una diversa modalità di registrazione per un messaggio esistente. I messaggi modificati con l'opzione WITH_LOG vengono sempre scritti nel registro applicazioni di Windows, indipendentemente dalla modalità con cui sono stati generati. Gli errori vengono infatti scritti nel registro applicazioni di Windows anche se RAISERROR viene eseguito senza l'opzione WITH LOG.

Con sp_altermessage non è possibile modificare i messaggi di sistema.

Autorizzazioni

È richiesta l'appartenenza al ruolo predefinito del server serveradmin.

Esempi

Nell'esempio seguente viene registrato il messaggio 55001 esistente nel registro applicazioni di Windows.

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