Compartilhar via


sp_syspolicy_delete_policy_execution_history (Transact-SQL)

Aplica-se: SQL Server

Exclui o histórico de execução de políticas no Gerenciamento Baseado em Políticas. Você pode usar este procedimento armazenado para excluir o histórico de execução de uma política específica ou de todas as políticas e excluir o histórico de execução antes de uma data específica.

Convenções de sintaxe de Transact-SQL

Sintaxe

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

Argumentos

@policy_id [ = ] policy_id

O identificador da política para a qual você deseja excluir o histórico de execução. @policy_id é int e é necessário. Pode ser NULL.

@oldest_date [ = ] 'oldest_date'

A data mais antiga para a qual você deseja manter o histórico de execução de políticas. Qualquer histórico de execução anterior a essa data será excluído. @oldest_date é datetime e é obrigatório. Pode ser NULL.

Valores do código de retorno

0 (sucesso) ou 1 (falha).

Comentários

Você deve executar sp_syspolicy_delete_policy_execution_history no contexto do banco de dados do msdb sistema.

Para obter valores para @policy_id e exibir datas do histórico de execução, você 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 comportamento a seguir se aplica se você especificar NULL para um ou ambos os valores:

  • Para excluir todo o histórico de execução de políticas, especifique NULL para @policy_id e para @oldest_date.

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

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

Para arquivar o histórico de execução de políticas, você pode abrir o log do Histórico de Políticas, no Pesquisador de Objetos, e exportar o histórico de execução para um arquivo. Para acessar o log do Histórico de Políticas, expanda Gerenciamento, clique com o botão direito do mouse em Gerenciamento de Políticas e selecione Exibir Histórico.

Permissões

Requer associação na função de banco de dados fixa PolicyAdministratorRole .

Importante

Possível elevação de credenciais: os usuários na função PolicyAdministratorRole podem criar gatilhos de servidor e agendar execuções de política que podem afetar a operação da instância do Mecanismo de Banco de Dados. Por exemplo, os usuários na função PolicyAdministratorRole podem criar uma política que pode impedir que a maioria dos objetos seja criada no Mecanismo de Banco de Dados. Devido a essa possível elevação de credenciais, a função PolicyAdministratorRole deve ser concedida somente a usuários confiáveis para controlar a configuração do Mecanismo de Banco de Dados.

Exemplos

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

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