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.
Ä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)