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


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;