Поделиться через


Управление задержками базы данных путем запуска сценария Troubleshoot-DatabaseLatency.ps1 в командной консоли

 

Применимо к: Exchange Server 2010 SP2, Exchange Server 2010 SP3

Последнее изменение раздела: 2016-11-28

Сценарий Troubleshoot-DatabaseLatency.ps1 используется диспетчером Microsoft System Center Operations Manager 2007 для определения и исправления высоких значений задержек в базе данных. Можно создать запланированную задачу по запуску этого сценария с помощью планировщика заданий. Задержки в базах данных могут быть вызваны различными неполадками, в том числе следующими:

  • Задержки диска из-за повреждения диска   Слишком высокая задержка чтения с диска или записи на него может быть вызвана повреждением диска, если задержки наблюдаются на протяжении длительного времени.

  • Задержки контроллера домена   Контроллер домена может испытывать длительные задержки при ответе на запросы поиска LDAP.

  • Высокая рабочая пользовательская нагрузка   Выполнение сложных операций одним пользователем (или группой пользователей) может привести к задержкам в базах данных.

Сценарий Troubleshoot-DatabaseLatency.ps1 выполняет следующие действия:

  1. Проверяет, превышают ли значения задержек в базах данных пороговое значение задержки (указанное с помощью параметра LatencyThreshold). Значение по умолчанию — 70 миллисекунд (мс).

  2. Проверяет, является ли число передач в секунду для диска меньше значения счетчика производительности DiskReadRateThreshold, а время передачи в секундах для диска больше значения счетчика производительности DiskReadLatencyThreshold. Если это так, сценарий определяет необходимость замены диска, так как он работает в условиях небольшой нагрузки, но испытывает высокие задержки.

  3. Проверяет, превышается ли значение времени использования одним пользователем нескольких потоков за последние 10 минут, указанное с помощью параметра TimeInServerThreshold . Если это так, то работа именно этого пользователя, возможно, вызывает высокие задержки, и поэтому его почтовый ящик будет помещен на карантин. Почтовый ящик этого пользователя помещается на карантин на шесть часов, в течение которых пользователь не сможет получать доступ к электронной почте.

Параметры по умолчанию, используемые в сценарии Troubleshoot-DatabaseLatency.ps1, определяются в сценарии StoreTSConstants.ps1.

ПримечаниеПримечание.
Сценарий необходимо запустить из папки, в которой он находится. По умолчанию для установки сценариев Exchange 2010 используется каталог C:\Program Files\Microsoft\Exchange Server\V14\Scripts. Командная консоль не загружает сценарии автоматически. Чтобы запустить сценарий из локального файла, перед всеми сценариями необходимо ввести последовательность символов ".\". Например, чтобы запустить сценарий SampleScript.ps1, введите .\SampleScript.ps1. Чтобы запустить сценарий и указать пусть установки по умолчанию, введите "C:\Program Files\Microsoft\Exchange Server\V14\Scripts\SampleScript.ps1". Дополнительные сведения см. в статье Создание сценариев в среде управления Exchange.

Использование сценария Troubleshoot-DatabaseLatency.ps1

Для выполнения этой процедуры необходимы соответствующие разрешения. Сведения о необходимых разрешениях см. в разделе Запись «Базы данных почтовых ящиков» в разделе Разрешения для почтового ящика.

В следующей таблице приводится набор синтаксических правил для параметров, которые можно использовать для определения и устранения задержек в базах данных.

Troubleshoot-DatabaseLatency.ps1 -MailboxDatabaseName <DatabaseID> [-LatencyThreshold <1-200>] [-TimeInServerThreshold <1-600000>] [-Quarantine <switch>] [-MonitoringContext <switch>]
Параметр Обязательный Описание

MailboxDatabaseName

Обязательный

Параметр MailboxDatabase указывает базу данных почтовых ящиков, в которой выполняется отслеживание задержки в базе данных.

Этот параметр может иметь следующие значения:

  • идентификатор GUID;

  • различающееся имя (DN);

  • имя базы данных.

LatencyThreshold

Необязательный

Параметр LatencyThreshold указывает время простоя базы данных в миллисекундах перед переводом ее в неактивное состояние.

Значение по умолчанию — 70 мс.

MonitoringContext

Необязательный

Параметр MonitoringContext указывает, записываются ли результаты команды в журнал событий приложений. Если это значение не указано, журналы событий записываются в следующее расположение в окне «Просмотр событий»:

Окно «Просмотр событий» > Журналы приложений и служб > Microsoft > Средства устранения неполадок Microsoft Exchange/Операционные.

Указывать значение для этого параметра необязательно.

Quarantine

Необязательный

Параметр Quarantine указывает, какие активные пользователи, работа которых вызывает высокие задержки, будут помещены на карантин. Если этот параметр не задан, пользователи не будут помещены на карантин.

Указывать значение для этого параметра необязательно.

TimeInServerThreshold

Необязательный

Параметр TimeInServerThreshold указывает время выполнения определенной операции пользователя (в секундах в пределах одной минуты) для одного почтового ящика, для которой хранилище Exchange использует поток, до момента определения почтового ящика как опасного для работоспособности базы данных. Число секунд измеряется путем объединения временных интервалов, затраченных всеми потоками, работающими от имени этого почтового ящика (в течение периода, возвращенного командлетом Get-StoreUsageStatistics) в хранилище Exchange. Число секунд, отводимых на выполнение операции в пределах одной минуты, рассчитывается путем деления этого общего числа на значение периода, возвращенного командлетом Get-StoreUsageStatistics (значение по умолчанию — 10 минут).

Например, если для этого параметра указано значение 80 секунд и время использования нескольких потоков одним пользователем превышает 80 секунд за последние 10 минут, возвращается сообщение об ошибке события. При указании параметра Quarantine возвращается сообщение об ошибке события и почтовый ящик пользователя помещается на карантин на шесть часов.

Значение по умолчанию — 200 секунд.

Пример

В этом примере показано, как запускать сценарий Troubleshoot-DatabaseLatency.ps1 со следующими параметрами:

  • Для параметра LatencyThreshold установлено значение 100 мс. Если база данных находится в неактивном состоянии более 100 мс, возвращается сообщение об ошибке.

  • Для параметра TimeInServerThreshold установлено значение 80 секунд. Если время использования нескольких потоков одним пользователем превысит 80 секунд за последние 10 минут, этот пользователь будет помещен на карантин.

.\Troubleshoot-DatabaseLatency.ps1 -MailboxDatabaseName MBD01 -LatencyThreshold 100 -TimeInServerThreshold 80 -Quarantine
ПримечаниеПримечание.
В этом примере показано, как запустить эту команду один раз вручную. Чтобы собирать данные, которые требуются средству устранения неполадок для эффективного отслеживания баз данных, необходимо регулярно запускать эту команду. Рекомендуется использовать планировщик заданий в операционной системе Microsoft Windows для настройки этой задачи. Дополнительные сведения см. в разделе Обзор планировщика заданий.

Просмотр выходных данных средства устранения задержек в базах данных

В окне «Просмотр событий» результаты сценария Troubleshoot-DatabaseLatency.ps1 доступны в следующем расположении: Окно «Просмотр событий» > Журналы приложений и служб > Microsoft > Средства устранения неполадок Microsoft Exchange/Операционные.

Например, ниже приводятся выходные данные события с кодом 5111. Эти выходные данные будут возвращены, если сценарий выполнен успешно и без ошибок.

Средством устранения задержек в базах данных обнаружено, что текущая задержка на 1 мс для базы данных MBD01 меньше порогового значения, равного 100 мс.

В следующей таблице приводятся события с кодами, описаниями и необходимыми действиями.

ПримечаниеПримечание.
Описания в этой таблице являются примерами сведений, которые могут быть включены в эти события.
Код события Описание Действие

5110

Средство устранения задержек в базах данных запущено для базы данных MBD01.

Только сведения. Не требуется выполнять никаких действий.

5111

Средством устранения задержек в базах данных обнаружено, что текущая задержка на 30 мс для базы данных MBD01 меньше порогового значения, равного 70 мс.

Только сведения. Не требуется выполнять никаких действий.

5411

Средством устранения задержек в базах данных помещен на карантин почтовый ящик пользователя f3bb8007-b6d1-45f5-b748-211d66fa43f6 в базе данных MBD01 вследствие чрезмерной активности этого почтового ящика. Если проблема сохранилась, требуется вмешательство администратора.

Предупреждение. Продолжайте отслеживание.

5412

Средством устранения задержек в базах данных возникновение проблемы было связано с деятельностью пользователя f3bb8007-b6d1-45f5-b748-211d66fa43f6 в базе данных MBD01 вследствие чрезмерной активности почтового ящика. Этот почтовый ящик на карантин не помещался, так как параметр Quarantine не был задан. Если проблема сохранилась, требуется вмешательство администратора.

Предупреждение. Продолжайте отслеживание.

5710

Средством устранения задержек в базах данных обнаружены чрезмерные задержки диска для базы данных MBD01. Необходимо заменить диск.

Ошибка. Необходимо заменить диск. Обратитесь к изготовителю оборудования для получения инструкций по замене.

5712

Средством устранения задержек в базах данных обнаружены высокие средние задержки RPC для базы данных MBD01, но причину этих задержек определить не удалось. Требуется ручное вмешательство.

Ошибка. Не удалось определить причину задержки. Необходимо создать файл дампа и выполнить его анализ для определения причины проблемы.

Для Windows Vista, Windows 7 или Windows Server 2008 см. раздел Создание файла дампа процесса пользовательского режима.

Для Windows Server 2003 или предыдущей версии см. раздел Использование средства Userdump.exe для создания файла дампа.

 © Корпорация Майкрософт (Microsoft Corporation), 2010. Все права защищены.