次の方法で共有


syspolicy_policy_execution_history_details (Transact-SQL)

実行された条件式、式の対象、各実行の結果、およびエラーの詳細 (発生した場合) を表示します。次の表では、syspolicy_execution_history_details ビューの列について説明します。

列名

データ型

説明

detail_id

bigint

このレコードの識別子。各レコードは、ポリシーに含まれる 1 つの条件式に関する評価または適用の試行を表します。複数の対象に適用された場合、条件ごと、対象ごとに明細レコードが作成されます。

history_id

bigint

履歴イベントの識別子。各履歴イベントは、ポリシー実行の試行 1 回を表します。条件には複数の条件式や複数の対象が含まれる場合があるため、1 つの history_id に対して複数の詳細レコードが作成されることもあります。このビューを syspolicy_policy_execution_history ビューと結合するには history_id 列を使用します。

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 ;

権限

msdb データベースの PolicyAdministratorRole ロールのメンバシップが必要です。