sp_syspolicy_delete_policy_execution_history (Transact-SQL)

Si applica a: sìSQL Server (tutte le versioni supportate)

Elimina la cronologia di esecuzione dei criteri nella gestione basata su criteri. È possibile utilizzare questa stored procedure per eliminare la cronologia di esecuzione per criteri specifici o per tutti i criteri, nonché per eliminare la cronologia di esecuzione precedente a una data specifica.

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

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

Argomenti

[ @policy_id = ] policy_id Identificatore del criterio per il quale si desidera eliminare la cronologia di esecuzione. policy_id è di tipo int ed è obbligatorio. Può essere NULL.

[ @oldest_date = ] 'oldest_date' Data meno recente per cui si vuole mantenere la cronologia di esecuzione dei criteri. Qualsiasi cronologia di esecuzione precedente a questa data viene eliminata. oldest_date è datetime ed è obbligatorio. Può essere NULL.

Valori del codice restituito

0 (esito positivo) o 1 (esito negativo)

Commenti

È necessario eseguire sp_syspolicy_delete_policy_execution_history nel contesto del database di sistema msdb.

Per ottenere i valori per policy_id e per visualizzare le date della cronologia di esecuzione, è possibile usare la query seguente:

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  

Il comportamento seguente è valido se si specifica NULL per uno o entrambi i valori:

  • Per eliminare tutta la cronologia di esecuzione dei criteri, specificare NULL per policy_id e per oldest_date.

  • Per eliminare tutta la cronologia di esecuzione dei criteri per un criterio specifico, specificare un identificatore dei criteri per policy_id e specificare NULL come oldest_date.

  • Per eliminare la cronologia di esecuzione dei criteri per tutti i criteri prima di una data specifica, specificare NULL per policy_id e specificare una data per oldest_date.

Per archiviare la cronologia di esecuzione dei criteri, è possibile aprire il log Cronologia criteri in Esplora oggetti ed esportare la cronologia di esecuzione in un file. Per accedere al log Cronologia criteri, espandere Gestione, fare clic con il pulsante destro del mouse su Gestione criteri , quindi scegliere Visualizza cronologia.

Autorizzazioni

È necessaria l'appartenenza al ruolo predefinito del database PolicyAdministratorRole.

Importante

Possibile elevazione di credenziali: gli utenti nel ruolo PolicyAdministratorRole possono creare trigger server e pianificare le esecuzioni di criteri che influiscono sul funzionamento dell'istanza del Motore di database. Gli utenti con il ruolo PolicyAdministratorRole possono ad esempio creare criteri che impediscono la creazione della maggior parte degli oggetti nel Motore di database. A causa di questa possibile elevazione di credenziali, il ruolo PolicyAdministratorRole deve essere concesso solo a utenti ritenuti attendibili per il controllo della configurazione del Motore di database.

Esempio

Nell'esempio seguente viene eliminata la cronologia di esecuzione dei criteri precedente a una data specifica, per criteri con ID 7.

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

Vedere anche

Stored procedure per la gestione basata su criteri (Transact-SQL)
sp_syspolicy_set_config_history_retention (Transact-SQL)
sp_syspolicy_purge_history (Transact-SQL)