Контроль состояния зеркального отображения

Добавления: 14 апреля 2006 г.

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

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

  • Проверить работу зеркального отображения.
    Основное состояние включает сведения о том, работают ли два экземпляра сервера, соединены ли серверы, перемещается ли журнал с основного сервера на зеркальный.
  • Определить, согласована ли зеркальная база данных с основной базой данных.
    В высокопроизводительном режиме основной сервер может создавать очередь неотправленных записей журнала, которые требуется отправить с основного сервера на зеркальный. Более того, в любом режиме работы зеркальный сервер может создавать очередь записей журнала, которые были записаны в файл журнала, но все еще нуждаются в восстановлении в зеркальной базе данных.
  • Определить, сколько данных было потеряно, пока экземпляр основного сервера оставался недоступным в высокопроизводительном режиме.
    Можно определить потерю данных, посмотрев объем неотправленного журнала транзакций (при наличии) и интервала времени, в течение которого потерянные транзакции были зафиксированы на основном сервере.
  • Сравнить текущую производительность с прежней производительностью.
    В случае возникновения ошибок администратор базы данных может просмотреть историю производительности зеркального отображения, чтобы понять текущее состояние. Просмотр истории может позволить пользователю определить тенденции роста или снижения производительности, определить модели ошибок производительности (такие как время дня, когда у сети низкая пропускная способность или количество команд, входящих в журнал, слишком большое).
  • Устранить причину снижения потока данных между участниками зеркального отображения.
  • Установить пороги предупреждений для ключевых метрик производительности.
    Если новая строка состояния содержит значение, превышающее порог, в журнал событий Windows записывается информационное событие. Системный администратор может вручную настроить предупреждения по этим событиям. Дополнительные сведения см. в разделе Использование пороговых значений предупреждений и оповещений в метриках производительности зеркального отображения.

Средства для контроля над состоянием зеркального отображения базы данных

Состояние зеркального отображения можно контролировать с помощью монитора зеркального отображения базы данных или системной хранимой процедуры sp_dbmmonitorresults. Эти средства для контроля над зеркальным отображением любой зеркально отображаемой базы данных на экземпляре локального сервера могут использовать оба системных администратора (то есть члены фиксированной серверной роли sysadmin) и пользователи, добавленные в фиксированную роль dbm_monitor базы данных msdb системным администратором. При использовании любого из этих средств, системный администратор может также вручную обновлять состояние зеркального отображения.

ms365781.note(ru-ru,SQL.90).gifПримечание.
Системные администраторы могут так же настраивать и просматривать пороги предупреждений для ключевой метрики производительности. Дополнительные сведения см. в разделе Использование пороговых значений предупреждений и оповещений в метриках производительности зеркального отображения.
  • Монитор зеркального отображения базы данных.
    Монитор зеркального отображения базы данных представляет собой графический пользовательский интерфейс, позволяющий системным администраторам просматривать и обновлять состояние и настраивать пороги предупреждений на нескольких ключевых метриках производительности. Члены фиксированной роли базы данных dbm_monitor также могут использовать монитор зеркального отображения базы данных для просмотра самых последних строк таблицы состояния зеркального отображения, однако обновлять таблицу состояния они не могут.
    На мониторе отображается состояние, включая показатели производительности выбранной базы данных на вкладке Состояние. Содержимое данной страницы состоит из экземпляров основного и зеркального серверов. Эта страница заполняется асинхронно по мере сбора состояния в результате отдельных подключений к экземплярам основного и зеркального сервера. Монитор пытается обновлять таблицу состояния с интервалом в 30 секунд. Обновление завершается успешно только в случае, если таблица не обновлялась в течение 15 секунд, а пользователь является членом фиксированной серверной роли sysadmin. Дополнительные сведения о данных, отображаемых на странице Состояние см. в подразделе «Состояние, отображаемое монитором зеркального отображения базы данных» далее в этом разделе.
    Основные сведения об интерфейсе монитора зеркального отображения базы данных см. в разделе Обзор монитора зеркального отображения базы данных. Сведения о запуске монитора зеркального отображения базы данных см. в разделе Как запустить монитор зеркального отображения базы данных.

  • Системные хранимые процедуры.
    Получить или обновить текущее состояние можно с помощью системной хранимой процедуры sp_dbmmonitorresults. Другие хранимые процедуры из группы dbmmonitor позволяют настраивать мониторинг, изменять его параметры, просматривать текущий период обновления и отменять мониторинг на экземпляре сервера.
    В следующей таблице приведены хранимые процедуры для использования мониторинга зеркального отображения и управления им независимо от Монитора зеркального отображения базы данных.

    Процедура Описание

    sp_dbmmonitoraddmonitoring

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

    sp_dbmmonitorchangemonitoring

    Изменяет значение параметра мониторинга зеркального отображения базы данных.

    sp_dbmmonitorhelpmonitoring

    Возвращает текущий период обновления.

    sp_dbmmonitorresults

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

    sp_dbmmonitordropmonitoring

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

    Системные хранимые процедуры из группы dbmmonitor можно использовать в качестве дополнения к монитору зеркального отображения базы данных. Например, даже если мониторинг был настроен при помощи процедуры sp_dbmmonitoraddmonitoring, для просмотра состояния может использоваться монитор зеркального отображения базы данных.

Как работает мониторинг

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

Таблица состояния зеркального отображения базы данных

Состояние зеркального отображения базы данных хранится во внутренней, недокументированной таблице состояния зеркального отображения базы данных в базе данных msdb. Эта таблица создается автоматически при первом обновлении состояния зеркального отображения на экземпляре сервера.

Таблица состояния может обновляться автоматически или вручную системным администратором с минимальным интервалом обновления 15 секунд. Минимальный интервал 15 секунд предотвращает перегрузку экземпляров сервера запросами о состоянии.

Таблица состояния обновляется автоматически как монитором зеркального отображения базы данных, так и заданием монитора зеркального отображения базы данных, если она запущена. Задание монитора зеркального отображения базы данных по умолчанию обновляет эту таблицу раз в минуту (системный администратор может изменять интервал от 1 до 120 минут). Для сравнения: монитор зеркального отображения базы данных обновляет эту таблицу автоматически каждые 30 секунд. Для выполнения этих обновлений как Задание монитора зеркального отображения базы данных, так и монитор зеркального отображения базы данных вызывают процедуру sp_dbmmonitorupdate.

При первом запуске процедуры sp_dbmmonitorupdate создаются таблица состояния зеркального отображения базы данных и фиксированная роль базы данных dbm_monitor в базе данных msdb. Процедура sp_dbmmonitorupdate, как правило, обновляет состояние зеркального отображения посредством добавления новой строки в таблицу состояния для каждой зеркальной базы данных. Дополнительные сведения см. в подразделе «Таблица состояния зеркального отображения базы данных» этого раздела. Эта процедура также оценивает метрики производительности в новых строках и отсекает строки, превышающие текущий срок хранения (по умолчанию — 7 дней). Дополнительные сведения см. в разделе sp_dbmmonitorupdate (Transact-SQL).

ms365781.note(ru-ru,SQL.90).gifПримечание.
Если монитор зеркального отображения базы данных не используется в данный момент членом фиксированной серверной роли sysadmin, таблица состояния автоматически обновляется только в том случае, если существует Задание монитора зеркального отображения базы данных и запущен агент SQL Server.

Задание монитора зеркального отображения базы данных

Задание, контролирующее зеркальное отображение базы данных, Задание монитора зеркального отображения базы данных, работает независимо от монитора зеркального отображения базы данных. Задание монитора зеркального отображения базы данных создается автоматически только в том случае, если для запуска сеанса зеркального отображения используется среда SQL Server Management Studio. Если для запуска зеркального отображения всегда используются инструкции ALTER DATABASE имя_базы_данных SET PARTNER, это задание существует, только если администратор выполнит хранимую процедуру sp_dbmmonitoraddmonitoring.

После создания Задания монитора зеркального отображения базы данных при условии, что агент SQL Server запущен, это задание вызывается по умолчанию раз в минуту. Затем оно вызывает системную хранимую процедуру sp_dbmmonitorupdate.

По умолчанию, агент SQL Server раз в минуту вызывает Задание монитора зеркального отображения базы данных, после чего это задание вызывает процедуру sp_dbmmonitorupdate для обновления таблицы состояния. Системные администраторы могут изменить периодичность с помощью системной хранимой процедуры sp_dbmmonitorchangemonitoring и просмотреть текущий период обновления с помощью системной хранимой процедуры sp_dbmmonitorchangemonitoring. Дополнительные сведения см. в разделах sp_dbmmonitoraddmonitoring (Transact-SQL) и sp_dbmmonitorchangemonitoring (Transact-SQL).

Контроль над состоянием зеркального отображения базы данных (системными администраторами)

Члены фиксированной серверной роли sysadmin могут просматривать и обновлять таблицу состояния.

  • Использование монитора зеркального отображения базы данных.
    С помощью монитора зеркального отображения базы данных системный администратор может вручную обновлять страницу Состояние, дерево навигации или страницу Журнал. При этом также обновляется таблица состояния, если она еще не была обновлена в течение предыдущего 15-секундного периода.
    Чтобы просмотреть журнал состояния зеркального отображения на данном экземпляре сервера, системный администратор может также нажать кнопку Журнал для экземпляра сервера (на странице Состояние). Журнал отобразится в диалоговом окне Журнал зеркального отображения базы данных. В этом окне системный администратор может просматривать несколько или все строки таблицы состояния экземпляра сервера.
    Дополнительные сведения о метриках страницы Состояние см. в подразделе «Метрики производительности, отображаемые монитором зеркального отображения базы данных» далее в этом разделе.
  • Использование процедуры sp_dbmmonitorresults.
    Системные администраторы могут использовать системную хранимую процедуру sp_dbmmonitorresults для просмотра и, при необходимости, для обновления таблицы состояния, если она не была обновлена в предыдущие 15 секунд. Эта процедура в свою очередь вызывает процедуру sp_dbmmonitorupdate и возвращает одну или более строк журнала, в зависимости от количества, запрашиваемого при вызове процедуры. Дополнительные сведения о состоянии в результирующем наборе см. в разделе sp_dbmmonitorresults (Transact-SQL).

Контроль над состоянием зеркального отображения базы данных (членами роли dbm_monitor)

Как уже упоминалось, при первом выполнении процедуры sp_dbmmonitorupdate в базе данных msdb создается фиксированная роль dbm_monitor. Члены фиксированной роли базы данных dbm_monitor могут просматривать текущее состояние зеркального отображения при помощи монитора зеркального отображения базы данных или хранимой процедуры sp_dbmmonitorresults. Но эти пользователи не могут обновлять таблицу состояния. Чтобы узнать возраст отображаемого состояния, пользователь может посмотреть время в метках Журнал основной базы данных (<время>) и Журнал зеркальной базы данных (<время>) на странице Состояние.

Члены фиксированной роли базы данных dbm_monitor для обновления таблицы состояния через определенные промежутки времени полагаются на Задание монитора зеркального отображения базы данных. Если это задание не существует или агент SQL Server остановлен, состояние постепенно устаревает и может более не отражать реальную конфигурацию сеанса зеркального отображения. Например, после перехода на другой ресурс может оказаться, что партнеры используют одинаковую роль основного или зеркального сервера, или текущий основной сервер может отображаться как зеркальный, в то время как текущий зеркальный сервер отображается как основной.

Удаление задания монитора зеркального отображения базы данных

Задание, контролирующее зеркальное отображение базы данных, Задание монитора зеркального отображения базы данных, работает до своего удаления. Контролирующее задание должно управляться системным администратором. Чтобы удалить Задание монитора зеркального отображения базы данных, используйте процедуру sp_dbmmonitordropmonitoring. Дополнительные сведения см. в разделе sp_dbmmonitordropmonitoring (Transact-SQL).

Состояние, отображаемое монитором зеркального отображения базы данных

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

ms365781.note(ru-ru,SQL.90).gifПримечание.
Основные сведения о мониторе зеркального отображения базы данных и странице Состояние см. в подразделе «Средства для контроля над состоянием зеркального отображения базы данных» выше в этом разделе.

Краткая информация о каждом из них приведена в следующих разделах.

Участники

На странице Состояние отображаются следующие сведения о каждом из участников.

  • Экземпляр сервера.
    Имя экземпляра сервера, состояние которого отображается в строке Состояние.
  • Текущая роль.
    Текущая роль этого экземпляра сервера. Возможные состояния:
    • основной сервер;
    • зеркальный сервер.
  • Состояние зеркального отображения.
    Возможные состояния:
    • неизвестно;
    • синхронизация;
    • синхронизировано;
    • приостановлено;
    • отсоединено.
  • Подключение следящего сервера.
    Состояние подключение следящего сервера. Возможные состояния:
    • неизвестно;
    • подключен;
    • отключен.

Журнал основного сервера

На странице Состояние отображаются следующие сведения о состоянии журнала на основном сервере на указанный момент времени.

  • Неотправленный журнал.
    Объем данных журнала в очереди на отправку в килобайтах (КБ).
  • Самая старая неотправленная транзакция.
    Возраст самой старой неотправленной транзакции в очереди на отправку. Возраст транзакции является количеством минут, в течение которых транзакции уже не отправляются на экземпляр зеркального сервера. Это значение позволяет оценить потенциальные потери данных по времени.
  • Время на отправку журнала (предполагаемое).
    Предполагаемое количество минут, необходимых экземпляру основного сервера для отправки журнала, находящегося в очереди на отправку на экземпляр зеркального сервера, на основании текущей скорости отправки. Фактическое время отправки журнала будет зависеть от скорости входящих транзакций, которая может сильно различаться. Однако значение Время на отправку журнала (предполагаемое) может быть полезно для приблизительной оценки времени, необходимого для ручного перехода на другой ресурс.
  • Текущая скорость отправки.
    Скорость, с которой транзакции отправляются на экземпляр зеркального сервера, в КБ в секунду.
  • Текущая скорость новых транзакций.
    Скорость, с которой входящие транзакции попадают в журнал основного сервера, в КБ в секунду. Чтобы определить отставание зеркального отображения, задержку или запаздывание, сравните это значение со значением Предполагаемое время на отправку журнала.

Журнал зеркального сервера

На странице Состояние отображаются следующие сведения о состоянии журнала на зеркальном сервере на указанный момент времени.

  • Невосстановленный журнал.
    Объем данных журнала в очереди повторов в килобайтах (КБ).
  • Время на восстановление журнала (предполагаемое).
    Приблизительное количество минут, необходимых для применения журнала, находящегося в очереди повторов, к зеркальной базе данных.
  • Текущая скорость восстановления.
    Скорость, с которой транзакции восстанавливаются в зеркальной базе данных (в КБ в секунду).

Сеанс зеркального отображения

Кроме того, на странице Состояние отображаются следующие сведения о сеансе зеркального отображения.

  • Затраты на фиксацию изменений на зеркальном сервере.
    Среднее значение задержки на транзакцию в миллисекундах (имеет смысл только в режиме высокой безопасности). Задержка — это объем дополнительной нагрузки во время ожидания экземпляром основного сервера экземпляра зеркального сервера для добавления записи журнала транзакции в очередь повтора.
  • Время, необходимое для отправки и восстановления всего текущего журнала (предполагаемое).
    Предполагаемое время, необходимое для отправки всего неотправленного журнала, который был зафиксирован на основном сервере и для восстановления всего журнала, находящегося в очереди повторов. Это предполагаемое значение может быть меньше суммы значений полей Время на отправку журнала (предполагаемое) и Время на восстановление журнала (предполагаемое), так как отправка и восстановление могут выполняться параллельно.
  • Адрес следящего сервера.
    Сетевой адрес экземпляра следящего сервера. Дополнительные сведения о формате этого адреса см. в разделе Указание сетевого адреса сервера (зеркальное отображение базы данных).
  • Режим работы.
    Режим работы сеанса зеркального отображения базы данных:
    • высокая производительность (асинхронный);
    • высокий уровень безопасности без автоматического перехода на другой ресурс (синхронный);
    • высокий уровень безопасности с автоматическим переходом на другой ресурс (синхронный).

См. также

Задачи

Как запустить монитор зеркального отображения базы данных

Основные понятия

Использование пороговых значений предупреждений и оповещений в метриках производительности зеркального отображения

Другие ресурсы

Контроль состояния зеркального отображения базы данных
sp_dbmmonitoraddmonitoring (Transact-SQL)
sp_dbmmonitorresults (Transact-SQL)
sp_dbmmonitorupdate (Transact-SQL)

Справка и поддержка

Получение помощи по SQL Server 2005