Condividi tramite


sp_altermessage (Transact-SQL)

Si applica a: SQL Server

Modifica lo stato dei messaggi definiti dall'utente o di sistema in un'istanza del motore di database di SQL Server. I messaggi definiti dall'utente possono essere visualizzati usando la vista del sys.messages catalogo.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

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

Argomenti

[ @message_id = ] message_id

Numero di errore del messaggio da modificare da sys.messages. @message_id è int, senza impostazione predefinita.

[ @parameter = ] N'parameter'

Usato con @parameter_value per indicare che il messaggio deve essere scritto nel registro applicazioni di Microsoft Windows. @parameter è sysname, senza impostazione predefinita.

@parameter deve essere impostato su WITH_LOG o NULL. Se @parameter è impostato su WITH_LOG o NULLe il valore per @parameter_value è true, il messaggio viene scritto nel registro applicazioni di Windows. Se @parameter è impostato su WITH_LOG o NULL e il valore per @parameter_value è false, il messaggio non viene sempre scritto nel registro applicazioni di Windows, ma potrebbe essere scritto a seconda della modalità di generazione dell'errore.

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

Se si specifica @parameter , è necessario specificare anche @parameter_value .

[ @parameter_value = ] 'parameter_value'

Utilizzato con @parameter per indicare che l'errore deve essere scritto nel registro applicazioni di Microsoft Windows. @parameter_value è varchar(5), senza impostazione predefinita.

  • Se true, l'errore viene sempre scritto nel registro applicazioni di Windows.
  • Se false, l'errore non viene sempre scritto nel registro applicazioni di Windows, ma potrebbe essere scritto a seconda della modalità di generazione dell'errore.

Se si specifica @parameter_value , è necessario specificare anche @parameter .

Valori del codice restituito

0 (esito positivo) o 1 (errore).

Set di risultati

Nessuno.

Osservazioni:

L'effetto di sp_altermessage con l'opzione WITH_LOG è simile a quello del RAISERROR WITH LOG parametro , ad eccezione del fatto che sp_altermessage modifica il comportamento di registrazione di un messaggio esistente. Se un messaggio viene modificato in modo che WITH_LOGsia , viene sempre scritto nel registro applicazioni di Windows, indipendentemente dal modo in cui un utente richiama l'errore. Anche se RAISERROR viene eseguito senza l'opzione WITH_LOG , l'errore viene scritto nel registro applicazioni di Windows.

I messaggi di sistema possono essere modificati tramite sp_altermessage.

Autorizzazioni

Richiede l'appartenenza al ruolo predefinito del serverserveradmin .

Esempi

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

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