The monitor changes its state and raises an alert if there are any failed report subscriptions or scheduled refresh plans.
The monitor alerts if there are any failed report subscriptions or scheduled refresh plans. It scans the 'LastStatus' column in the 'Subscriptions' table for statuses different from:
Was Written
Pending
Mail Sent
New Subscription
Been Saved
0 errors
Succeeded
Successfully Saved
New Cache
New Scheduled Refresh Plan
Refreshing
Streaming model to Analysis Server
Removing credentials from the model
Saving model to the catalog
Completed: Data Refresh
Report subscriptions and scheduled refresh plans may fail due to various reasons. For more information on what caused the failure, refer to "My subscriptions" on the reporting portal and "Scheduled refresh" on the Power BI reporting portal, respectively.
Possible reasons:
SMTP server failure for e-mail subscriptions
Windows file share is no longer available
Permissions required to connect to the windows file share are missing
Errors during generating report with data driven subscription
Driver related problems
Memory pressure
Kerberos configuration
Resolve all subscription issues on the portal
Delete not used failing subscriptions
Monitor Reporting Services Subscriptions
Troubleshoot scheduled refresh in Power BI Report Server
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. | 900 |
Synchronization Time | The synchronization time specified by using a 24-hour format. May be omitted. |
|
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.Core.DeploymentWatcher | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.ReportingServices.Core.MonitorType.DeploymentWatcher.FailedSubscriptions | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.ReportingServices.Core.Monitor.DeploymentWatcher.FailedSubscriptions" Accessibility="Public" Enabled="false" Target="Microsoft.SQLServer.ReportingServices.Core.DeploymentWatcher" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.ReportingServices.Core.MonitorType.DeploymentWatcher.FailedSubscriptions" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.ReportingServices.Core.Monitor.DeploymentWatcher.FailedSubscriptions.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='SubscriptionsFailed']$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Error"/>
<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>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>