syspolicy_policy_execution_history_details (Transact-SQL)

Показывает выполненные условные выражения, целевые объекты выполнения выражений, результат каждого выполнения и сведения об ошибках, возникших при выполнении. В следующей таблице описываются столбцы представления 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

datetime

Дата и время создания этой записи сведений.

result

bit

Успешный или неуспешный результат вычисления условного выражения для данного целевого объекта:

0 (успешное завершение) или 1 (неуспешное завершение)

result_detail

nvarchar(max)

Результирующее сообщение. Генерируется только в том случае, когда обеспечивается аспектом.

exception_message

nvarchar(max)

Сообщение, выданное в результате возникшего исключения.

exception

nvarchar(max)

Описание возникшего исключения.

Замечания

При устранении неполадок управления на основе политик с помощью запроса представления syspolicy_policy_execution_history_details можно определить, для каких сочетаний целевого объекта и условного выражения результат был неуспешным, когда это произошло, и просмотреть связанные ошибки.

Далее приводится запрос, сочетающий представления syspolicy_policy_execution_history_details, syspolicy_policy_execution_history_details и syspolicy_policies и выводящий имя политики, имя условия и подробные сведения об ошибках.

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 ;

Разрешения

Необходимо членство в роли PolicyAdministratorRole в базе данных msdb.