Delen via


sp_altermessage (Transact-SQL)

Van toepassing op:SQL Server

Hiermee wijzigt u de status van door de gebruiker gedefinieerde of systeemberichten in een exemplaar van de SQL Server Database Engine. Door de gebruiker gedefinieerde berichten kunnen worden weergegeven met behulp van de sys.messages catalogusweergave.

Transact-SQL syntaxis-conventies

Syntaxis

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

Argumenten

[ @message_id = ] message_id

Het foutnummer van het bericht dat moet worden gewijzigd.sys.messages @message_id is int, zonder standaardinstelling.

[ @parameter = ] N'parameter'

Wordt gebruikt met @parameter_value om aan te geven dat het bericht naar het Windows-toepassingslogboek moet worden geschreven. @parameter is sysname, zonder standaardinstelling.

@parameter moet zijn ingesteld op WITH_LOG of NULL. Als @parameter is ingesteld op WITH_LOG of NULL, en de waarde voor @parameter_value is true, wordt het bericht naar het Windows-toepassingslogboek geschreven. Als @parameter is ingesteld WITH_LOG op of NULL en de waarde voor @parameter_value is false, wordt het bericht niet altijd naar het Windows-toepassingslogboek geschreven, maar kan worden geschreven, afhankelijk van hoe de fout is gegenereerd.

Als een bericht naar het Windows-toepassingslogboek wordt geschreven, wordt het ook geschreven naar het foutenlogboekbestand van de database-engine.

Als @parameter is opgegeven, moet @parameter_value ook worden opgegeven.

[ @parameter_value = ] 'parameter_value'

Wordt gebruikt met @parameter om aan te geven dat de fout naar het Windows-toepassingslogboek moet worden geschreven. @parameter_value is varchar(5), zonder standaardinstelling.

  • Als truede fout altijd naar het Windows-toepassingslogboek wordt geschreven.
  • Als falsede fout niet altijd naar het Windows-toepassingslogboek wordt geschreven, maar mogelijk wordt geschreven, afhankelijk van hoe de fout is gegenereerd.

Als @parameter_value is opgegeven, moet @parameter ook worden opgegeven.

Codewaarden retourneren

0 (geslaagd) of 1 (mislukt).

Resultaatset

Geen.

Opmerkingen

Het effect van sp_altermessage met de WITH_LOG optie is vergelijkbaar met die van de RAISERROR WITH LOG parameter, behalve dat sp_altermessage het logboekgedrag van een bestaand bericht wordt gewijzigd. Als een bericht wordt gewijzigd WITH_LOG, wordt het altijd naar het Windows-toepassingslogboek geschreven, ongeacht hoe een gebruiker de fout aanroept. Zelfs als RAISERROR deze wordt uitgevoerd zonder de WITH_LOG optie, wordt de fout naar het Windows-toepassingslogboek geschreven.

Systeemberichten kunnen worden gewijzigd met behulp van sp_altermessage.

Machtigingen

Vereist lidmaatschap van de serveradmin vaste serverfunctie.

Voorbeelden

In het volgende voorbeeld wordt het bestaande bericht 55001 naar het Windows-toepassingslogboek geschreven.

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