sp_altermessage (Transact-SQL)
Gilt für: SQL Server
Ändert den Status von benutzerdefinierten oder Systemmeldungen in einer Instanz der SQL Server-Datenbank-Engine. Benutzerdefinierte Nachrichten können mithilfe der sys.messages
Katalogansicht angezeigt werden.
Transact-SQL-Syntaxkonventionen
Syntax
sp_altermessage
[ @message_id = ] message_id
, [ @parameter = ] N'parameter'
, [ @parameter_value = ] 'parameter_value'
[ ; ]
Argumente
[ @message_id = ] message_id
Die Fehlernummer der Zu ändernden Nachricht.sys.messages
@message_id ist "int" ohne Standard.
[ @parameter = ] N'parameter'
Wird mit @parameter_value verwendet, um anzugeben, dass die Nachricht in das Microsoft Windows-Anwendungsprotokoll geschrieben werden soll. @parameter ist "sysname" ohne Standard.
@parameter muss auf WITH_LOG
oder NULL
. Wenn @parameter auf WITH_LOG
oder NULL
, und der Wert für @parameter_value ist true
, wird die Nachricht in das Windows-Anwendungsprotokoll geschrieben. Wenn @parameter auf WITH_LOG
oder NULL
den Wert für @parameter_value false
festgelegt ist, wird die Nachricht nicht immer in das Windows-Anwendungsprotokoll geschrieben, kann jedoch abhängig davon geschrieben werden, wie der Fehler ausgelöst wurde.
Wenn eine Nachricht in das Windows-Anwendungsprotokoll geschrieben wird, wird sie auch in die Datenbank-Engine Fehlerprotokolldatei geschrieben.
Wenn @parameter angegeben ist, muss auch @parameter_value angegeben werden.
[ @parameter_value = ] 'parameter_value'
Wird mit @parameter verwendet, um anzugeben, dass der Fehler in das Microsoft Windows-Anwendungsprotokoll geschrieben werden soll. @parameter_value ist varchar(5) ohne Standard.
- Wenn
true
der Fehler immer in das Windows-Anwendungsprotokoll geschrieben wird. - Wenn
false
der Fehler nicht immer in das Windows-Anwendungsprotokoll geschrieben wird, kann aber abhängig davon geschrieben werden, wie der Fehler ausgelöst wurde.
Wenn @parameter_value angegeben ist, muss auch @parameter angegeben werden.
Rückgabecodewerte
0
(erfolgreich) oder 1
Fehler.
Resultset
Keine.
Hinweise
Die Auswirkung mit sp_altermessage
der Option ähnelt dem WITH_LOG
des RAISERROR WITH LOG
Parameters, mit der Ausnahme, dass sp_altermessage
das Protokollierungsverhalten einer vorhandenen Nachricht geändert wird. Wenn eine Nachricht geändert WITH_LOG
wird, wird sie immer in das Windows-Anwendungsprotokoll geschrieben, unabhängig davon, wie ein Benutzer den Fehler aufruft. Auch wenn RAISERROR
ohne die WITH_LOG
Option ausgeführt wird, wird der Fehler in das Windows-Anwendungsprotokoll geschrieben.
Systemnachrichten können mithilfe von sp_altermessage
.
Berechtigungen
Erfordert die Mitgliedschaft in der Serveradmin-Serverrolle mit fester Serverrolle.
Beispiele
Im folgenden Beispiel wird die vorhandene Nachricht 55001
in das Windows-Anwendungsprotokoll geschrieben.
EXEC sp_altermessage 55001, 'WITH_LOG', 'true';
GO