Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 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 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