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


sp_dbmmonitorresults (Transact-SQL)

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

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

sp_dbmmonitorresults database_name 
      , rows_to_return
        , update_status 

Аргументы

  • database_name
    Указывает базу данных, для которой нужно вернуть состояние зеркального отображения.

  • rows_to_return
    Указывает количество возвращенных строк:

    0 = Последняя строка

    1 = Строки за последние два часа

    2 = Строки за последние четыре часа

    3 = Строки за последние восемь часов

    4 = Строки за последний день

    5 = Строки за последние два дня

    6 = Последние 100 строк

    7 = Последние 500 строк

    8 = Последние 1 000 строк

    9 = Последние 1 000 000 строк

  • update_status
    Указывает перед возвратом процедурой результатов:

    0 = Состояние базы данных не обновлено. Результаты вычислены с помощью последних двух строк, возраст которых зависит от того, когда была обновлена таблица состояния.

    1 = Обновляет состояние базы данных, вызывая процедуру sp_dbmmonitorupdate перед вычислением результатов. Однако, если таблица состояния была обновлена в последние 15 секунд или пользователь не является членом предопределенной роли сервера sysadmin, процедура sp_dbmmonitorresults выполняется без обновления состояния.

Значения кода возврата

Нет

Результирующие наборы

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

Имя столбца

Тип данных

Описание

database_name

sysname

Имя зеркальной базы данных.

роль

int

Текущая роль экземпляра сервера в зеркальном отображения:

1 = основная;

2 = зеркальная;

mirroring_state

int

Состояние базы данных:

0 = приостановлено;

1 = отключен;

2 = идет процесс синхронизации;

3 = ожидание отработки отказа;

4 = синхронизирована;

witness_status

int

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

0 = неизвестное состояние;

1 = подключен;

2 = отключен;

log_generation_rate

int

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

unsent_log

int

Размер неотправленного журнала в очереди на основном сервере в килобайтах.

send_rate

int

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

unrestored_log

int

Размер очереди повтора на зеркальном сервере, в килобайтах.

recovery_rate

int

Частота повторов на зеркальном сервере, в килобайтах в секунду.

transaction_delay

int

Общая задержка обработки всех транзакций, в миллисекундах.

transactions_per_sec

int

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

average_delay

int

Средняя задержка на экземпляре основного сервера для каждой транзакции из-за зеркального отображения базы данных. В режиме высокой производительности (когда свойство SAFETY имеет значение OFF), это значение равно 0.

time_recorded

datetime

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

time_behind

datetime

Приблизительное системное время основного сервера, с которым синхронизирована зеркальная база данных. Это значение имеет смысл только на экземпляре основного сервера.

local_time

datetime

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

Замечания

Процедура sp_dbmmonitorresults может быть выполнена только в контексте базы данных msdb.

Разрешения

Необходимо членство в предопределенной роли сервера sysadmin или в предопределенной роли dbm_monitor базы данных msdb. Роль dbm_monitor дает возможность ее членам просмотреть состояние зеркального отображения базы данных, но не обновляет его, не представляет и не настраивает события зеркального отображения базы данных.

ПримечаниеПримечание

При первом выполнении процедуры sp_dbmmonitorupdate она создает предопределенную роль dbm_monitor в базе данных msdb. Члены предопределенной роли сервера sysadmin могут добавлять любого пользователя к предопределенной роли базы данных dbm_monitor.

Примеры

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

USE msdb;
EXEC sp_dbmmonitorresults AdventureWorks2008R2, 2, 0;