The monitor alerts when the number of sessions that are blocked longer than the configured 'WaitMinutes' setting exceeds the configured threshold.
The monitor alerts if the number of sessions blocked longer than the configured WaitMinutes setting exceeds the configured threshold. Blocking occurs when one session holds a lock on a specific resource, and another session attempts to acquire a conflicting lock type on the same resource. Blocking is an unavoidable characteristic of any database management system with lock-based concurrency. However, too much blocking can cause performance issues; so, the administrator may use this monitor to be aware when this condition lasts for a longer period than the configured 'WaitMinutes' setting for a number of sessions greater than the configured threshold.
Blocking can occur for numerous reasons, which are expected, but can also occur in scenarios, where it may be ameliorated without any loss of corresponding functionality required by the application consuming the data.
Resolution of blocking issues on a server requires knowledge of workload, requirements, and users, which the administrator must consider when deciding on a correct course of remediation. Remediation of blocking issues might include several potential actions, including but not limited to the following:
Adjust SSAS configuration settings to increase parallelism to avoid blocking due to resource contention. Configuration changes of this nature should not be performed on production databases with moderate or high business impact without preliminary testing and complete understanding of the implications.
Improve query performance in general for queries identified to be blocking.
Identify blocking session including processing operation, reduce the blocking by proper scheduling of processing jobs, tuning queries and setting proper timeout configuration.
Review database design for efficiency. Long running blocking jobs on a server may be improved through design or configuration changes. Therefore, to reduce their blocking severity the jobs can be scheduled for a time when the blocking will not have such severe consequences. Additional resources can also be added to the server if performance counters review denotes presence of performance bottleneck(s) leading to long blocking scenarios.
Increase the configured threshold and/or configured 'WaitMinutes' setting to avoid the alert.
Disable the monitor entirely if blocking is not a concern on the server.
Enables or disables the workflow.
Defines whether the workflow generates an Alert.
The recurring interval of time in seconds in which to run the workflow.
Number of samples
Indicates how many times a measured value should breach a threshold before the state is changed.
The synchronization time specified by using a 24-hour format. May be omitted.
Health state changes when the number of blocked sessions exceeds the threshold.
Specifies the time the workflow is allowed to run before being closed and marked as failed.
Sets the minimum waiting time for the session to be considered by the monitor.
|Alert Auto Resolve||True|
<UnitMonitor ID="Microsoft.SQLServer.AnalysisServices.Windows.Monitoring.Monitor.TabularDatabase.BlockedSessionsNumber" Target="SQLAS!Microsoft.SQLServer.AnalysisServices.Windows.TabularDatabase" TypeID="Microsoft.SQLServer.AnalysisServices.Windows.Monitoring.MonitorType.Database.BlockedSessionsNumber" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" ConfirmDelivery="false">
<OperationalState ID="Success" MonitorTypeStateID="Healthy" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="Critical" HealthState="Error"/>