sys.dm_database_replica_states (база данных SQL Azure)

Применимо к:База данных SQL Azure Управляемый экземпляр SQL Azure

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

Важно!

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

Имя столбца Тип данных Описание (в основной реплике)
database_id int Идентификатор базы данных.

В База данных SQL Azure значения уникальны в одной базе данных или эластичном пуле, но не в логическом сервере.
group_id uniqueidentifier Идентификатор группы доступности, к которой принадлежит база данных.
replica_id uniqueidentifier Идентификатор реплики доступности в группе доступности.
group_database_id uniqueidentifier Идентификатор базы данных из группы доступности. Этот идентификатор совпадает на всех репликах, к которым присоединена эта база данных.
is_local bit Является ли база данных доступности локальной. Может принимать одно из следующих значений:

0 = база данных не является локальной для экземпляра SQL Server.

1 = база данных локальна по отношению к экземпляру сервера.
is_primary_реплика bit Возвращает значение 1, если реплика является первичным или 0, если он является вторичным реплика в группе доступности, к которой принадлежит база данных. Это не относится к базе данных-источнику или базе данных-получателю в распределенной группе доступности или активной связи гео-реплика.

Область применения: SQL Server 2014 (12.x) и более поздних версий.
synchronization_state tinyint Состояние перемещения данных— одно из следующих значений.

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

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

2 = синхронизировано. Состояние базы данных-источника отображается как «SYNCHRONIZED» (вместо «SYNCHRONIZING»). Состояние базы данных-получателя с синхронной фиксацией отображается как «SYNCHRONIZED» в том случае, когда с точки зрения локального кэша база данных готова к отработке отказа и находится в процессе синхронизации.

3 = отмена. Обозначает этап процесса отката, в котором база данных-получатель активно получает страницы с базы данных-источника.

Важно. Если база данных на вторичной реплика находится в состоянии REVERTING, принудительная отработка отказа на вторичный реплика покидает базу данных в состоянии, в котором ее невозможно запустить в качестве базы данных-источника. Необходимо повторно подключить базу данных как базу данных-получатель или применить новые записи журнала из резервной копии журнала.

4 = инициализация. Обозначает этап процесса отката, на котором журнал транзакций, по которому базе данных-получателю необходимо устранить вплоть до номера LSN, который доставляется и фиксируется на вторичной реплике.

Важно. Если база данных на вторичной реплика находится в состоянии INITIALIZING, принудительная отработка отказа на вторичный реплика оставляет базу данных в состоянии, в котором ее невозможно запустить в качестве базы данных-источника. Необходимо повторно подключить базу данных как базу данных-получатель или применить новые записи журнала из резервной копии журнала.
synchronization_state_desc nvarchar(60) Одно из следующих описаний состояния перемещения файла.

— НЕ СИНХРОНИЗАЦИЯ
-СИНХРОНИЗАЦИЯ
-СИНХРОНИЗИРОВАНЫ
-ВОЗВРАТ
-ИНИЦИАЛИЗАЦИИ
is_commit_participant bit 0 = фиксация транзакций не синхронизируется с этой базой данных.

1 = фиксация транзакции синхронизирована по отношению к этой базе данных.

Для баз данных в реплике доступности асинхронной фиксации это значение всегда равно 0.

Что касается базы данных в реплике доступности с синхронной фиксацией, то данное значение является точным только в базе данных-источнике.
synchronization_health tinyint Рефлексия пересечение состояния синхронизации базы данных, присоединенной к группе доступности в реплика доступности и режиме доступности реплика (режим синхронной фиксации или асинхронной фиксации), одно из следующих значений.

0 = нездорово. База synchronization_state данных имеет значение 0 (NOT SYNCHRONIZING).

1 = частично работоспособный. База данных для доступности синхронной фиксации реплика считается частично работоспособной, если synchronization_state имеет значение 1 (SYNCHRONIZING).

2 = работоспособный. База данных для доступности синхронной фиксации реплика считается работоспособной, если имеет значение 2 (SYNCD), а база данных в реплика доступности асинхронной фиксации считается работоспособной, если synchronization_statesynchronization_state имеет значение 1 (SYNCHRONIZING).
synchronization_health_desc nvarchar(60) synchronization_health Описание базы данных доступности.

- NOT_HEALTHY
- PARTIALLY_HEALTHY
-ЗДОРОВОГО
database_state tinyint 0 = В сети
1 = Восстановление из копии
2 = Восстановление
3 = В ожидании восстановления
4 = Подозрительное состояние
5 = Тревога
6 = В автономном режиме

Примечание. То же, что state и столбец в sys.databases.
database_state_desc nvarchar(60) database_state Описание реплика доступности.

-ОНЛАЙН
-ВОССТАНОВЛЕНИЕ
-ВОССТАНОВЛЕНИЕ
- RECOVERY_PENDING
-ПОДОЗРЕВАЕМЫЙ
-АВАРИЙНОГО
-АВТОНОМНЫХ

Примечание. То же, что state_desc и столбец в sys.databases.
is_suspended bit Состояние базы данных. Может принимать одно из следующих значений:

0 = возобновлено;
1 = приостановлено.
suspend_reason tinyint Если база данных приостановлена, то причина состояния приостановки. Может принимать одно из следующих значений:

0 = В результате действий пользователя
1 = Приостановлена партнером
2 = Повтор
3 = Захват
4 = Применение
5 = Перезапуск
6 = Отмена
7 = Повторная проверка
8 = Ошибка в вычислении точки синхронизации вторичной реплики
suspend_reason_desc nvarchar(60) Описание причины приостановки базы данных. Может принимать одно из следующих значений:

SUSPEND_FROM_USER = пользователь вручную приостановил движение данных.

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

SUSPEND_FROM_REDO = произошла ошибка на стадии повтора.

SUSPEND_FROM_APPLY = произошла ошибка при записи журнала в файл (см. журнал ошибок).

SUSPEND_FROM_CAPTURE = произошла ошибка при перехвате журнала на первичной реплике.

SUSPEND_FROM_RESTART = реплика базы данных приостановлена, прежде чем произошел перезапуск базы данных (см. журнал ошибок).

SUSPEND_FROM_UNDO = произошла ошибка на этапе отката (см. журнал ошибок).

SUSPEND_FROM_REVALIDATION = при повторном подключении обнаружено несоответствие изменений журнала (см. журнал ошибок).

SUSPEND_FROM_XRF_UPDATE = не удалось найти общую временную точку (см. журнал ошибок).
recovery_lsn numeric(25,0) На первичной реплике окончание журнала транзакций до того, как база данных-источник запишет новые записи журнала после восстановления или перехода на другой ресурс. Для данной базы данных-получателя, если это значение меньше текущего защищенного LSN (last_hardened_lsn), recovery_lsn является значением, в котором эта база данных-получатель должна будет повторно выполнить повторную синхронизацию (т. е. для отменить изменения и повторной инициализации в). Если это значение больше или равно текущему защищенному LSN, повторная синхронизация будет ненужной и не произойдет.

recovery_lsn отражает идентификатор блока журнала, заполненный нулями. Это не фактический номер последовательности журналов (LSN).
truncation_lsn numeric(25,0) В первичной реплике, применительно к базе данных-источнику, соответствует минимальному номеру LSN для усечения журнала среди всех соответствующих баз данных-получателей. В случае блокировки усечения журнала (например в ходе резервного копирования) данный номер LSN может быть выше локального номера LSN для усечения.

Соответствует точке усечения для заданной базы данных-получателя.

truncation_lsn отражает идентификатор блока журнала, заполненный нулями. Это не фактический номер последовательности журналов.
last_sent_lsn numeric(25,0) Идентификатор блока журнала, указывающий точку, вплоть до которой все блоки журнала были отправлены источником. Это идентификатор следующего блока, который будет отправлен, а не идентификатор последнего, уже отправленного блока.

last_sent_lsn отражает идентификатор блока журнала, заполненный нулями. Это не фактический номер последовательности журналов.
last_sent_time datetime Время отправки последнего блока журнала.
last_received_lsn numeric(25,0) Идентификатор блока журнала, указывающий точку, вплоть до которой все блоки журнала были получены вторичной репликой, на которой размещена эта база данных-получатель.

last_received_lsn отражает идентификатор блока журнала, заполненный нулями. Это не фактический номер последовательности журналов.
last_received_time datetime Отметка времени, когда идентификатор блока журнала в последнем сообщении был прочитан вторичной репликой.
last_hardened_lsn numeric(25,0) Начало блока журнала, содержащего журнальные записи последнего зафиксированного номера LSN на базе данных-получателе.

В базе данных-источнике с асинхронной фиксацией или в базе данных с синхронной фиксацией, настроенной в режиме «задержки», значение равно NULL. Для других баз данных-источника last_hardened_lsn синхронной фиксации указывает минимум защищенного LSN во всех базах данных-получателях.

Примечание.last_hardened_lsn Отражает идентификатор блока журнала, заполненный нулями. Это не фактический номер последовательности журналов.
last_hardened_time datetime В базе данных-получателе время идентификатора блока журнала для последнего защищенного LSN (last_hardened_lsn). В базе данных-источнике соответствует времени минимального фиксированного номера LSN.
last_redone_lsn numeric(25,0) Фактический регистрационный номер транзакции последней записи в журнале, повторенной в базе данных-получателе. last_redone_lsn всегда меньше last_hardened_lsn.
last_redone_time datetime Время повторения последней записи на базе данных-получателе.
log_send_queue_size bigint Объем записей журнала базы данных-источника, которая не была отправлена в базы данных-получатель, в килобайтах (КБ).
log_send_rate bigint Средняя скорость, с которой основной экземпляр реплика отправляет данные в течение последнего активного периода в килобайтах (КБ)/секунде.
redo_queue_size bigint Объем записей журнала в файлах журнала вторичного реплика, который еще не был переучен в килобайтах (КБ).
redo_rate bigint Средняя скорость повторного изменения записей журнала в заданной базе данных-получателе в килобайтах (КБ)/секунде.

redo_rate вычисляется путем деления общего байта байтов журнала, так как ядро СУБД запускается на период времени, когда повторное выполнение активно выполняется, а не по истечении времени. Так как повторное выполнение не может выполняться непрерывно, результирующее значение может отличаться (выше) от значения счетчика Database Replica:Redone Bytes/sec производительности.
filestream_send_rate bigint Скорость, с которой файлы FILESTREAM передаются на вторичную реплику, в килобайтах (КБ)/сек.
end_of_log_lsn numeric(25,0) Номер LSN конца локального журнала. Фактический номер LSN, соответствующий последней записи журнала в кэше журнала на базах данных источника и получателя. В первичной реплике вторичные строки отображают номер LSN конца журнала из последних сообщений о ходе выполнения, переданных вторичными репликами на первичную.

end_of_log_lsn отражает идентификатор блока журнала, заполненный нулями. Это не фактический номер последовательности журналов.
last_commit_lsn numeric(25,0) Фактический регистрационный номер транзакции в журнале, соответствующий последней записи фиксации в журнале транзакций.

На базе данных-источнике он соответствует последней обработанной записи фиксации. Строки для баз данных-получателей показывают последовательный номер транзакции в журнале, переданный вторичной репликой в первичную.

На вторичной реплике это последняя запись фиксации, которая была повторена.
last_commit_time datetime Время, соответствующее последней записи фиксации.

На базе данных-получателе это время совпадает со временем на базе данных-источнике.

На первичной реплике в строках каждой из баз данных-получателей отображается время, возвращенное первичной реплике с вторичной реплики, на которой размещена соответствующая база данных-получатель. Разница во времени между строкой первичной базы данных и заданной строкой базы данных-получателем представляет приблизительно цель точки восстановления (RPO), предполагая, что процесс повтора перехвата и что ход выполнения был передан в основную реплика вторичным реплика.
low_water_mark_for_ghosts bigint Непрерывно возрастающее число для базы данных, указывающее метку низкого уровня, которая используется задачей очистки фантомных записей в базе данных-источнике. Если это число не увеличивается со временем, это означает, что очистка призрака может не произойти. Чтобы определить, какие из фантомных строк необходимо очистить, первичная реплика использует минимальное значение данного столбца в этой базе данных по всем репликам доступности (включая первичную реплику).
secondary_lag_seconds bigint Количество секунд, в течение которых вторичная реплика находится за основным реплика во время синхронизации.

Область применения: SQL Server 2016 (13.x) и более поздних версий.
quorum_commit_lsn numeric(25,0) Указано только в ознакомительных целях. Не поддерживается. Будущая совместимость не гарантируется.
quorum_commit_time datetime Указано только в ознакомительных целях. Не поддерживается. Будущая совместимость не гарантируется.

Разрешения

Необходимо разрешение VIEW DATABASE STATE на базу данных.

См. также