sp_dbmmonitorresults (Transact-SQL)

Применимо к:SQL Server

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

Соглашения о синтаксисе 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 = последние 1000 строк

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

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

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

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

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

None

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

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

Имя столбца Тип данных Описание:
database_name sysname Имя зеркальной базы данных.
role 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 AdventureWorks2022, 2, 0;  

См. также

Наблюдение за зеркальным отображением базы данных (SQL Server)
sp_dbmmonitorchangemonitoring (Transact-SQL)
sp_dbmmonitoraddmonitoring (Transact-SQL)
sp_dbmmonitordropmonitoring (Transact-SQL)
sp_dbmmonitorhelpmonitoring (Transact-SQL)
sp_dbmmonitorupdate (Transact-SQL)