Share via


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.

ms175094.note(de-de,SQL.90).gifWichtig:
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.

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.

    ms175094.note(de-de,SQL.90).gifHinweis:
    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)

Andere Ressourcen

Verwenden von RAISERROR

Hilfe und Informationen

Informationsquellen für SQL Server 2005