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 | datetime | 建立此詳細數據記錄的日期和時間。 |
result | bit | 此目標與條件表示式評估的成功或失敗: 0 (成功) 或 1 (失敗)。 |
result_detail | nvarchar(max) | 結果訊息。 只有在Facet提供時才可使用。 |
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 角色的成員資格。