Number of failed report executions

Microsoft.SQLServer.ReportingServices.Core.Monitor.DeploymentWatcher.NumberOfFailedExecutions (UnitMonitor)

The monitor alerts if the number of failed report executions expressed as a percentage of total number of report executions is higher than the threshold. The monitor will raise an alert and change its state only when several consecutive checks have failed.

Knowledge Base article:

Summary

The monitor alerts if the number of failed report executions, expressed as a percentage of total number of report executions, is higher than the threshold. The monitor will raise an alert and change its state only when several consecutive checks have failed.

Causes

Report executions can fail for variety of reasons, some of them can be as follows:

Resolutions

The following technet articles walk through various troubleshooting steps that can be taken to identify the reasons of report rendering fails, and how to fix them:

Troubleshoot Reporting Services Report Issues

Troubleshoot Report Design Issues with Reporting Services

Troubleshoot Data Retrieval issues with Reporting Services Reports

Troubleshoot Processing of Reporting Services Reports

Troubleshoot Reporting Services Report Rendering Issues

Troubleshoot Publishing or Viewing a Report on a Native Mode Report Server

Overridable Parameters

Name

Description

Default Value

Enabled

Enables or disables the workflow

Yes

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 alerts, if the number of failed report executions expressed as a percentage of total number of report executions is higher than the threshold.

50

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

Element properties:

TargetMicrosoft.SQLServer.ReportingServices.Core.DeploymentWatcher
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.ReportingServices.Core.MonitorType.DeploymentWatcher.NumberOfFailedExecutions
RemotableTrue
AccessibilityPublic
Alert Message
SSRS: Number of failed report executions is too high
Number of failed report executions ({0} \%) is too high.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.ReportingServices.Core.Monitor.DeploymentWatcher.NumberOfFailedExecutions" Accessibility="Public" Enabled="true" Target="Microsoft.SQLServer.ReportingServices.Core.DeploymentWatcher" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.ReportingServices.Core.MonitorType.DeploymentWatcher.NumberOfFailedExecutions" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.ReportingServices.Core.Monitor.DeploymentWatcher.NumberOfFailedExecutions.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>
<DBMachineName>$Target/Property[Type='Microsoft.SQLServer.ReportingServices.Core.DeploymentWatcher']/DBServerName$</DBMachineName>
<DBInstanceName>$Target/Property[Type='Microsoft.SQLServer.ReportingServices.Core.DeploymentWatcher']/DBInstanceName$</DBInstanceName>
<DBConnectionString>$Target/Property[Type='Microsoft.SQLServer.ReportingServices.Core.DeploymentWatcher']/DBConnectionString$</DBConnectionString>
<DBName>$Target/Property[Type='Microsoft.SQLServer.ReportingServices.Core.DeploymentWatcher']/DBName$</DBName>
<Threshold>50</Threshold>
<NumSamples>6</NumSamples>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>