sp_syspolicy_delete_policy_execution_history(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(실패)
주의
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을 지정한 경우 적용됩니다.
모든 정책 실행 기록을 삭제하려면 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