Dela via


sp_altermessage (Transact-SQL)

gäller för:SQL Server

Ändrar tillståndet för användardefinierade meddelanden eller systemmeddelanden i en instans av SQL Server Database Engine. Användardefinierade meddelanden kan visas med hjälp av sys.messages katalogvyn.

Transact-SQL syntaxkonventioner

Syntax

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

Argumentpunkter

[ @message_id = ] message_id

Felnumret för meddelandet som ska ändras från sys.messages. @message_id är int, utan standard.

[ @parameter = ] N'parameter'

Används med @parameter_value för att indikera att meddelandet ska skrivas till Windows-programloggen. @parameter är sysname, utan standard.

@parameter måste anges till WITH_LOG eller NULL. Om @parameter är inställt på WITH_LOG eller NULLoch värdet för @parameter_value är trueskrivs meddelandet till Windows-programloggen. Om @parameter är inställt på WITH_LOG eller NULL och värdet för @parameter_value är falseskrivs meddelandet inte alltid till Windows-programloggen, utan kan skrivas beroende på hur felet uppstod.

Om ett meddelande skrivs till Windows-programloggen skrivs det också till felloggfilen för databasmotorn.

Om @parameter anges måste @parameter_value också anges.

[ @parameter_value = ] "parameter_value"

Används med @parameter för att indikera att felet ska skrivas till Windows-programloggen. @parameter_value är varchar(5), utan standard.

  • Om trueskrivs felet alltid till Windows-programloggen.
  • Om falseskrivs felet inte alltid till Windows-programloggen, men kan skrivas beroende på hur felet uppstod.

Om @parameter_value anges måste @parameter också anges.

Returnera kodvärden

0 (lyckades) eller 1 (fel).

Resultatuppsättning

Ingen.

Anmärkningar

Effekten av sp_altermessage med WITH_LOG alternativet liknar parameterns RAISERROR WITH LOG , förutom att sp_altermessage det ändrar loggningsbeteendet för ett befintligt meddelande. Om ett meddelande ändras till WITH_LOGskrivs det alltid till Windows-programloggen, oavsett hur en användare anropar felet. Även om RAISERROR det körs utan WITH_LOG alternativet skrivs felet till Windows-programloggen.

Systemmeddelanden kan ändras med hjälp sp_altermessageav .

Behörigheter

Kräver medlemskap i serverrollen serveradmin fixed server.

Exempel

I följande exempel skrivs det befintliga meddelandet 55001 till Windows-programloggen.

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