Compartilhar via


sys.dm_hs_database_replicas (Transact-SQL)

Aplica-se a:Banco de Dados SQL do Azure

A sys.dm_hs_database_replicas DMF (função de gerenciamento dinâmico) retorna informações sobre réplicas secundárias da Hiperescala do Banco de Dados SQL do Azure de um determinado banco de dados de Hiperescala.

Sintaxe

sys.dm_hs_database_replicas ( 
{ database_id | NULL }                                     
)                             

Arguments

database_id

database_id é um inteiro que representa a ID do banco de dados, sem valor padrão. As entradas válidas são uma ID de banco de dados ou NULL.

Quando um database_id for fornecido, sys.dm_hs_database_replicas retornará uma linha para esse banco de dados específico.

Quando não for fornecido ou quando NULL for fornecido, para um banco de dados individual, retornará uma linha para o banco de dados atual. Para um banco de dados em um pool elástico, retorna linhas para todos os bancos de dados no pool em que o chamador tem permissões suficientes.

A função interna DB_ID pode ser especificada.

Tabela retornada

Nome da coluna Tipo de dados Description
replica_id uniqueidentifier Identificador da réplica. Não é anulável.
replica_server_name sysname Nome do servidor lógico no qual a réplica reside. Não é anulável.
replica_database_name sysname Nome do banco de dados de réplica. Não é anulável.
is_local bit Se o banco de dados de réplica é local:
1 = O banco de dados de réplica é aquele ao qual você está conectado ao consultar sys.dm_hs_database_replicas.
0 = O banco de dados de réplica não é aquele ao qual você está conectado.
replica_role tinyint Função de réplica:
0 = Primário
1 = Secundário de alta disponibilidade
2 = Encaminhador de replicação geográfica
3 = Réplica nomeada. Não é anulável.
replica_role_desc nvarchar(256) Primário
Secundário de alta disponibilidade
Encaminhador de replicação geográfica
Réplica nomeada. </br></br> Não é anulável.
local_database_id int Identificador do banco de dados.
No Banco de Dados SQL do Azure, os valores são exclusivos em um único banco de dados ou pool elástico, mas não dentro do servidor lógico.
parent_replica_id uniqueidentifier Aplicável somente a réplicas de alta disponibilidade.
Identificador da réplica pai (por exemplo, o primário, o encaminhador geográfico ou a réplica nomeada que tem uma réplica de HA). Nullable.

Observações

A sys.dm_hs_database_replicas função de gerenciamento dinâmico atualmente se aplica apenas à camada de Hiperescala do Banco de Dados SQL do Azure.

Embora você possa adicionar réplicas secundárias a uma réplica geográfica secundária do banco de dados primário, sys.dm_hs_database_replicas não retorna linhas para as réplicas secundárias adicionadas na réplica geo-secundária quando consultadas na réplica primária. Você deve consultar sys.dm_hs_database_replicas quando conectado a uma réplica geográfica secundária para listar as réplicas secundárias adicionadas a ela.

Permissions

Essa função de gerenciamento dinâmico requer a permissão VIEW DATABASE PERFORMANCE STATE. Para obter mais informações, consulte exibições de gerenciamento dinâmico do sistema. Para consultar um banco de dados em pool, a permissão VIEW SERVER STATE é necessária. Se o chamador tiver a permissão VIEW DATABASE PERFORMANCE STATE, as linhas dos bancos de dados em que essa permissão é mantida serão retornadas.

Exemplos

a. Retornar a réplica primária e todas as réplicas secundárias de um banco de dados criado na camada de Hiperescala

O exemplo a seguir retorna uma linha para cada réplica secundária adicionada no banco de dados da Hiperescala.

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