sp_syspolicy_delete_policy_execution_history (Transact-SQL)

Aplica-se a: SQL Server

Apaga o histórico de execução de políticas em Gestão Baseada em Políticas. Pode usar este procedimento armazenado para apagar o histórico de execução de uma política específica ou de todas as políticas, e para apagar o histórico de execução antes de uma data específica.

Transact-SQL convenções de sintaxe

Syntax

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

Arguments

[ @policy_id = ] policy_id

O identificador da política para a qual pretende apagar o histórico de execução. @policy_id é int, e é obrigatório. Pode ser NULL.

[ @oldest_date = ] oldest_date

A data mais antiga para a qual quer manter o histórico de execução da apólice. Qualquer histórico de execução anterior a esta data é apagado. @oldest_date é hora de encontro e é obrigatório. Pode ser NULL.

Valores de código de retorno

0 (sucesso) ou 1 (fracasso).

Remarks

Deve correr sp_syspolicy_delete_policy_execution_history no contexto da msdb base de dados do sistema.

Para obter valores para @policy_id e para ver datas do histórico de execução, pode usar a seguinte consulta:

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;

O seguinte comportamento aplica-se se especificar NULL para um ou ambos os valores:

  • Para eliminar todo o histórico de execução da política, especifique NULL tanto para @policy_id como para @oldest_date.

  • Para eliminar todo o histórico de execução de políticas para uma política específica, especifique um identificador de política para @policy_id e especifique NULL como @oldest_date.

  • Para eliminar o histórico de execução de políticas para todas as políticas antes de uma data específica, especifique NULLpara @policy_id e especifique uma data para @oldest_date.

Para arquivar o histórico de execução de políticas, pode abrir o registo de Histórico de Políticas, no Object Explorer, e exportar o histórico de execução para um ficheiro. Para aceder ao registo de Histórico de Políticas, expanda Gestão, clique com o botão direito em Gestão de Políticas e depois selecione Ver Histórico.

Permissions

Requer a pertença ao papel fixo de base de dados PolicyAdministratorRole .

Importante

Possível elevação de credenciais: Os utilizadores no papel PolicyAdministratorRole podem criar triggers de servidor e agendar execuções de políticas que podem afetar o funcionamento da instância do Motor de Base de Dados. Por exemplo, utilizadores no papel PolicyAdministratorRole podem criar uma política que impede que a maioria dos objetos seja criada no Motor de Base de Dados. Devido a esta possível elevação de credenciais, o papel de PolicyAdministratorRole deve ser concedido apenas a utilizadores em quem confiam o controlo da configuração do Motor de Base de Dados.

Examples

O exemplo seguinte elimina o histórico de execução de políticas antes de uma data específica para uma política com ID de 7.

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