Verwalten von Datenbankwartezeiten mithilfe des Skripts "Troubleshoot-DatabaseLatency.ps1" in der Shell

 

Gilt für: Exchange Server 2010 SP2, Exchange Server 2010 SP3

Letztes Änderungsdatum des Themas: 2016-11-28

Das Skript Troubleshoot-DatabaseLatency.ps1 wird von Microsoft System Center Operations Manager 2007 verwendet, um lange Wartezeiten einer Datenbank zu erkennen und zu korrigieren. Sie können mithilfe des Taskplaners einen geplanten Task zur Ausführung des Skripts erstellen. Datenbankwartezeiten können durch eine Reihe von Problemen wie den folgenden verursacht werden:

  • Datenträgerwartezeiten aufgrund eines fehlerhaften Datenträgers   Sehr lange, gleichbleibende Wartezeiten bei Lese- und Schreibvorgängen auf Datenträgern können durch fehlerhafte Datenträger verursacht werden.

  • Domänencontrollerwartezeiten   Ein Domänencontroller weist möglicherweise lange Wartezeiten für Antworten auf LDAP-Suchabfragen auf.

  • Hohe Benutzerarbeitsauslastung   Benutzer, die umfangreiche Operationen durchführen, können Datenbankwartezeiten verursachen.

Das Skript Troubleshoot-DatabaseLatency.ps1 führt die folgenden Aktionen aus:

  1. Überprüft, ob Datenbankwartezeiten über dem Wartezeitschwellenwert liegen (wie durch den Parameter LatencyThreshold angegeben). Der Standardwert beträgt 70 Millisekunden (ms).

  2. Überprüft, ob die Rate der Übertragungen pro Sekunde des Datenträgers kleiner als der Leistungsindikator "DiskReadRateThreshold" und ob die Rate der Sekunden pro Übertragung des Datenträgers größer als der Leistungsindikator "DiskReadLatencyThreshold" ist. Ist dies der Fall, legt das Skript fest, dass der Datenträger ersetzt werden muss, da er trotz niedriger Arbeitsauslastung hohe Wartezeiten verursacht.

  3. Überprüft, ob ein einzelner Benutzer in den letzten 10 Minuten mehr als einen Thread für einen längeren Zeitraum als durch den Parameter TimeInServerThreshold angegeben verwendet hat. Ist dies der Fall, trägt der Benutzer wahrscheinlich zu den hohen Wartezeiten bei. Daher wird das Benutzerpostfach unter Quarantäne gestellt. Das Benutzerpostfach wird für sechs Stunden unter Quarantäne gestellt, und der Benutzer hat in dieser Zeit keinen E-Mail-Zugriff.

Die im Skript Troubleshoot-DatabaseLatency.ps1 verwendeten Standardeinstellungen sind im Skript StoreTSConstants.ps1 definiert.

Hinweis

Ein Skript muss über den Ordner ausgeführt werden, in dem es sich befindet. Mit Exchange 2010 installierte Skripts werden standardmäßig im Pfad "C:\Programme\Microsoft\Exchange Server\V14\Scripts" installiert. Skripts werden in der Shell nicht automatisch geladen. Allen Skripts muss das Präfix ".</STRONG>" vorangestellt werden, um ein Skript aus der lokalen Datei auszuführen. Geben Sie beispielsweise .\SampleScript.ps1 ein, um das Skript "SampleScript.ps1" auszuführen. Geben Sie "C:\Programme\Microsoft\Exchange Server\V14\Scripts\SampleScript.ps1" ein, um ein Skript auszuführen und den standardmäßigen Installationspfad anzugeben. Weitere Informationen finden Sie unter Skripterstellung mit der Exchange-Verwaltungsshell.

Verwenden des Skripts "Troubleshoot-DatabaseLatency.ps1"

Bevor Sie dieses Verfahren ausführen können, müssen Ihnen die entsprechenden Berechtigungen zugewiesen werden. Informationen zu den von Ihnen benötigten Berechtigungen finden Sie unter "Postfachdatenbanken" im Thema Postfachberechtigungen.

Im folgenden Parametersyntaxsatz und in der Tabelle sind die Parameter aufgeführt, die zum Erkennen und Beheben von Problemen mit der Datenbankwartezeit verwendet werden können:

Troubleshoot-DatabaseLatency.ps1 -MailboxDatabaseName <DatabaseID> [-LatencyThreshold <1-200>] [-TimeInServerThreshold <1-600000>] [-Quarantine <switch>] [-MonitoringContext <switch>]
Parameter Erforderlich Beschreibung

MailboxDatabaseName

Erforderlich

Der Parameter MailboxDatabase gibt die Postfachdatenbank an, deren Datenbankwartezeit Sie überwachen.

Dieser Parameter akzeptiert die folgenden Werte:

  • GUID

  • Distinguished Name (DN)

  • Datenbankname

LatencyThreshold

Optional

Der Parameter LatencyThreshold gibt die Dauer in Millisekunden an, für die sich die Datenbank im Leerlauf befinden kann, bevor sie als langsam angesehen wird.

Der Standardwert ist 70 ms.

MonitoringContext

Optional

Der Parameter MonitoringContext gibt an, ob die Ergebnisse des Befehls in das Anwendungsereignisprotokoll geschrieben werden. Wenn Sie diesen Wert nicht angeben, wird das Ereignisprotokoll an die folgende Stelle in der Ereignisanzeige geschrieben:

Ereignisanzeige > Anwendungs- und Dienstprotokolle > Microsoft > Microsoft-Exchange-Troubleshooters/Operational.

Sie müssen für diesen Parameter keinen Wert angeben.

Quarantine

Optional

Der Parameter Quarantine gibt an, dass Benutzer mit hohem Datenverkehrsaufkommen, die zu hohen Wartezeiten beitragen, unter Quarantäne gestellt werden. Wenn Sie diesen Parameter nicht angeben, werden keine Benutzer unter Quarantäne gestellt.

Sie müssen für diesen Parameter keinen Wert angeben.

TimeInServerThreshold

Optional

Der Parameter TimeInServerThreshold gibt an, wie viel Zeit (in Sekunden) für jede Benutzeraktivität, für die der Exchange-Informationsspeicher einen Thread verwendet, pro Minute für ein einzelnes Postfach verfügbar ist, bevor das Postfach als Gefahr für den Status der Datenbank eingestuft wird. Die Anzahl von Sekunden wird gemessen, indem die Zeit zusammengefasst wird, in der alle Threads im Auftrag des Postfachs (während des vom Cmdlet Get-StoreUsageStatistics berichteten Zeitraums) im Exchange-Informationsspeicher ausgeführt werden. Die pro Minute angegebene Anzahl von Sekunden mit Aktivität wird durch Teilen der zusammengefassten Anzahl durch den vom Cmdlet Get-StoreUsageStatistics berichteten Zeitraum (standardmäßig 10 Minuten) berechnet.

Wenn Sie diesen Parameter beispielsweise auf 80 Sekunden festlegen und ein einzelner Benutzer mehr als einen Thread innerhalb eines Zeitraums von 10 Minuten länger als 80 Sekunden verwendet, wird ein Ereignisfehler zurückgegeben. Wenn Sie den Parameter Quarantine angeben, wird ein Ereignisfehler zurückgegeben und das Benutzerpostfach für sechs Stunden unter Quarantäne gestellt.

Die Standardeinstellung ist 200 Sekunden.

Beispiel

In diesem Beispiel wird das Skript Troubleshoot-DatabaseLatency.ps1 mit den folgenden Einstellungen ausgeführt:

  • Der Parameter LatencyThreshold wird auf 100 ms festgelegt. Wenn sich die Datenbank über 100 ms lang im Leerlauf befindet, wird ein Fehler zurückgegeben.

  • Der Parameter TimeInServerThreshold ist auf 80 Sekunden festgelegt. Wenn ein einzelner Benutzer innerhalb eines Zeitraums von 10 Minuten mehr als einen Thread länger als 80 Sekunden verwendet, wird dieser Benutzer unter Quarantäne gestellt.

.\Troubleshoot-DatabaseLatency.ps1 -MailboxDatabaseName MBD01 -LatencyThreshold 100 -TimeInServerThreshold 80 -Quarantine

Hinweis

In diesem Beispiel wird gezeigt, wie der Befehl einmal manuell ausgeführt wird. Damit der Problembehandlung die Daten zur Verfügung stehen, die sie für die effektive Überwachung der Datenbank benötigt, müssen Sie diesen Befehl regelmäßig ausführen. Wenn Sie diesen Task einrichten möchten, sollten Sie den Taskplaner im Microsoft Windows-Betriebssystem verwenden. Weitere Informationen finden Sie unter Aufgabenplanung (Übersicht).

Anzeigen der Ausgabe der Problembehandlung für die Datenbankwartezeit

Die Ergebnisse des Skripts Troubleshoot-DatabaseLatency.ps1 sind an folgender Stelle in der Ereignisanzeige verfügbar: Ereignisanzeige > Anwendungs- und Dienstprotokolle > Microsoft > Microsoft-Exchange-Troubleshooters/Operational.

Im Folgenden finden Sie beispielsweise eine Ausgabe der Ereignis-ID 5111. Diese Ausgabe wird bei einer fehlerfreien Ausführung des Skripts zurückgegeben.

Die Problembehandlung für die Datenbankwartezeit hat festgestellt, dass die aktuelle Wartezeit von 1 ms für die Datenbank "MBD01" unterhalb des Schwellenwerts von 100 ms liegt.

In der folgenden Tabelle wird die Ereignis-ID, die Beschreibung des Ereignisses und ggf. die durchzuführende Aktion angezeigt.

Hinweis

Bei den Beschreibungen in dieser Tabelle handelt es sich um Beispiele für die Informationen, die in den Ereignissen enthalten sein können.

Ereignis-ID Beschreibung Aktion

5110

Die Problembehandlung für die Datenbankwartezeit wurde auf Datenbank "MBD01" gestartet.

Nur zur Information. Es ist keine Aktion erforderlich.

5111

Die Problembehandlung für die Datenbankwartezeit hat festgestellt, dass die aktuelle Wartezeit von 30 ms für die Datenbank "MBD01" unterhalb des Schwellenwerts von 70 ms liegt.

Nur zur Information. Es ist keine Aktion erforderlich.

5411

Die Problembehandlung für die Datenbankwartezeit hat den Benutzer "f3bb8007-b6d1-45f5-b748-211d66fa43f6" in Datenbank "MBD01" aufgrund ungewöhnlicher Aktivitäten im Postfach unter Quarantäne gestellt. Wenn das Problem weiterhin besteht, ist ein Benutzereingriff erforderlich.

Warnungsereignis: Die Überwachung wird fortgesetzt.

5412

Die Problembehandlung für die Datenbankwartezeit hat ein Problem mit Benutzer "f3bb8007-b6d1-45f5-b748-211d66fa43f6" in Datenbank "MBD01" aufgrund ungewöhnlicher Aktivitäten im Postfach festgestellt. Der Benutzer wurde nicht unter Quarantäne gestellt, da der Parameter Quarantine nicht angegeben wurde. Wenn das Problem weiterhin besteht, ist ein Benutzereingriff erforderlich.

Warnungsereignis: Die Überwachung wird fortgesetzt.

5710

Die Problembehandlung für die Datenbankwartezeit hat festgestellt, dass die Datenträgerwartezeit für die Datenbank "MBD01" nicht ordnungsgemäß ist. Sie müssen den Datenträger ersetzen.

Fehlerereignis: Sie müssen den Datenträger ersetzen. Wenden Sie sich an den Hardwarehersteller, wenn Sie weitere Informationen wünschen.

5712

Die Problembehandlung für die Datenbankwartezeit hat hohe durchschnittliche RPC-Wartezeiten für die Datenbank "MBD01" festgestellt, konnte die Ursache dafür jedoch nicht erkennen. Ein Benutzereingriff ist erforderlich.

Fehlerereignis: Der Ursache der Wartezeit konnte nicht bestimmt werden. Sie sollten eine Speicherabbilddatei erstellen und analysieren, um die Ursache des Problems zu finden.

Für Windows Vista, Windows 7 oder Windows Server 2008 finden Sie weitere Informationen unter Erstellen einer Prozess-Speicherabbilddatei im Benutzermodus.

Für Windows Server 2003 oder frühere Versionen finden Sie weitere Informationen unter Verwenden des Dienstprogramms "Userdump.exe" zum Erstellen einer Speicherabbilddatei.

 © 2010 Microsoft Corporation. Alle Rechte vorbehalten.