Anzahl der blockierten Sitzungen

Microsoft.SQLServer.2014.AnalysisServices.UnitMonitor.TabularDatabase.BlockedSessionsNumber (UnitMonitor)

Der Monitor warnt, wenn die Anzahl der Sitzungen, die schon länger blockiert sind als für die Einstellung "Wartezeit in Minuten" (WaitMinutes) konfiguriert, den konfigurierten Schwellenwert überschreitet.

Knowledge Base article:

Zusammenfassung

Der Monitor warnt, wenn die Anzahl der Sitzungen, die schon länger blockiert sind als für die Einstellung "Wartezeit in Minuten" (WaitMinutes) konfiguriert, den konfigurierten Schwellenwert überschreitet. Eine Blockierung tritt auf, wenn eine Sitzung eine bestimmte Ressource sperrt und eine zweite Sitzung versucht, für dieselbe Ressource einen in Konflikt stehenden Sperrtyp anzufordern. Die Blockierung ist ein unvermeidbares Merkmal von Datenbank-Managementsystemen mit sperrbasierter Parallelität. Zu viele Blockierungen können jedoch zu Leistungsproblemen führen. Administratoren können mithilfe dieses Monitors erkennen, wann eine solche Bedingung bei einer Anzahl von Sitzungen, die höher als der konfigurierte Schwellenwert ist, länger andauert als für die Einstellung "Wartezeit in Minuten" konfiguriert.

Ursachen

Blockierungen können aus zahlreichen erwartungsgemäßen Gründen auftreten, aber auch in Szenarien, in denen dieser Zustand verbessert werden kann, ohne dass den Daten abrufenden Anwendungen erforderliche Funktionalität verloren geht.

Lösungen

Für das Lösen von Blockierungsproblemen auf einem Server ist Kenntnis der Arbeitsauslastung, der Anforderungen und der Benutzer nötig. Ein Administrator muss diese Aspekte bei der Entscheidung über geeignete Maßnahmen zur Wiederherstellung berücksichtigen. Für das Beheben von Blockierungsproblemen kommen zahlreiche Maßnahmen in Betracht, insbesondere:

Extern

Konfigurieren von Servereigenschaften in Analysis Services

TechNet-Dokumentation zu Leistungsindikatoren (SSAS)

Leistungshandbuch für SSAS (mehrdimensional)

Parameter, die außer Kraft gesetzt werden können

Name

Beschreibung

Standardwert

Aktiviert

Aktiviert oder deaktiviert den Workflow

True (wahr)

Generiert Warnungen

Definiert, ob der Workflow eine Warnung generiert

True (wahr)

Intervall (Sekunden)

Das periodische Intervall in Sekunden, in dem der Workflow ausgeführt werden soll.

900

Anzahl der Stichproben

Der Integritätsstatus ändert sich, wenn die Anzahl der Schwellenwertverletzungen höher als die Mindestanzahl der Verletzungen oder gleich der Mindestanzahl der Verletzungen ist.

3

Synchronisierungszeit

Die in einem 24-Stunden-Format angegebene Synchronisierungszeit. Kann ausgelassen werden.

 

Kritischer Schwellenwert

Der Integritätsstatus ändert sich, wenn die Anzahl der blockierten Sitzungen den Schwellenwert überschreitet.

10

Wartezeit in Minuten

Der Parameter "Wartezeit in Minuten" definiert die Mindestwartezeit, bevor die Sitzung vom Monitor in Betracht gezogen wird.

1

Element properties:

TargetMicrosoft.SQLServer.2014.AnalysisServices.TabularDatabase
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2014.AnalysisServices.MonitorType.Database.BlockedSessionsNumber
RemotableTrue
AccessibilityPublic
Alert Message
SSAS 2014: Anzahl der gesperrten Sitzungen überschritten
{1} Sitzungen sind schon länger als {0} Min. blockiert. Diese Anzahl überschreitet den konfigurierten Schwellenwert für diese Warnung.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2014.AnalysisServices.UnitMonitor.TabularDatabase.BlockedSessionsNumber" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" Target="SQLAS!Microsoft.SQLServer.2014.AnalysisServices.TabularDatabase" TypeID="Microsoft.SQLServer.2014.AnalysisServices.MonitorType.Database.BlockedSessionsNumber" ParentMonitorID="SystemHealth!System.Health.PerformanceState" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2014.AnalysisServices.UnitMonitor.TabularDatabase.BlockedSessionsNumber.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='WaitTime']$</AlertParameter1>
<AlertParameter2>$Data/Context/Property[@Name='BlockedSPIDCount']$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="Healthy" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="Critical" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ServiceName>$Target/Host/Property[Type='SQLAS!Microsoft.SQLServer.2014.AnalysisServices.Instance']/ServiceName$</ServiceName>
<ConnectionString>$Target/Host/Property[Type='SQLAS!Microsoft.SQLServer.2014.AnalysisServices.Instance']/ConnectionString$</ConnectionString>
<DatabaseName>$Target/Property[Type="SQLAS!Microsoft.SQLServer.2014.AnalysisServices.Database"]/DatabaseName$</DatabaseName>
<Threshold>10</Threshold>
<SampleCount>4</SampleCount>
<WaitMinutes>1</WaitMinutes>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>