다음을 통해 공유


syspolicy_policy_execution_history_details(Transact-SQL)

적용 대상: SQL Server

실행된 조건 식, 식의 대상, 각 실행의 결과 및 발생한 오류에 대한 세부 정보를 표시합니다. 다음 표에서는 syspolicy_execution_history_details 보기의 열에 대해 설명합니다.

열 이름 데이터 형식 설명
detail_id bigint 이 레코드의 식별자입니다. 각 레코드는 정책에서 하나의 조건 식을 평가하거나 적용하려는 시도를 나타냅니다. 여러 대상에 적용되는 경우 각 조건에는 각 대상에 대한 세부 정보 레코드가 있습니다.
history_id bigint 기록 이벤트의 식별자입니다. 각 기록 이벤트는 정책을 실행하는 한 번의 시도를 나타냅니다. 조건에는 여러 조건 식과 여러 대상이 있을 수 있으므로 history_id 여러 세부 레코드를 만들 수 있습니다. history_id 열을 사용하여 이 보기를 syspolicy_policy_execution_history 보기에 조인합니다.
target_query_expression nvarchar(max) 정책 및 syspolicy_policy_execution_history 뷰의 대상입니다.
execution_date 날짜/시간 세부 레코드가 생성된 날짜 및 시간입니다.
result bit 이 대상 및 조건식 평가의 성공 또는 실패:

0(성공) 또는 1(실패).
result_detail nvarchar(max) 결과 메시지입니다. 패싯에서 제공하는 경우에만 사용할 수 있습니다.
exception_message nvarchar(max) 예외가 발생한 경우 예외에 의해 생성된 메시지입니다.
exception nvarchar(max) 예외가 발생한 경우 예외에 대한 설명입니다.

설명

정책 기반 관리 문제를 해결하는 경우 syspolicy_policy_execution_history_details 보기를 쿼리하여 실패한 대상 및 조건식 조합을 확인하고 실패한 경우 관련 오류를 검토합니다.

다음 쿼리는 뷰와 syspolicy_policies 뷰를 syspolicy_policy_execution_history_details 결합하여 syspolicy_policy_execution_history_details 정책 이름, 조건 이름 및 오류에 대한 세부 정보를 표시합니다.

SELECT Pol.name AS Policy,   
Cond.name AS Condition,   
PolHistDet.target_query_expression,   
PolHistDet.execution_date,   
PolHistDet.result,   
PolHistDet.result_detail,   
PolHistDet.exception_message,   
PolHistDet.exception   
FROM msdb.dbo.syspolicy_policies AS Pol  
JOIN msdb.dbo.syspolicy_conditions AS Cond  
    ON Pol.condition_id = Cond.condition_id  
JOIN msdb.dbo.syspolicy_policy_execution_history AS PolHist  
    ON Pol.policy_id = PolHist.policy_id  
JOIN msdb.dbo.syspolicy_policy_execution_history_details AS PolHistDet  
    ON PolHist.history_id = PolHistDet.history_id  
WHERE PolHistDet.result = 0 ;  

사용 권한

msdb 데이터베이스에서 PolicyAdministratorRole 역할의 구성원 자격이 필요합니다.

정책 기반 관리를 사용하여 서버 관리
정책 기반 관리 뷰(Transact-SQL)