sp_dbmmonitorresults (Transact-SQL)
Область применения: SQL Server
Возвращает строки состояния для отслеживаемой базы данных из таблицы состояния, в которой хранится журнал мониторинга зеркального отображения базы данных, и позволяет выбрать, получает ли процедура последнее состояние заранее.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_dbmmonitorresults
[ @database_name = ] N'database_name'
[ , [ @mode = ] mode ]
[ , [ @update_table = ] update_table ]
[ ; ]
Аргументы
[ @database_name = ] N'database_name'
Указывает базу данных, для которой нужно вернуть состояние зеркального отображения. @database_name — sysname без значения по умолчанию.
[ @mode = ] режим
Указывает количество возвращаемых строк. @mode является int и может быть одним из этих значений.
значение | Описание |
---|---|
0 |
Последняя строка |
1 |
Строки за последние два часа |
2 |
Строки за последние четыре часа |
3 |
Строки за последние восемь часов |
4 |
Строки за последний день |
5 |
Строки за последние два дня |
6 |
Последние 100 строк |
7 |
Последние 500 строк |
8 |
Последние 1000 строк |
9 |
Последние 1000 000 строк |
[ @update_table = ] update_table
Указывает, что перед возвратом результатов процедуры. @update_table имеет значение int с значением по умолчанию0
.
0
= не обновляет состояние базы данных. Результаты вычислены с помощью последних двух строк, возраст которых зависит от того, когда была обновлена таблица состояния.1
= обновляет состояние базы данных путем вызоваsp_dbmmonitorupdate
перед вычислением результатов. Однако если таблица состояния была обновлена за предыдущие 15 секунд или пользователь не является членом предопределенных ролей сервера sysadmin ,sp_dbmmonitorresults
выполняется без обновления состояния.
Значения кода возврата
Нет.
Результирующий набор
Возвращает запрашиваемое количество строк журнала состояния для указанной базы данных. Каждая строка содержит следующие сведения:
Имя столбца | Тип данных | Description |
---|---|---|
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;