sp_syspolicy_delete_policy_execution_history (Transact-SQL)

S’applique à : ouiSQL Server (toutes les versions prises en charge)

Supprime l'historique d'exécution pour les stratégies dans la Gestion basée sur des stratégies. Vous pouvez utiliser cette procédure stockée pour supprimer l'historique d'exécution pour une stratégie particulière ou pour toutes les stratégies, et pour supprimer l'historique d'exécution avant une date spécifique.

Icône du lien de rubrique Conventions de la syntaxe Transact-SQL

Syntaxe

  
sp_syspolicy_delete_policy_execution_history [ @policy_id = ] policy_id ]  
    [ , [ @oldest_date = ] 'oldest_date' ]  

Arguments

[ @policy_id = ] policy_id Identificateur de la stratégie pour laquelle vous voulez supprimer l’historique d’exécution. policy_id est de type int et est obligatoire. Sa valeur peut être NULL.

[ @oldest_date = ] 'oldest_date' Date la plus ancienne pour laquelle vous souhaitez conserver l’historique d’exécution de la stratégie. Tout historique d'exécution antérieur à cette date est supprimé. oldest_date est de type DateTime et est obligatoire. Sa valeur peut être NULL.

Codet de retour

0 (succès) ou 1 (échec)

Notes

Vous devez exécuter sp_syspolicy_delete_policy_execution_history dans le contexte de la base de données système msdb.

Pour obtenir des valeurs pour policy_id, et pour afficher les dates de l’historique d’exécution, vous pouvez utiliser la requête suivante :

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  

Le comportement suivant s'applique si vous spécifiez Null pour l'une des deux valeurs suivantes, ou les deux :

  • Pour supprimer tous les historiques d’exécution de stratégie, spécifiez NULL pour les policy_id et pour oldest_date.

  • Pour supprimer l’historique d’exécution de la stratégie pour une stratégie spécifique, spécifiez un identificateur de stratégie pour policy_id et spécifiez NULL comme oldest_date.

  • Pour supprimer l’historique d’exécution de la stratégie pour toutes les stratégies avant une date spécifique, spécifiez NULL pour policy_id et spécifiez une date pour oldest_date.

Pour archiver l'historique d'exécution de la stratégie, vous pouvez ouvrir le journal Historique de la stratégie dans l'Explorateur d'objets et exporter l'historique d'exécution dans un fichier. Pour accéder au Journal de l’historique des stratégies, développez gestion, cliquez avec le bouton droit sur gestion des stratégies, puis cliquez sur afficher l’historique.

Autorisations

Nécessite l'appartenance au rôle de base de données fixe PolicyAdministratorRole.

Important

Élévation possible des informations d’identification : les utilisateurs du rôle PolicyAdministratorRole peuvent créer des déclencheurs de serveur et planifier des exécutions de stratégie qui peuvent affecter le fonctionnement de l’instance du Moteur de base de données . Par exemple, les utilisateurs du rôle PolicyAdministratorRole peuvent créer une stratégie qui peut empêcher la création de la plupart des objets dans le Moteur de base de données . En raison de cette élévation possible des informations d’identification, le rôle PolicyAdministratorRole doit être accordé uniquement aux utilisateurs approuvés par le contrôle de la configuration du Moteur de base de données .

Exemples

L'exemple suivant supprime l'historique d'exécution de la stratégie avant une date spécifique pour une stratégie ayant un ID égal à 7.

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

Voir aussi

procédures stockées de gestion basée sur des stratégies (Transact-SQL)
sp_syspolicy_set_config_history_retention (Transact-SQL)
sp_syspolicy_purge_history (Transact-SQL)