sp_altermessage (Transact-SQL)
Ändert den Status von benutzerdefinierten Meldungen in einer Instanz von SQL Server-Datenbankmodul. Benutzerdefinierte Meldungen können mithilfe der sys.messages-Katalogsicht angezeigt werden.
Wichtig: |
---|
Dieses Feature wurde gegenüber früheren Versionen von SQL Server geändert. Weitere Informationen finden Sie unter Verhaltensänderungen von Datenbankmodul-Features in SQL Server 2005. |
Transact-SQL-Syntaxkonventionen
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 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
Siehe auch
Verweis
RAISERROR (Transact-SQL)
sp_addmessage (Transact-SQL)
sp_dropmessage (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL)