sp_altermessage (Transact-SQL)
Modifica lo stato dei messaggi di sistema o 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.
Convenzioni 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 registro 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 di codice 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.
È possibile modificare i messaggi di sistema tramite sp_altermessage.
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