Freigeben über


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.

Themenlink (Symbol)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.

    HinweisHinweis

    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