sp_dbmmonitorresults (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;
См. также