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 역할의 구성원 자격이 필요합니다.