Поделиться через


sp_syspolicy_delete_policy_execution_history (Transact-SQL)

Область применения: SQL Server

Удаляет журнал выполнения для политик в управлении на основе политик. Эта хранимая процедура используется для удаления журнала выполнения для заданной политики или для всех политик, а также для удаления журнала выполнения до определенной даты.

Соглашения о синтаксисе Transact-SQL

Синтаксис

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

Аргументы

[ @policy_id = ] policy_id

Идентификатор политики, для которой требуется удалить журнал выполнения. @policy_id является int и является обязательным. Может иметь значение NULL.

[ @oldest_date = ] 'oldest_date'

Самая старая дата, для которой требуется сохранить журнал выполнения политики. Все данные журнала выполнения до этой даты удаляются. @oldest_date — дата и требуется. Может иметь значение NULL.

Значения кода возврата

0 (успешно) или 1 (сбой).

Замечания

Необходимо выполнить sp_syspolicy_delete_policy_execution_history в контексте msdb системной базы данных.

Чтобы получить значения для @policy_id и просмотреть даты журнала выполнения, можно использовать следующий запрос:

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;

Следующее поведение применяется при указании NULL одного или обоих значений:

  • Чтобы удалить весь журнал выполнения политики, укажите NULL как для @policy_id, так и для @oldest_date.

  • Чтобы удалить весь журнал выполнения политики для определенной политики, укажите идентификатор политики для @policy_id и укажите NULL как @oldest_date.

  • Чтобы удалить журнал выполнения политики для всех политик до определенной даты, укажите для @policy_id и укажите NULL дату @oldest_date.

Чтобы архивировать журнал выполнения политики, можно открыть журнал журнала политик в обозреватель объектов и экспортировать журнал выполнения в файл. Чтобы получить доступ к журналу журнала политик, разверните узел "Управление политиками", щелкните правой кнопкой мыши "Управление политиками" и выберите пункт "Просмотр журнала".

Разрешения

Требуется членство в предопределенной роли базы данных PolicyAdministratorRole .

Внимание

Возможное повышение прав учетных данных: пользователи в роли PolicyAdministratorRole могут создавать триггеры сервера и планировать выполнение политик, которые могут повлиять на работу экземпляра ядро СУБД. Например, пользователи роли PolicyAdministratorRole могут создавать политику, которая может препятствовать созданию большинства объектов в ядро СУБД. Из-за этого возможного повышения прав учетных данных роль PolicyAdministratorRole должна предоставляться только пользователям, которым доверено управление конфигурацией ядро СУБД.

Примеры

В следующем примере удаляется журнал выполнения политики до определенной даты для политики с идентификатором 7.

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