如果以占报表执行总数的百分比表示的失败的报表执行数高于阈值,监视器将发出警报。仅当多个连续检查失败时,监视器才会引发警报,并更改其状态。
如果以占报表执行总数的百分比表示的失败的报表执行数高于阈值,监视器将发出警报。仅当多个连续检查失败时,监视器才会引发警报,并更改其状态。
报表执行可能会因多种原因失败,其中一些原因包括:
报告的特定设计问题
禁止报表呈现的权限问题
SSRS 配置错误
资源问题,如服务器上的内存、CPU 利用率
SSRS 服务器和目录数据库之间的连接丢失
SSRS 服务器和用于请求报表数据的服务器之间的连接丢失
以下 TechNet 文章将演示各种故障排除步骤,这些内容可用于确定报表呈现失败的原因以及如何修复这些问题:
名称 | 说明 | 默认值 |
已启用 | 启用或禁用工作流 | 是 |
生成警报 | 定义工作流是否生成警报 | 是 |
间隔(秒) | 运行工作流的重复间隔时间(秒)。 | 300 |
样本数 | 指示在状态发生更改之前测量值应违反阈值的次数。 | 6 |
同步时间 | 使用 24 小时格式指定的同步时间。可以忽略。 |
|
阈值 | 如果以占报表执行总数的百分比表示的失败的报表执行数高于阈值,监视器将发出警报。 | 50 |
数据库连接超时 | 如果在指定期间无法访问数据库,工作流将失败并注册一个事件。 | 200 |
超时(秒) | 指定允许工作流在被关闭并标记为失败之前运行的时间。 | 300 |
Target | Microsoft.SQLServer.2014.ReportingServices.DeploymentWatcher | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2014.ReportingServices.MonitorType.DeploymentWatcher.NumberOfFailedReportExecutions | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2014.ReportingServices.UnitMonitor.DeploymentWatcher.NumberOfFailedReportExecutions" Accessibility="Public" Enabled="true" Target="SQLRS!Microsoft.SQLServer.2014.ReportingServices.DeploymentWatcher" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2014.ReportingServices.MonitorType.DeploymentWatcher.NumberOfFailedReportExecutions" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2014.ReportingServices.UnitMonitor.DeploymentWatcher.NumberOfFailedReportExecutions.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='ExecutionFailed']$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Warning" MonitorTypeStateID="Warning" HealthState="Warning"/>
<OperationalState ID="Success" MonitorTypeStateID="Success" HealthState="Success"/>
</OperationalStates>
<Configuration>
<Threshold>50</Threshold>
<NumSamples>6</NumSamples>
<IntervalSeconds>300</IntervalSeconds>
<TimeOut>200</TimeOut>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>