Share via


sp_syspolicy_delete_policy_execution_history(Transact-SQL)

정책 기반 관리에서 정책의 실행 기록을 삭제합니다. 이 저장 프로시저를 사용하여 특정 정책 또는 모든 정책의 실행 기록을 삭제하거나 특정 날짜 이전의 실행 기록을 삭제할 수 있습니다.

항목 링크 아이콘 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는 datetime이며 필수입니다. NULL일 수 있습니다.

반환 코드 값

0(성공) 또는 1(실패)

주의

msdb 시스템 데이터베이스의 컨텍스트에서 sp_syspolicy_delete_policy_execution_history를 실행해야 합니다.

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을 지정하면 다음 동작이 적용됩니다.

  • 모든 정책 실행 기록을 삭제하려면 policy_id와 oldest_date에 대해 모두 NULL을 지정합니다.

  • 특정 정책의 정책 실행 기록을 모두 삭제하려면 policy_id에 정책 식별자를 지정하고 oldest_date에 NULL을 지정합니다.

  • 특정 날짜 이전의 모든 정책에 대한 정책 실행 기록을 삭제하려면 policy_id에 NULL을 지정하고 oldest_date에 날짜를 지정합니다.

정책 실행 기록을 보관하려면 개체 탐색기에서 정책 기록 로그를 열고 실행 기록을 파일로 내보냅니다. 정책 기록 로그에 액세스하려면 관리를 확장하고 정책 관리를 마우스 오른쪽 단추로 클릭한 다음, 기록 보기를 클릭합니다.

사용 권한

PolicyAdministratorRole 고정 데이터베이스 역할의 멤버 자격이 필요합니다.

보안 정보보안 정보

가능한 자격 증명 승격: PolicyAdministratorRole 역할의 사용자는 서버 트리거를 만들고 데이터베이스 엔진 인스턴스의 작업에 영향을 줄 수 있는 정책 실행을 예약할 수 있습니다. 예를 들어 PolicyAdministratorRole 역할의 사용자는 대부분의 개체가 데이터베이스 엔진에서 생성되지 않도록 하는 정책을 만들 수 있습니다. 이런 식으로 자격 증명을 승격할 수 있으므로 PolicyAdministratorRole 역할은 데이터베이스 엔진 구성을 제어할 수 있도록 신뢰할 수 있는 사용자에게만 부여해야 합니다.

다음 예에서는 ID가 7인 정책에 대해 특정 날짜 이전의 정책 실행 기록을 삭제합니다.

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

GO

참고 항목

참조

정책 기반 관리 저장 프로시저(Transact-SQL)

sp_syspolicy_set_config_history_retention(Transact-SQL)

sp_syspolicy_purge_history(Transact-SQL)