Sdílet prostřednictvím


sp_altermessage (Transact-SQL)

platí pro:SQL Server

Změní stav uživatelem definovaných nebo systémových zpráv v instanci databázového stroje SQL Serveru. Uživatelem definované zprávy lze zobrazit pomocí sys.messages zobrazení katalogu.

Transact-SQL konvence syntaxe

Syntaxe

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

Argumenty

[ @message_id = ] message_id

Číslo chyby zprávy, ze sys.messageskteré se má změnit . @message_id je int, bez výchozího nastavení.

[ @parameter = ] N'parameter'

Používá se s @parameter_value k označení, že zpráva má být zapsána do protokolu aplikací systému Windows. @parameter je sysname bez výchozího nastavení.

@parameter musí být nastavena na WITH_LOG hodnotu nebo NULL. Pokud je @parameter nastavena na WITH_LOG hodnotu nebo NULLa hodnota pro @parameter_value je true, zpráva se zapíše do protokolu aplikace systému Windows. Pokud je @parameter nastavená WITH_LOG na hodnotu nebo NULL hodnotu pro @parameter_value je false, zpráva není vždy zapsána do protokolu aplikací systému Windows, ale může být zapsána v závislosti na tom, jak byla chyba vyvolána.

Pokud se zpráva zapíše do protokolu aplikace systému Windows, zapíše se také do souboru protokolu chyb databázového stroje.

Je-li zadán @parameter , je nutné zadat také @parameter_value .

[ @parameter_value = ] 'parameter_value'

Používá se s @parameter k označení, že se chyba zapisuje do protokolu aplikací pro Windows. @parameter_value je varchar(5) bez výchozího nastavení.

  • Pokud truese chyba vždy zapíše do protokolu aplikace systému Windows.
  • Pokud falsese chyba vždy nezapisuje do protokolu aplikací systému Windows, ale může se zapsat v závislosti na tom, jak byla chyba vyvolána.

Je-li zadán @parameter_value , je nutné zadat také @parameter .

Hodnoty návratového kódu

0 (úspěch) nebo 1 (selhání).

Sada výsledků

Žádné.

Poznámky

Účinek s WITH_LOG možností je podobný parametru sp_altermessageRAISERROR WITH LOG s tím rozdílem, že sp_altermessage změní chování protokolování existující zprávy. Pokud je zpráva změněna tak, aby WITH_LOGbyla , je vždy zapsána do protokolu aplikací systému Windows bez ohledu na to, jak uživatel vyvolá chybu. I když RAISERROR se spustí bez WITH_LOG možnosti, chyba se zapíše do protokolu aplikací systému Windows.

Systémové zprávy lze změnit pomocí .sp_altermessage

Povolení

Vyžaduje členství v pevné roli serveru správce serveru.

Příklady

Následující příklad zapíše existující zprávu 55001 do protokolu aplikace systému Windows.

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