sp_altermessage (Transact-SQL)
Ändert den Status von benutzerdefinierten Meldungen in einer Instanz von SQL Server Database Engine (Datenbankmodul). Benutzerdefinierte Meldungen können mithilfe der sys.messages-Katalogsicht angezeigt werden.
Syntax
sp_altermessage [ @message_id = ] message_number ,[ @parameter = ]'write_to_log'
,[ @parameter_value = ]'value'
Argumente
[@message_id = ] message_number
Die Fehlernummer der in sys.messages zu ändernden Meldung. message_number ist vom Datentyp int und hat keinen Standardwert.[ @parameter = ] **'**write_to_log'
Wird mit @parameter_value verwendet, um anzugeben, dass die Meldung in das Microsoft Windows-Anwendungsprotokoll geschrieben werden soll. write_to_log ist vom Datentyp sysname und hat keinen Standardwert. write_to_log muss auf WITH_LOG oder NULL festgelegt werden. Wenn write_to_log auf WITH_LOG oder NULL festgelegt wird und @parameter_value den Wert true hat, wird die Meldung in das Windows-Anwendungsprotokoll geschrieben. Wenn write_to_log auf WITH_LOG oder NULL festgelegt wird und @parameter_value den Wert false hat, wird die Meldung nicht immer in das Windows-Anwendungsprotokoll geschrieben, sondern in Abhängigkeit davon, wie der Fehler ausgelöst wurde. Wenn write_to_log angegeben wird, muss auch der Wert für @parameter_value angegeben werden.Hinweis Wenn eine Meldung in das Windows-Anwendungsprotokoll geschrieben wird, wird sie auch in die Fehlerprotokolldatei von Database Engine (Datenbankmodul) geschrieben.
[ @parameter_value = ]**'**value'
Wird mit @parameter verwendet, um anzugeben, dass der Fehler in das Microsoft Windows-Anwendungsprotokoll geschrieben werden muss. value ist vom Datentyp varchar(5) und hat keinen Standardwert. Bei true wird der Fehler immer in das Windows-Anwendungsprotokoll geschrieben. Bei false wird der Fehler nicht immer in das Windows-Anwendungsprotokoll geschrieben, sondern in Abhängigkeit davon, wie er ausgelöst wurde. Wenn value angegeben wird, muss auch write_to_log für @parameter angegeben werden.
Rückgabecodewerte
0 (Erfolg) oder 1 (Fehler)
Resultsets
Keine
Hinweise
Die Auswirkung von sp_altermessage mit der Option WITH_LOG entspricht der des RAISERROR WITH LOG-Parameters, außer dass sp_altermessage das Protokollierverhalten einer vorhandenen Meldung ändert. Wenn eine Meldung so geändert wurde, dass für sie die Option WITH_LOG aktiviert ist, wird sie immer in das Windows-Anwendungsprotokoll geschrieben, unabhängig davon, wie ein Benutzer den Fehler auslöst. Selbst wenn RAISERROR ohne die Option WITH_LOG ausgeführt wird, wird der Fehler in das Windows-Anwendungsprotokoll geschrieben.
Systemmeldungen können mithilfe von sp_altermessage nicht geändert werden.
Berechtigungen
Erfordert die Mitgliedschaft in der festen Serverrolle serveradmin.
Beispiele
In diesem Beispiel wird die vorhandene Meldung 55001 im Windows-Anwendungsprotokoll protokolliert.
sp_altermessage 55001, 'WITH_LOG', 'true';
GO