Anzahl der blockierten Sitzungen

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

Der Monitor warnt, wenn die Anzahl von 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 ohne einen Verlust der erforderlichen Funktionalität für die Anwendungen verbessert werden kann, die die Daten nutzen.

Lösungen

Für das Lösen von Blockierungsproblemen auf einem Server ist Kenntnis der Arbeitsauslastung, der Anforderungen und der Benutzer erforderlich. 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, einschließlich der folgenden:

Extern

Konfigurieren von Servereigenschaften in Analysis Services

TechNet-Dokumentation zu Leistungsindikatoren (SSAS)

Leitfaden zur Leistung für SSAS (mehrdimensional)

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

Name

Beschreibung

Standardwert

Aktiviert

Aktiviert oder deaktiviert den Workflow

Ja

Generiert Warnungen

Definiert, ob der Workflow eine Warnung generiert

Ja

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 von Schwellenwertverletzungen höher als die Mindestanzahl von Verletzungen ist oder dieser entspricht.

4

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

Timeout (Sekunden)

Gibt die Zeit an, die der Workflow ausgeführt werden darf, bevor er geschlossen und als fehlgeschlagen markiert wird.

300

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.MultidimensionalDatabase
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.MultidimensionalDatabase.BlockedSessionsNumber" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" Target="SQLAS!Microsoft.SQLServer.2014.AnalysisServices.MultidimensionalDatabase" 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.Database.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/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>