Partilhar via


Monitorizar Grupos de Disponibilidade (Transact-SQL)

Aplica-se a:SQL Server

Para monitorizar grupos de disponibilidade e réplicas e as bases de dados associadas usando Transact-SQL, os grupos de disponibilidade Always On fornecem um conjunto de vistas de catálogo e gestão dinâmica e propriedades do servidor. Usando instruções SELECT Transact-SQL, pode usar as visualizações para monitorar grupos de disponibilidade e as suas réplicas e bases de dados. A informação devolvida para um dado grupo de disponibilidade depende de estar ligado à instância do SQL Server que hospeda a réplica principal ou a uma réplica secundária.

Sugestão

Muitas destas vistas podem ser unidas usando as suas colunas ID para devolver informação de múltiplas vistas numa única consulta.

Permissions

As visualizações de catálogo dos grupos de disponibilidade Always On exigem a permissão de VIEW ANY DEFINITION na instância do servidor. Os grupos de disponibilidade Sempre Ativos exigem que as visões de gestão dinâmica tenham permissão VIEW SERVER STATE no servidor.

Monitorização da funcionalidade Always On dos Grupos de Disponibilidade numa Instância de Servidor

Para monitorizar a funcionalidade de grupos de disponibilidade Sempre Ligados numa instância de servidor, utilize a seguinte função incorporada:

Função SERVERPROPERTY
Fornece informações sobre as propriedades do servidor relacionadas a se os grupos de disponibilidade Always On estão ativados e, em caso afirmativo, se estes foram iniciados na instância do servidor.

Nomes das colunas: IsHadrEnabled, HadrManagerStatus

Grupos de Disponibilidade de Monitorização no Cluster WSFC

Para monitorizar o cluster Windows Server Failover Clustering (WSFC) que aloja uma instância local de servidor ativada para grupos de disponibilidade Always On, use as seguintes perspetivas:

sys.dm_hadr_cluster
Se o nó do Windows Server Failover Clustering (WSFC) que hospeda uma instância do SQL Server com os grupos de disponibilidade Always On ativados tiver quórum WSFC, sys.dm_hadr_cluster devolverá uma linha que mostra o nome do cluster e informações sobre o quórum. Se o nó WSFC não tiver quórum, não são devolvidas linhas.

Nomes das colunas: nome_do_cluster, tipo_de_quorum, descricao_do_tipo_de_quorum, estado_do_quorum, descricao_do_estado_do_quorum

sys.dm_hadr_cluster_members
Se o nó WSFC que aloja a instância local Always On-enabled do SQL Server tiver quórum WSFC, retorna uma linha para cada um dos membros que constituem o quórum e o estado de cada um deles.

Nomes das colunas: nome_do_membro, tipo_de_membro, descricao_do_tipo_de_membro, estado_do_membro, descricao_do_estado_do_membro, numero_de_votos_para_quorum

sys.dm_hadr_cluster_networks
Devolve uma linha para cada membro que participa na configuração de sub-rede de um grupo de disponibilidade. Pode usar esta vista de gestão dinâmica para validar o IP virtual da rede configurado para cada réplica de disponibilidade.

Nomes das colunas: member_name, network_subnet_ip, network_subnet_ipv4_mask, network_subnet_prefix_length, is_public, is_ipv4

Chave primária: member_name + network_subnet_IP + network_subnet_prefix_length

sys.dm_hadr_instance_node_map
Para cada instância de SQL Server que aloja uma réplica de disponibilidade que está ligada ao seu grupo de disponibilidade Always On, retorna o nome do nó de Clustering de Failover do Windows Server (WSFC) que hospeda a instância do servidor. Esta perspetiva dinâmica de gestão tem as seguintes utilizações:

  • Esta visão de gestão dinâmica é útil para detectar um grupo de disponibilidade com múltiplas réplicas de disponibilidade alojadas no mesmo nó WSFC, configuração esta que não é suportada e pode ocorrer após um failover FCI se o grupo de disponibilidade tiver sido configurado incorretamente.

  • Quando múltiplas instâncias do SQL Server estão alojadas no mesmo nó WSFC, a DLL de Recursos utiliza esta vista dinâmica de gestão para determinar a que instância do SQL Server se deve ligar.

Nomes das colunas: ag_resource_id, instance_name, node_name

sys.dm_hadr_name_id_map
Mostra o mapeamento dos grupos de disponibilidade Always On aos quais a instância atual do SQL Server se juntou, com três IDs únicos: um ID de grupo de disponibilidade, um ID de recurso WSFC e um ID de Grupo WSFC. O objetivo deste mapeamento é tratar o cenário em que o recurso/grupo da WSFC é renomeado.

Nomes das colunas: ag_name, ag_id, ag_resource_id, ag_group_id

Observação

Veja também sys.dm_hadr_availability_replica_cluster_nodes e sys.dm_hadr_availability_replica_cluster_states na secção Monitorização de Réplicas de Disponibilidade e sys.availability_databases_cluster e sys.dm_hadr_database_replica_cluster_states na secção Monitorização de Bases de Dados de Disponibilidade, mais adiante neste tópico.

Para informações sobre clusters WSFC e grupos de disponibilidade Always On, consulte Cluster de Failover do Windows Server (WSFC) com SQL Server e Cluster de Failover e Always On Availability Groups (SQL Server).

Monitorando grupos de disponibilidade

Para monitorizar os grupos de disponibilidade para os quais a instância do servidor aloja uma réplica de disponibilidade, use as seguintes perspetivas:

sys.availability_groups
Devolve uma linha para cada grupo de disponibilidade para o qual a instância local do SQL Server aloja uma réplica de disponibilidade. Cada linha contém uma cópia em cache dos metadados do grupo de disponibilidade.

Nomes das colunas: group_id, nome, resource_id, resource_group_id, failure_condition_level, health_check_timeout, automated_backup_preference, automated_backup_preference_desc

sys.availability_groups_cluster
Devolve uma linha para cada grupo de disponibilidade no cluster WSFC. Cada linha contém os metadados do grupo de disponibilidade do cluster Windows Server Failover Clustering (WSFC).

Nomes das colunas: group_id, nome, id_de_recurso, id_de_grupo_de_recursos, failure_condition_level, health_check_timeout, preferência_de_cópia_de_segurança_automática, descrição_de_preferência_de_cópia_de_segurança_automática

sys.dm_hadr_availability_group_states
Retorna uma linha para cada grupo de disponibilidade que possui uma réplica de disponibilidade na instância local do SQL Server. Cada linha apresenta os estados que definem a saúde de um dado grupo de disponibilidade.

Nomes das colunas: id_grupo, réplica_primária, saúde_recuperação_primária, descrição_saúde_recuperação_primária, saúde_recuperação_secundária, descrição_saúde_recuperação_secundária, saúde_sincronização, descrição_saúde_sincronização

Monitorização de Réplicas de Disponibilidade

Para monitorar réplicas de disponibilidade, utilize as seguintes vistas e funções do sistema:

sys.availability_replicas
Retorna uma linha para cada réplica de disponibilidade em cada grupo de disponibilidade para a qual a instância local do SQL Server aloja uma réplica de disponibilidade.

Nomes das colunas: replica_id, group_id, replica_metadata_id, replica_server_name, owner_sid, endpoint_url, availability_mode, availability_mode_desc, failover_mode, failover_mode_desc, session_timeout, primary_role_allow_connections, primary_role_allow_connections_desc, secondary_role_allow_connections, secondary_role_allow_connections_desc, create_date, modify_date, backup_priority, read_only_routing_url

sys.availability_read_only_routing_lists
Retorna uma linha para a lista de roteamento somente leitura de cada réplica de disponibilidade num grupo de disponibilidade Always On no cluster de alta disponibilidade WSFC.

Nomes das colunas: replica_id, routing_priority, read_only_replica_id

sys.dm_hadr_availability_replica_cluster_nodes
Retorna uma linha para cada réplica de disponibilidade (independentemente do estado de associação) dos grupos de disponibilidade Always On no cluster do Windows Server Failover Clustering (WSFC).

Names das colunas (em inglês): group_name, replica_server_name, node_name

sys.dm_hadr_availability_replica_cluster_states
Devolve uma linha para cada réplica (independentemente do estado de junção) de todos os grupos de disponibilidade Always On (independentemente da localização da réplica) no cluster Windows Server Failover Clustering (WSFC).

Nomes das colunas: replica_id, replica_server_name, group_id, join_state, join_state_desc

sys.dm_hadr_availability_replica_states
Devolve uma linha que mostra o estado de cada réplica de disponibilidade local e uma linha para cada réplica de disponibilidade remota no mesmo grupo de disponibilidade.

Nomes das colunas: replica_id, group_id, is_local, função, role_desc, operational_state, operational_state_desc, connected_state, connected_state_desc, recovery_health, recovery_health_desc, synchronization_health, synchronization_health_desc, last_connect_error_number, last_connect_error_description e last_connect_error_timestamp

sys.fn_hadr_backup_is_preferred_replica
Determina se a réplica atual é a réplica de backup preferida.

Observação

Para informações sobre contadores de desempenho para réplicas de disponibilidade (o objeto de desempenho SQLServer:Availability Replica ), consulte SQL Server, Availability Replica.

Monitorização de Bases de Dados de Disponibilidade

Para monitorizar bases de dados de disponibilidade, utilize as seguintes perspetivas:

sys.availability_databases_cluster
Contém uma linha para cada base de dados na instância do SQL Server que fazem parte de todos os Grupos de Disponibilidade Sempre Ligados no cluster, independentemente de a base de dados de cópias locais já ter sido ligada ao grupo de disponibilidade.

Observação

Quando uma base de dados é adicionada a um grupo de disponibilidade, a base de dados principal é automaticamente ligada ao grupo. As bases de dados secundárias devem ser preparadas para cada réplica secundária antes de poderem ser ligadas ao grupo de disponibilidade.

Nomes das colunas: id_grupo, id_base_de_dados_grupo, nome_base_de_dados

sys.databases
Contém uma linha por banco de dados na instância do SQL Server. Se uma base de dados pertencer a uma réplica de disponibilidade, a linha dessa base de dados mostra o GUID da réplica e o identificador único da base de dados dentro do seu grupo de disponibilidade.

Nomes das colunas dos grupos de disponibilidade Always On: replica_id, group_database_id

sys.dm_hadr_auto_page_repair
Devolve uma linha para cada tentativa automática de reparação de páginas em qualquer base de dados de disponibilidade numa réplica de disponibilidade alojada para qualquer grupo de disponibilidade pela instância do servidor. Esta vista contém linhas para as mais recentes tentativas automáticas de reparação de páginas numa dada base de dados primária ou secundária, com um máximo de 100 linhas por base de dados. Assim que uma base de dados atinge a sua capacidade máxima, a linha para a tentativa automática de reparação de páginas seguinte substitui uma das entradas existentes.

Nomes das colunas: database_id, file_id, page_id, error_type, page_status, modification_time

sys.dm_hadr_database_replica_states
Retorna uma linha para cada base de dados que participe em qualquer grupo de disponibilidade para o qual a instância local do SQL Server esteja a hospedar uma réplica de disponibilidade.

Nomes das colunas: database_id, group_id, replica_id, group_database_id, é_local, estado_de_sincronização, descrição_do_estado_de_sincronização, é_participante_de_commit, saúde_da_sincronização, descrição_da_saúde_da_sincronização, estado_do_banco_de_dados, descrição_do_estado_do_banco_de_dados, está_suspenso, motivo_da_suspensão, descrição_do_motivo_da_suspensão, recovery_lsn, truncation_lsn, último_enviado_lsn, última_hora_enviada, último_recebido_lsn, última_hora_recebida, último_firme_lsn, última_hora_firmada, último_redone_lsn, última_hora_redone, tamanho_da_fila_de_log_envio, taxa_de_envio_de_log, tamanho_da_fila_redone, taxa_de_redone, taxa_de_envio_de_filestream, fim_do_log_lsn, último_commit_lsn, última_hora_commit, marca_d'água_baixa_para_fantasmas

sys.dm_hadr_database_replica_cluster_states
Devolve uma linha contendo informação destinada a fornecer uma visão sobre o estado das bases de dados de disponibilidade em cada grupo de disponibilidade no cluster Windows Server Failover Clustering (WSFC). Esta vista de gestão dinâmica é útil ao planear ou responder a um failover, ou para descobrir qual réplica secundária em um grupo de disponibilidade está a impedir o truncamento de logs numa determinada base de dados primária.

Nomes das colunas: replica_id, group_database_id, database_name, is_failover_ready, is_pending_secondary_suspend, is_database_joined, recovery_lsn, truncation_lsn

Observação

O local principal da réplica é a fonte autorizada para um grupo de disponibilidade.

Observação

Para informações sobre os contadores de desempenho dos grupos de disponibilidade Always On para bases de dados de alta disponibilidade (o objeto de desempenho SQLServer:Database Replica), consulte SQL Server, Database Replica. Além disso, para monitorizar a atividade dos registos de transações em bases de dados de disponibilidade, utilize os seguintes contadores do objeto de desempenho SQLServer:Databases: Log Flush Write Time (ms); Log Flushes/seg; Log Pool Cache Misses/seg; Log Pool Disk Reads/seg; e Pedidos de Log Pool/seg. Consulte SQL Server, Objeto de Bases de Dados para mais informações.

Monitorização de Ouvintes do Grupo de Disponibilidade

Para monitorizar os listeners do grupo de disponibilidade nas sub-redes do cluster WSFC, utilize as seguintes visões:

sys.availability_group_listener_ip_addresses
Devolve uma linha para cada endereço IP virtual conformante que esteja atualmente online para um listener de grupo de disponibilidade.

Nomes das colunas: listener_id, ip_address, ip_subnet_mask, is_dhcp, network_subnet_ip, network_subnet_prefix_length, network_subnet_ipv4_mask, estado, descrição_do_estado

sys.availability_group_listeners
Para um dado grupo de disponibilidade, devolve zero linhas ou uma linha para cada configuração de listener do grupo de disponibilidade no cluster WSFC, indicando que nenhum nome de rede está associado ao grupo de disponibilidade.

Nomes das colunas: group_id, listener_id, dns_name, porta, is_conformant, ip_configuration_string_from_cluster

sys.dm_tcp_listener_states
Retorna uma linha contendo informações de estado dinâmico para cada ouvinte TCP.

Nomes das colunas: listener_id, ip_address, is_ipv4, porta, tipo, type_desc, estado, state_desc, start_time

Chave primária: listener_id

Para informações sobre ouvintes de grupos de alta disponibilidade, consulte Ouvintes de Grupo de Disponibilidade, Conectividade do Cliente e Failover de Aplicação (SQL Server).

Tarefas relacionadas

Tarefas de monitorização dos Grupos de Disponibilidade Sempre Ativos:

Referência de monitorização de Grupos de Disponibilidade Always On (Transact-SQL):

Contadores de desempenho Always On:

Gestão baseada em políticas para Always On Availability Groups

Ver também

Grupos de Disponibilidade Always On (SQL Server)
Visão geral dos grupos de disponibilidade Always On (SQL Server)
Monitoramento de grupos de disponibilidade (SQL Server)