sp_altermessage (Transact-SQL)

Gilt für: SQL Server

Ändert den Status von benutzerdefinierten oder Systemmeldungen in einer Instanz der SQL Server-Datenbank-Engine. Benutzerdefinierte Nachrichten können mithilfe der sys.messages Katalogansicht angezeigt werden.

Transact-SQL-Syntaxkonventionen

Syntax

sp_altermessage
    [ @message_id = ] message_id
    , [ @parameter = ] N'parameter'
    , [ @parameter_value = ] 'parameter_value'
[ ; ]

Argumente

[ @message_id = ] message_id

Die Fehlernummer der Zu ändernden Nachricht.sys.messages @message_id ist "int" ohne Standard.

[ @parameter = ] N'parameter'

Wird mit @parameter_value verwendet, um anzugeben, dass die Nachricht in das Windows-Anwendungsprotokoll geschrieben werden soll. @parameter ist "sysname" ohne Standard.

@parameter muss auf WITH_LOG oder NULL. Wenn @parameter auf WITH_LOG oder NULL, und der Wert für @parameter_value ist true, wird die Nachricht in das Windows-Anwendungsprotokoll geschrieben. Wenn @parameter auf WITH_LOG oder NULL den Wert für @parameter_value false festgelegt ist, wird die Nachricht nicht immer in das Windows-Anwendungsprotokoll geschrieben, kann jedoch abhängig davon geschrieben werden, wie der Fehler ausgelöst wurde.

Wenn eine Nachricht in das Windows-Anwendungsprotokoll geschrieben wird, wird sie auch in die Datenbank-Engine Fehlerprotokolldatei geschrieben.

Wenn @parameter angegeben ist, muss auch @parameter_value angegeben werden.

[ @parameter_value = ] 'parameter_value'

Wird mit @parameter verwendet, um anzugeben, dass der Fehler in das Windows-Anwendungsprotokoll geschrieben werden soll. @parameter_value ist varchar(5) ohne Standard.

  • Wenn trueder Fehler immer in das Windows-Anwendungsprotokoll geschrieben wird.
  • Wenn falseder Fehler nicht immer in das Windows-Anwendungsprotokoll geschrieben wird, kann aber abhängig davon geschrieben werden, wie der Fehler ausgelöst wurde.

Wenn @parameter_value angegeben ist, muss auch @parameter angegeben werden.

Rückgabecodewerte

0 (erfolgreich) oder 1 Fehler.

Resultset

Keine.

Hinweise

Die Auswirkung mit sp_altermessage der Option ähnelt dem WITH_LOG des RAISERROR WITH LOG Parameters, mit der Ausnahme, dass sp_altermessage das Protokollierungsverhalten einer vorhandenen Nachricht geändert wird. Wenn eine Nachricht geändert WITH_LOGwird, wird sie immer in das Windows-Anwendungsprotokoll geschrieben, unabhängig davon, wie ein Benutzer den Fehler aufruft. Auch wenn RAISERROR ohne die WITH_LOG Option ausgeführt wird, wird der Fehler in das Windows-Anwendungsprotokoll geschrieben.

Systemnachrichten können mithilfe von sp_altermessage.

Berechtigungen

Erfordert die Mitgliedschaft in der Serveradmin-Serverrolle mit fester Serverrolle.

Beispiele

Im folgenden Beispiel wird die vorhandene Nachricht 55001 in das Windows-Anwendungsprotokoll geschrieben.

EXEC sp_altermessage 55001, 'WITH_LOG', 'true';
GO