The monitor checks if the number of failed report executions per minute does not exceed the threshold expressed as an absolute value. The monitor will raise an alert and change its state only when several consecutive checks have failed. Note: This monitor is disabled by default. Please use overrides to enable it when necessary.
The monitor checks if the number of failed report executions per minute does not exceed the threshold expressed as an absolute value. The monitor will raise an alert and change its state only when several consecutive checks have failed.
Report executions can fail for a variety of reasons. Some of them can be as follows:
Specific design issues with the report
Permissions issues that are prohibiting the report rendering
SSRS has not been configured correctly
Resource issues like memory, CPU utilization in the server
Connectivity loss between the SSRS server and Catalog database
Connectivity loss between the SSRS server and the server from which the data for the report is being pulled
The following articles walk through various troubleshooting steps that can be taken to identify the reasons of report rendering failures and how to resolve them:
Troubleshooting Techniques for Report Problems
Troubleshooting Reports: Report Design
Troubleshooting Reports: Report Data Retrieval
Troubleshooting Reports: Report Processing
Troubleshooting Reports: Report Rendering
Troubleshooting Reports: Publishing or Viewing a Report on a Report Server in Native Mode
Name | Description | Default Value |
Enabled | Enables or disables the workflow | No |
Generates Alerts | Defines whether the workflow generates an Alert | Yes |
Interval (seconds) | The recurring interval of time in seconds in which to run the workflow. | 300 |
Number of samples | Indicates how many times a measured value should breach a threshold before the state is changed. | 6 |
Synchronization Time | The synchronization time specified by using a 24-hour format. May be omitted. |
|
Threshold | The monitor checks if the number of failed report executions per minute doesn’t exceed the threshold expressed as an absolute value. | 100 |
Timeout for database connection (seconds) | The workflow will fail and register an event if it cannot access the database during the specified period. | 15 |
Timeout (seconds) | Specifies the time the workflow is allowed to run before being closed and marked as failed. | 300 |
Target | Microsoft.SQLServer.ReportingServices.Windows.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.ReportingServices.Windows.MonitorType.Instance.ReportsExecutionFailure | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.ReportingServices.Windows.Monitor.Instance.ReportsExecutionFailure" Accessibility="Public" Enabled="false" Target="RsDiscW!Microsoft.SQLServer.ReportingServices.Windows.Instance" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.ReportingServices.Windows.MonitorType.Instance.ReportsExecutionFailure" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.ReportingServices.Windows.Monitor.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>
<MachineName>$Target/Property[Type='RsCore!Microsoft.SQLServer.ReportingServices.Core.Instance']/MachineName$</MachineName>
<InstanceName>$Target/Property[Type='RsCore!Microsoft.SQLServer.ReportingServices.Core.Instance']/InstanceName$</InstanceName>
<DBConnectionString>$Target/Property[Type='RsCore!Microsoft.SQLServer.ReportingServices.Core.Instance']/DBConnectionString$</DBConnectionString>
<DBName>$Target/Property[Type='RsCore!Microsoft.SQLServer.ReportingServices.Core.Instance']/DBName$</DBName>
<SQLCounterName>ExecutionFailures</SQLCounterName>
<PropertyBagName>ExecutionFailures</PropertyBagName>
<Threshold>100</Threshold>
<SampleCount>6</SampleCount>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>