Partilhar via


syspolicy_policy_execution_history_details (Transact-SQL)

Exibe as expressões de condição que foram executadas as diretivas, os destinos das expressões, o resultado de cada execução e os detalhes sobre erros, se houver. A tabela a seguir descreve as colunas na exibição syspolicy_execution_history_details.

Nome da coluna

Tipo de dados

Descrição

detail_id

bigint

Identificador deste registro. Cada registro representa a tentativa para avaliar ou obrigar uma expressão de condição em uma diretiva. Se aplicado a vários destinos, cada condição terá um registro de detalhe para cada destino.

history_id

bigint

Identificador do evento de histórico. Cada evento de histórico representa um tentativa para executar uma política. Como uma condição pode ter várias expressões de condição e vários destinos, um history_id pode criar vários registros de detalhe. Use a coluna history_id para unir esta exibição à exibição syspolicy_policy_execution_history.

target_query_expression

nvarchar(max)

Destino da diretiva e da exibição syspolicy_policy_execution_history.

execution_date

datetime

Data e hora em que este registro de detalhe foi criado.

result

bit

Êxito ou falha deste destino e a avaliação de expressão de condição:

0 (êxito) ou 1 (falha).

result_detail

nvarchar(max)

Mensagem resultante. Só disponível se fornecido pela faceta.

exception_message

nvarchar(max)

Mensagem gerada pela exceção, se houver.

exception

nvarchar(max)

Descrição da exceção, se houver.

Comentários

Quando você estiver solucionando problemas de Gerenciamento Baseado em Diretivas, consulte a exibição syspolicy_policy_execution_history_details para determinar qual destino e quais combinações de expressão de condição falharam, quando a falha ocorreu e para revisar os erros relatados.

A consulta a seguir combina a exibição syspolicy_policy_execution_history_details com as exibições syspolicy_policy_execution_history_details e syspolicy_policies para exibir o nome da diretiva, o nome da condição e os detalhes das falhas.

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 ;

Permissões

Requer a associação à função PolicyAdministratorRole no banco de dados msdb.