Partilhar via


sys.dm_hs_database_replicas (Transact-SQL)

Aplica-se a: do Banco de Dados SQL do Azure

A sys.dm_hs_database_replicas função de gerenciamento dinâmico (DMF) retorna informações sobre réplicas secundárias de 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 um ID de banco de dados ou NULL.

Quando um database_id é fornecido, sys.dm_hs_database_replicas retorna uma linha para esse banco de dados específico.

Quando não fornecido ou quando NULL é fornecido, para um único banco de dados, retorna 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 onde 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 onde 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 da réplica:
0 = Primário
1 = Alta disponibilidade secundária
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 da base de dados.
No Banco de Dados SQL do Azure, os valores são exclusivos dentro de um único banco de dados ou pool elástico, mas não dentro do servidor lógico.
parent_replica_id uniqueidentifier Aplicável apenas a réplicas de alta disponibilidade.
Identificador da réplica pai (por exemplo, a réplica principal, o encaminhador geográfico ou a réplica nomeada que tem uma réplica HA). Nulo.

Observações

Atualmente sys.dm_hs_database_replicas , a função de gerenciamento dinâmico 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 geosecundária do banco de dados primário, sys.dm_hs_database_replicas não retorna linhas para as réplicas secundárias adicionadas sob a réplica geosecundária quando consultadas na réplica primária. Você deve consultar sys.dm_hs_database_replicas quando conectado a uma réplica geosecundá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 onde essa permissão é mantida serão retornadas.

Examples

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

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

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