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 NULL
e 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_LOG
sia , 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