sp_syspolicy_delete_policy_execution_history (Transact-SQL)

Van toepassing op:SQL Server

Verwijdert de uitvoeringsgeschiedenis voor beleidsregels in Policy-Based Management. Je kunt deze opgeslagen procedure gebruiken om de uitvoeringsgeschiedenis van een specifiek beleid of voor alle beleidsregels te verwijderen, en om de uitvoeringsgeschiedenis vóór een specifieke datum te verwijderen.

Transact-SQL syntaxis-conventies

Syntax

dbo.sp_syspolicy_delete_policy_execution_history
    [ @policy_id = ] policy_id
    , [ @oldest_date = ] oldest_date
[ ; ]

Arguments

[ @policy_id = ] policy_id

De identificatie van het beleid waarvoor je de uitvoeringsgeschiedenis wilt verwijderen. @policy_id is int, en is verplicht. Kan zijn NULL.

[ @oldest_date = ] oldest_date

De oudste datum waarop je de uitvoeringsgeschiedenis van een polis wilt bewaren. Alle uitvoeringsgeschiedenis van vóór deze datum wordt verwijderd. @oldest_date is een datetime en verplicht. Kan zijn NULL.

Codewaarden retourneren

0 (geslaagd) of 1 (mislukt).

Remarks

Je moet draaien sp_syspolicy_delete_policy_execution_history in de context van de msdb systeemdatabase.

Om waarden voor @policy_id te verkrijgen en uitvoeringsgeschiedenisdata te bekijken, kunt u de volgende query gebruiken:

SELECT a.name AS N'policy_name',
       b.policy_id,
       b.start_date,
       b.end_date
FROM msdb.dbo.syspolicy_policies AS a
     INNER JOIN msdb.dbo.syspolicy_policy_execution_history AS b
         ON a.policy_id = b.policy_id;

Het volgende gedrag geldt als je voor één of beide waarden specificeert NULL :

  • Om alle uitvoeringsgeschiedenis van het beleid te verwijderen, specificeer NULL je zowel voor @policy_id als voor @oldest_date.

  • Om alle beleidsuitvoeringsgeschiedenis voor een specifiek beleid te verwijderen, specificeer je een beleidsidentificatie voor @policy_id en specificeer NULL je als @oldest_date.

  • Om de uitvoeringsgeschiedenis van het beleid voor alle beleidsregels vóór een specifieke datum te verwijderen, specificeer NULLje voor @policy_id en geef je een datum aan voor @oldest_date.

Om de uitvoeringsgeschiedenis van het beleid te archiveren, kun je het Policy History-logboek openen in Objectverkenner en de uitvoeringsgeschiedenis exporteren naar een bestand. Om toegang te krijgen tot het Beleidsgeschiedenislogboek, opent u Beheer, klikt u met de rechtermuisknop op Beleidsbeheer en selecteert u vervolgens Geschiedenis bekijken.

Permissions

Vereist lidmaatschap van de vaste databaserol PolicyAdministratorRole .

Important

Mogelijke verhoging van inloggegevens: Gebruikers in de rol PolicyAdministratorRole kunnen servertriggers maken en beleidsuitvoeringen plannen die de werking van de instantie van de Database Engine kunnen beïnvloeden. Gebruikers in de rol PolicyAdministratorRole kunnen bijvoorbeeld een beleid maken dat voorkomt dat de meeste objecten in de Database Engine worden aangemaakt. Vanwege deze mogelijke verhoging van inloggegevens zou de rol PolicyAdministratorRole alleen toegekend moeten worden aan gebruikers die worden vertrouwd met het beheren van de configuratie van de Database Engine.

Examples

Het volgende voorbeeld verwijdert de uitvoeringsgeschiedenis van het beleid vóór een specifieke datum voor een beleid met een ID van 7.

EXECUTE msdb.dbo.sp_syspolicy_delete_policy_execution_history
    @policy_id = 7,
    @oldest_date = '2019-02-16 16:00:00.000';
GO