Monitorar grupos de disponibilidade (Transact-SQL)
Para monitorar os grupos de disponibilidade e as réplicas e os bancos de dados associados usando o Transact-SQL, o Grupos de Disponibilidade AlwaysOn fornece um conjunto de exibições do catálogo e de gerenciamento dinâmico e propriedades de servidor. Usando as instruções SELECT Transact-SQL, é possível usar as exibições para monitorar grupos de disponibilidade e suas réplicas e bancos de dados. As informações retornadas a um determinado grupo de disponibilidade dependem de se você está conectado à instância do SQL Server que está hospedando a réplica primária ou uma réplica secundária.
Dica |
---|
Muitas dessas exibições podem ser unidas usando suas colunas de ID para retornar informações de várias exibições em uma única consulta. |
Neste tópico:
Permissões
Usando Transact-SQL para monitorar:
Recurso de Grupos de Disponibilidade AlwaysOn em uma instância de servidor
Grupos de disponibilidade no cluster do WSFC
Grupos de disponibilidade
Réplicas de disponibilidade
Bancos de dados de disponibilidade
Ouvintes de grupos de disponibilidade
Tarefas relacionadas
Permissões
As exibições do catálogo do Grupos de Disponibilidade AlwaysOn exigem a permissão VIEW ANY DEFINITION na instância do servidor. As exibições de gerenciamento dinâmico do Grupos de Disponibilidade AlwaysOn exigem a permissão VIEW SERVER STATE no servidor.
Monitorando o recurso de Grupos de Disponibilidade AlwaysOn em uma instância de servidor
Para monitorar o recurso Grupos de Disponibilidade AlwaysOn em uma instância de servidor, use a seguinte função interna:
função SERVERPROPERTY
Retorna informações de propriedade de servidor sobre se o Grupos de Disponibilidade AlwaysOn está habilitado e, nesse caso, se ele está iniciado na instância de servidor.Nomes de colunas: IsHadrEnabled, HadrManagerStatus
Monitorando grupos de disponibilidade no cluster do WSFC
Para monitorar o WSFC (Windows Server Failover Clustering) que hospeda uma instância do servidor local habilitada para Grupos de Disponibilidade AlwaysOn, use as exibições a seguir:
sys.dm_hadr_cluster
Se o nó WSFC (Windows Server Failover Clustering) que hospeda uma instância do SQL Server com Grupos de Disponibilidade AlwaysOn habilitado tiver quorum de WSFC, sys.dm_hadr_cluster retornará uma linha que expõe o nome do cluster e informações sobre o quorum. Se o nó WSFC não tiver nenhum quorum, nenhuma linha será retornada.Nomes de colunas: cluster_name, quorum_type, quorum_type_desc, quorum_state, quorum_state_desc
sys.dm_hadr_cluster_members
Se o nó WSFC que hospeda a instância habilitada para AlwaysOn do SQL Server tiver quorum de WSFC, uma linha será retornada a cada um dos membros que constituem o quorum e o estado de cada um deles.Nomes de colunas: member_name, member_type, member_type_desc, member_state, member_state_desc, number_of_quorum_votes
sys.dm_hadr_cluster_networks
Retorna uma linha para cada membro que está participando da configuração de sub-rede de um grupo de disponibilidade. Você pode usar essa exibição de gerenciamento dinâmico para validar o IP virtual de rede configurado para cada réplica de disponibilidade.Nomes de 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 toda instância do SQL Server que hospeda uma réplica de disponibilidade que é unida a seu grupo de disponibilidade AlwaysOn, retorna o nome do nó do WSFC (Windows Server Failover Clustering) que hospeda a instância do servidor. Esta exibição de gerenciamento dinâmico tem os seguintes usos:Esta exibição de gerenciamento dinâmico será útil para detectar um grupo de disponibilidade com várias réplicas de disponibilidade que são hospedadas no mesmo nó do WSFC, que é uma configuração sem suporte que poderá ocorrer depois de um failover de FCI se o grupo de disponibilidade estiver configurado incorretamente.
Quando várias instâncias do SQL Server são hospedadas no mesmo nó do WSFC, a DLL de Recurso usa esta exibição de gerenciamento dinâmico para determinar a instância do SQL Server à qual se conectar.
Nomes de coluna: ag_resource_id, instance_name, node_name
sys.dm_hadr_name_id_map
Mostra o mapeamento de grupos de disponibilidade AlwaysOn nos quais a instância atual do SQL Server ingressou para três IDs exclusivas: uma ID de grupo de disponibilidade, uma ID de recurso WSFC e uma ID de grupo WSFC. O objetivo desse mapeamento é manipular o cenário no qual o recurso/grupo WSFC é renomeado.Nomes de coluna: ag_name, ag_id, ag_resource_id, ag_group_id
Observação |
---|
Consulte também sys.dm_hadr_availability_replica_cluster_nodes e sys.dm_hadr_availability_replica_cluster_states na seção Monitorando réplicas de disponibilidade e sys.availability_databases_cluster e sys.dm_hadr_database_replica_cluster_states na seção Monitorando bancos de dados de disponibilidade posteriormente nesse tópico. |
Para obter mais informações sobre clusters do WSFC e o Grupos de Disponibilidade AlwaysOn, consulte WSFC (Windows Server Failover Clustering) com o SQL Server e Clustering de failover e Grupos de Disponibilidade AlwaysOn (SQL Server).
[Início]
Monitorando grupos de disponibilidade
Para monitorar os grupos de disponibilidade para os quais a instância do servidor hospeda uma réplica de disponibilidade, use as exibições a seguir:
sys.availability_groups
Retorna uma linha para cada grupo de disponibilidade para o qual a instância local do SQL Server hospeda uma réplica de disponibilidade. Cada linha contém uma cópia armazenada em cache dos metadados do grupo de disponibilidade.Nomes de colunas: group_id, name, resource_id, resource_group_id, failure_condition_level, health_check_timeout, automated_backup_preference, automated_backup_preference_desc
sys.availability_groups_cluster
Retorna uma linha para cada grupo de disponibilidade no cluster do WSFC. Cada linha contém os metadados do grupo de disponibilidade do cluster do WSFC (Windows Server Failover Clustering).Nomes de colunas: group_id, name, resource_id, resource_group_id, failure_condition_level, health_check_timeout, automated_backup_preference, automated_backup_preference_desc
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 exibe os estados que definem a integridade de um determinado grupo de disponibilidade.Nomes de colunas: group_id, primary_replica, primary_recovery_health, primary_recovery_health_desc, secondary_recovery_health, secondary_recovery_health_desc, synchronization_health, synchronization_health_desc
[Início]
Monitorando réplicas de disponibilidade
Para monitorar réplicas de disponibilidade, use as seguintes exibições e a função do sistema:
sys.availability_replicas
Retorna uma linha para cada réplica de disponibilidade em cada grupo de disponibilidade para o qual a instância local do SQL Server hospeda uma réplica de disponibilidade.Nomes de 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 em um grupo de disponibilidade AlwaysOn do cluster de failover WSFC.Nomes de coluna: 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 junção) dos grupos de disponibilidade AlwaysOn no cluster do WSFC (Windows Server Failover Clustering).Nomes de colunas: group_name, replica_server_name, node_name
sys.dm_hadr_availability_replica_cluster_states
Retorna uma linha para cada réplica (independentemente do estado de junção) de todos os grupos de disponibilidade AlwaysOn (independentemente do local da réplica) no cluster do WSFC (Windows Server Failover Clustering).Nomes de colunas: replica_id, replica_server_name, group_id, join_state, join_state_desc
sys.dm_hadr_availability_replica_states
Retorna 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 de colunas: replica_id, group_id, is_local, role, 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 preferencial.
Observação |
---|
Para obter informações sobre contadores de desempenho para réplicas de disponibilidade, (o objeto de desempenho SQLServer:Availability Replica ), consulte SQL Server, Réplica de Disponibilidade. |
[Início]
Monitorando bancos de dados de disponibilidade
Para monitorar bancos de dados de disponibilidade, use as seguintes exibições:
sys.availability_databases_cluster
Contém uma linha para cada banco de dados na instância do SQL Server que faz parte de todos os Grupos de Disponibilidade AlwaysOn no cluster, independentemente de se o banco de dados de cópia local foi unido ao grupo de disponibilidade.Observação Quando um banco de dados é adicionado a um grupo de disponibilidade, o banco de dados primário é unido automaticamente ao grupo. Os bancos de dados secundários deve estar preparados em cada réplica secundária para poderem ser unidos ao grupo de disponibilidade.
Nomes de coluna: group_id, group_database_id, database_name
sys.databases
Contém uma linha por banco de dados na instância do SQL Server. Se um banco de dados pertencer a uma réplica de disponibilidade, a linha daquele banco de dados exibirá o GUID da réplica e o identificador exclusivo do banco de dados dentro de seu grupo de disponibilidade.Nomes de colunas do Grupos de Disponibilidade AlwaysOn: replica_id, group_database_id
sys.dm_hadr_auto_page_repair
Retorna uma linha para cada tentativa de reparo automático de página em qualquer banco de dados de disponibilidade em uma réplica de disponibilidade hospedada para qualquer grupo de disponibilidade pela instância do servidor. Essa exibição contém linhas das últimas tentativas de reparo automático de página em um determinado banco de dados primário ou secundário, com um máximo de 100 linhas por banco de dados. Assim que o banco de dados atinge o máximo, a linha de sua próxima tentativa de conserto de página automático substitui uma das entradas existentes.Nomes de colunas: database_id, file_id, page_id, error_type, page_status, modification_time
sys.dm_hadr_database_replica_states
Retorna uma linha para cada banco de dados que está participando de qualquer grupo de disponibilidade para o qual a instância local do SQL Server hospeda uma réplica de disponibilidade.Nomes de colunas: database_id, group_id, replica_id, group_database_id, is_local, synchronization_state, synchronization_state_desc, is_commit_participant, synchronization_health, synchronization_health_desc, database_state, database_state_desc, is_suspended, suspend_reason, suspend_reason_desc, recovery_lsn, truncation_lsn, last_sent_lsn, last_sent_time, last_received_lsn, last_received_time, last_hardened_lsn, last_hardened_time, last_redone_lsn, last_redone_time, log_send_queue_size, log_send_rate, redo_queue_size, redo_rate, filestream_send_rate, end_of_log_lsn, last_commit_lsn, last_commit_time, low_water_mark_for_ghosts
sys.dm_hadr_database_replica_cluster_states
Retorna uma linha que contém informações destinadas a fornecer uma visão da integridade dos bancos de dados de disponibilidade em cada grupo de disponibilidade no cluster do WSFC (Windows Server Failover Clustering). Essa exibição de gerenciamento dinâmico é útil ao planejar ou responder a um failover ou para descobrir qual réplica secundária em um grupo de disponibilidade está mantendo truncamento de log em um determinado banco de dados primário.Nomes de 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 da réplica primária é a origem autoritativa de um grupo de disponibilidade.
Observação |
---|
Para obter informações sobre contadores de desempenho do Grupos de Disponibilidade AlwaysOn para bancos de dados de disponibilidade (o objeto de desempenho SQLServer:Database Replica), consulte SQL Server, Réplica de banco de dados. Além disso, para monitorar a atividade do log de transações em bancos de dados de disponibilidade, use os seguintes contadores do objeto de desempenho SQLServer:Databases: Log Flush Write Time (ms), Log Flushes/sec, Log Pool Cache Misses/sec, Log Pool Disk Reads/sec e Log Pool Requests/sec. Para obter mais informações, consulte SQL Server, objeto Databases. |
[Início]
Monitorando ouvintes de grupo de disponibilidade
Para monitorar os ouvintes de grupo de disponibilidade em sub-redes do cluster do WSFC, use as seguintes exibições:
sys.availability_group_listener_ip_addresses
Retorna uma linha para cada endereço IP virtual compatível que está online atualmente para um ouvinte de grupo de disponibilidade.Nomes de colunas: listener_id, ip_address, ip_subnet_mask, is_dhcp, network_subnet_ip, network_subnet_prefix_length, network_subnet_ipv4_mask, state, state_desc
sys.availability_group_listeners
Para um determinado grupo de disponibilidade, retorna zero linhas indicando que nenhum nome de rede está associado ao grupo de disponibilidade ou retorna uma linha para cada configuração de ouvinte de grupo de disponibilidade no cluster do WSFC.Nomes de colunas: group_id, listener_id, dns_name, port, is_conformant, ip_configuration_string_from_cluster
sys.dm_tcp_listener_states
Retorna uma linha que contém informações de estado dinâmico para cada ouvinte de TCP.Nomes de colunas: listener_id, ip_address, is_ipv4, port, type, type_desc, state, state_desc, start_time
Chave primária: listener_id
Para obter informações sobre os ouvintes dos grupos de disponibilidade, consulte Ouvintes de grupo de disponibilidade, conectividade de cliente e failover de aplicativo (SQL Server).
[Início]
Tarefas relacionadas
Tarefas de monitoração sobre grupos de disponibilidade AlwaysOn:
Exibir propriedades do grupo de disponibilidade (SQL Server)
Exibir as propriedades da réplica de disponibilidade (SQL Server)
Exibir propriedades do ouvinte do grupo de disponibilidade (SQL Server)
Referência do monitoramento de grupos de disponibilidade AlwaysOn (Transact-SQL):
sys.dm_hadr_availability_replica_cluster_nodes (Transact-SQL)
sys.dm_hadr_availability_replica_cluster_states (Transact-SQL)
sys.dm_hadr_availability_replica_cluster_states (Transact-SQL)
Contadores de desempenho AlwaysOn:
Gerenciamento baseado em políticas para grupos de disponibilidade AlwaysOn
[Início]
Consulte também
Conceitos
Grupos de Disponibilidade AlwaysOn (SQL Server)
Visão geral de grupos de disponibilidade AlwaysOn (SQL Server)