Exibições de gerenciamento dinâmico e exibições de catálogo do sistema (Grupos de Disponibilidade Always On)
Aplica-se a: SQL Server
Este tópico mostra algumas das consultas comuns em DMVs (exibições de gerenciamento dinâmico) do Always On que você pode usar para monitorar e solucionar problemas de grupos de disponibilidade.
Dica
No Painel Always On, você pode configurar facilmente a GUI para exibir muitas das DMVs das réplicas de disponibilidade e bancos de dados de disponibilidade clicando com o botão direito do mouse no respectivo cabeçalho de tabela e selecionando a DMV que você deseja exibir ou ocultar.
Para obter mais informações sobre as DMVs do grupo de disponibilidade, veja Funções e exibições de gerenciamento dinâmico de Grupos de Disponibilidade Always On (Transact-SQL). Para obter mais informações sobre a as exibições de catálogo de grupos de disponibilidade, veja Exibições de catálogo de Grupos de Disponibilidade Always On (Transact-SQL).
Verifique a configuração de nó de cluster do WSFC
A seguinte consulta T-SQL (Transact-SQL) recupera o status de todos os nós no cluster atual do WSFC (Cluster de Failover do Windows Server).
use master
go
select * from sys.dm_hadr_cluster_members
go
Este conjunto de resultados relata o status de cada nó de membro do cluster WSFC atual. Se o quorum for definido como Nó e maioria do compartilhamento de arquivos, até mesmo o compartilhamento de arquivos será relatado. Você pode ver o status de cada nó, inclusive o peso de votação de cada nó (o valor number_of_quorum_votes).
Explorar a rede de cluster
A consulta a seguir recupera a configuração de rede do cluster WSFC atual.
select * from sys.dm_hadr_cluster_networks
O conjunto de resultados contém uma linha para cada adaptador de rede no cluster WSFC. Por exemplo, em um cluster de dois nós que contém dois adaptadores de rede em cada nó, essa consulta retorna quatro linhas.
Explorar os grupos de disponibilidade
A consulta a seguir recupera informações sobre um grupo de disponibilidade.
select primary_replica, primary_recovery_health_desc, synchronization_health_desc from sys.dm_hadr_availability_group_states
go
select * from sys.availability_groups
go
select * from sys.availability_groups_cluster
go
As DMVs sys.dm_hadr_availability_group_states (Transact-SQL), sys.availability_groups (Transact-SQL) e sys.availability_groups_cluster retornam informações sobre os grupos de disponibilidade no cluster WSFC atual. Na verdade, sys.availability_groups (Transact-SQL) e sys.availability_groups_cluster parecem retornar informações idênticas.
No entanto, a sys.availability_groups_cluster relata metadados do grupo de disponibilidade armazenado no Cluster WSFC, enquanto a sys.availability_groups (Transact-SQL) relata os metadados do grupo de disponibilidade que são armazenados em cache no espaço de processo do SQL Server. Além disso, essas duas DMVs relatam informações de configuração enquanto a sys.dm_hadr_availability_group_states (Transact-SQL) relata os status de integridade atual dos grupos de disponibilidade.
Importante
Essa nomenclatura é transferida com as DMVs que documentam réplicas de disponibilidade e bancos de dados de disponibilidade.
Explorar as réplicas de disponibilidade
A consulta a seguir recupera informações sobre as réplicas de disponibilidade definidas em seus grupos de disponibilidade.
select replica_id, role_desc, connected_state_desc, synchronization_health_desc from sys.dm_hadr_availability_replica_states
go
select replica_server_name, replica_id, availability_mode_desc, endpoint_url from sys.availability_replicas
go
select replica_server_name, join_state_desc from sys.dm_hadr_availability_replica_cluster_states
go
Assim como nas DMVs de grupos de disponibilidade, você encontra três DMVs que relatam em réplicas de disponibilidade. A sys.dm_hadr_availability_replica_states relata informações do estado sobre as réplicas de disponibilidade que são armazenadas localmente em cache no SQL Server, e a sys.dm_hadr_availability_replica_cluster_states relata informações de estado sobre as réplicas de disponibilidade do cluster WSFC. Por fim, a sys.availability_replicas relata dados de configuração sobre as réplicas de disponibilidade, que são armazenadas em cache localmente no SQL Server.
Explorar a integridade da réplica de disponibilidade
A consulta a seguir recupera informações de integridade atuais sobre as réplicas de disponibilidade.
select replica_id, role_desc, recovery_health_desc, synchronization_health_desc from sys.dm_hadr_availability_replica_states
go
Compare os resultados da consulta na réplica primária e na réplica secundária e observe que, na réplica secundária, as informações de integridade são relatadas somente para essa réplica e não para as outras réplicas do grupo de disponibilidade.
Explorar os bancos de dados de disponibilidade
A consulta a seguir recupera informações sobre as réplicas de disponibilidade definidas em seu grupo de disponibilidade. Você pode observar as alterações nos resultados da consulta antes e depois de suspender a movimentação de dados em um banco de dados de disponibilidade.
select * from sys.availability_databases_cluster
go
select group_database_id, database_name, is_failover_ready from sys.dm_hadr_database_replica_cluster_states
go
select database_id, synchronization_state_desc, synchronization_health_desc, last_hardened_lsn, redo_queue_size, log_send_queue_size from sys.dm_hadr_database_replica_states
go
Aqui novamente, três DMVs do Always On apresentam relatórios sobre bancos de dados de disponibilidade. A sys.availability_databases_cluster relata informações de configuração sobre bancos de dados de disponibilidade do cluster WSFC. A sys.dm_hadr_database_replica_cluster_states relata informações de estado sobre as réplicas de banco de dados, que são armazenadas em cache localmente no SQL Server. Ela contém algumas informações de estado importantes, como a preparação para failover da réplica de disponibilidade. Por fim, a sys.dm_hadr_database_replica_states apresenta um conjunto de resultados bastante detalhado que relata informações de identidade e estado de cada banco de dados de disponibilidade, como informações de progresso LSN para os logs das réplicas de banco de dados primária e secundária.
Explorar a integridade do banco de dados de disponibilidade
A consulta a seguir recupera informações sobre a integridade de cada banco de dados de disponibilidade nas réplicas. Você pode observar as alterações nos resultados da consulta antes e depois de suspender a movimentação de dados em um banco de dados de disponibilidade.
select dc.database_name, dr.database_id, dr.synchronization_state_desc,
dr.suspend_reason_desc, dr.synchronization_health_desc
from sys.dm_hadr_database_replica_states dr join sys.availability_databases_cluster dc
on dr.group_database_id=dc.group_database_id
where is_local=1
go