syspolicy_policy_execution_history_details (Transact-SQL)
適用対象: SQL サーバー
実行された条件式、式のターゲット、各実行の結果、発生した場合のエラーの詳細を表示します。 次の表では、syspolicy_execution_history_details ビューの列について説明します。
列名 | データ型 | 説明 |
---|---|---|
detail_id | bigint | このレコードの識別子。 各レコードは、ポリシー内の 1 つの条件式を評価または適用しようとする試みを表します。 複数の対象に適用された場合、条件ごと、対象ごとに明細レコードが作成されます。 |
history_id | bigint | 履歴イベントの識別子。 各履歴イベントは、ポリシーを実行しようとする 1 つの試行を表します。 条件には複数の条件式や複数の対象が含まれる場合があるため、1 つの history_id に対して複数の詳細レコードが作成されることもあります。 history_id列を使用して、このビューを syspolicy_policy_execution_history ビューに結合します。 |
target_query_expression | nvarchar(max) | ポリシーおよび syspolicy_policy_execution_history ビューの対象。 |
execution_date | datetime | この詳細レコードが作成された日時。 |
結果 | 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 ロールのメンバーシップが必要です。