此監視器會檢查每分鐘的報表執行失敗次數,是否未超出臨界值 (以絕對值表示)。此監視器只會在連續數次檢查失敗時,才發出警示並變更其狀態。注意: 此監視器預設為停用。如有需要,請使用覆寫加以啟用。
此監視器會檢查每分鐘報表執行失敗次數,是否未超出臨界值 (以絕對值表示)。此監視器只會在連續數次檢查失敗時,才發出警示並變更其狀態。
報表執行可能會因為多種不同的原因失敗。以下列出其中一部分原因:
報表特有的設計問題
權限問題導致報表無法顯示
尚未正確地設定 SSRS
像是伺服器中記憶體使用量、CPU 使用率的資源問題
SSRS 伺服器與類別目錄資料庫之間的連線中斷
SSRS 伺服器與要從中提取報表資料之目標伺服器間的連線中斷
下列 TechNet 文章會逐步解說各種可以用來找出報表轉譯失敗原因的疑難排解步驟及其修正方法:
名稱 | 描述 | 預設值 |
已啟用 | 啟用或停用工作流程 | 否 |
產生警示 | 定義工作流程是否會產生警示 | 是 |
間隔 (秒) | 執行工作流程的週期性時間間隔 (秒)。 | 300 |
範例數 | 指出變更狀態前,測量值違反臨界值的次數。 | 6 |
同步處理時間 | 使用 24 小時制指定的同步處理時間。將會忽略。 |
|
臨界值 | 此監視器會檢查每分鐘的報表執行失敗次數,是否未超出臨界值 (以絕對值表示)。 | 100 |
資料庫連線的逾時 | 若工作流程無法在指定的期限之內存取資料庫,將會失敗並登錄一則事件。 | 200 |
逾時 (秒) | 指定允許工作流程在關閉且標示為失敗之前執行的時間。 | 300 |
Target | Microsoft.SQLServer.2012.ReportingServices.Instance | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2012.ReportingServices.MonitorType.Instance.ReportsExecutionFailure | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2012.ReportingServices.UnitMonitor.Instance.ReportsExecutionFailure" Accessibility="Public" Enabled="false" Target="SQLRS!Microsoft.SQLServer.2012.ReportingServices.Instance" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2012.ReportingServices.MonitorType.Instance.ReportsExecutionFailure" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2012.ReportingServices.UnitMonitor.Instance.ReportsExecutionFailure.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='ExecutionFailures']$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Warning" MonitorTypeStateID="Error" HealthState="Warning"/>
<OperationalState ID="Success" MonitorTypeStateID="Success" HealthState="Success"/>
</OperationalStates>
<Configuration>
<Threshold>100</Threshold>
<SampleCount>6</SampleCount>
<IntervalSeconds>300</IntervalSeconds>
<TimeOut>200</TimeOut>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>