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


sys.dm_hs_database_replicas (Transact-SQL)

применимо к:Базе данных SQL Azure

Функция sys.dm_hs_database_replicas динамического управления (DMF) возвращает сведения о вторичных репликах базы данных Базы данных SQL Azure с гипермасштабированием заданной базы данных Гипермасштабирования.

Синтаксис

sys.dm_hs_database_replicas ( 
{ database_id | NULL }                                     
)                             

Arguments

идентификатор_базы_данных

database_id представляет собой целое число , представляющее идентификатор базы данных без значения по умолчанию. Допустимые входные данные — это идентификатор базы данных или NULL.

database_id При указании sys.dm_hs_database_replicas возвращает строку для этой конкретной базы данных.

Если для одной базы данных не указана или NULL когда она указана, возвращается строка текущей базы данных. Для базы данных в эластичном пуле возвращает строки для всех баз данных в пуле, где вызывающий объект имеет достаточные разрешения.

Можно указать встроенную функцию DB_ID .

Возвращаемая таблица

Имя столбца Тип данных Description
replica_id uniqueidentifier Идентификатор реплики. Не допускает значение NULL.
replica_server_name sysname Имя логического сервера, на котором находится реплика. Не допускает значение NULL.
replica_database_name sysname Имя базы данных-реплики. Не допускает значение NULL.
is_local bit Указывает, является ли база данных репликой локальной:
1 = база данных реплики — это база данных, к к которому вы подключаетесь при запросе sys.dm_hs_database_replicas.
0 = база данных реплики не подключена к ней.
replica_role tinyint Роль реплики:
0 = primary
1 = вторичный получатель высокого уровня доступности
2 = переадресатор георепликации
3 = именованной реплики. Не допускает значение NULL.
replica_role_desc nvarchar(256) Первичный
Вторичный получатель высокого уровня доступности
Переадресатор георепликации
Именованной реплики. </ br></ br> Не допускает значение NULL.
local_database_id int Идентификатор базы данных.
В базе данных SQL Azure значения уникальны в пределах одной базы данных или эластичного пула, но не в логическом сервере.
parent_replica_id uniqueidentifier Применимо только к репликам высокой доступности.
Идентификатор родительской реплики (например, основной, геоадресации или именованной реплики с высокой доступностью). Допускает значение NULL.

Замечания

Функция sys.dm_hs_database_replicas динамического управления в настоящее время применяется только к уровню гипермасштабирования базы данных SQL Azure.

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

Permissions

Для этой динамической функции управления требуется разрешение VIEW DATABASE PERFORMANCE STATE. Дополнительные сведения см. в разделе "Системные динамические административные представления". Чтобы запросить базу данных в пуле, требуется разрешение VIEW SERVER STATE. Если вызывающий объект имеет разрешение VIEW DATABASE PERFORMANCE STATE, возвращаются строки для баз данных, в которых хранится это разрешение.

Примеры

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

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

SELECT replica_role_desc, replica_server_name, replica_id
FROM sys.dm_hs_database_replicas(DB_ID(N'Contosodb'));