Surveiller des groupes de disponibilité (Transact-SQL)
Pour surveiller les groupes de disponibilité et les réplicas, ainsi que les bases de données associées à l'aide de Transact-SQL, Groupes de disponibilité AlwaysOn fournit un ensemble d'affichages catalogue et de vues de gestion dynamique, et des propriétés de serveur. Au moyen d'instructions Transact-SQL SELECT, vous pouvez utiliser les vues pour surveiller les groupes de disponibilité, ainsi que leurs réplicas et bases de données. Les informations retournées pour un groupe de disponibilité donné varient selon que vous êtes connecté à l'instance de SQL Server qui héberge le réplica principal ou un réplica secondaire.
Conseil |
---|
La plupart de ces vues peuvent être jointes à l'aide de leurs colonnes ID afin de retourner des informations émanant de plusieurs vues à l'aide d'une requête unique. |
Dans cette rubrique :
Autorisations
Utilisation de Transact-SQL pour surveiller :
Fonctionnalité de groupes de disponibilité AlwaysOn sur une instance de serveur
Groupes de disponibilité sur le cluster WSFC
Groupes de disponibilité
Réplicas de disponibilité
Bases de données de disponibilité
Écouteurs de groupe de disponibilité
Tâches associées
Autorisations
Les affichages catalogue Groupes de disponibilité AlwaysOn nécessitent l'autorisation VIEW ANY DEFINITION sur l'instance de serveur. Les vues de gestion dynamique Groupes de disponibilité AlwaysOn requièrent l'autorisation VIEW SERVER STATE sur le serveur.
Surveillance de la fonctionnalité de groupes de disponibilité AlwaysOn sur une instance de serveur
Pour surveiller la fonctionnalité Groupes de disponibilité AlwaysOn sur une instance de serveur, utilisez la fonction intégrée suivante :
Fonction SERVERPROPERTY
Retourne des informations de propriété de serveur indiquant si Groupes de disponibilité AlwaysOn est activé et, si tel est le cas, s'il a démarré sur l'instance de serveur.Noms de colonne : IsHadrEnabled, HadrManagerStatus
Surveillance des groupes de disponibilité sur le cluster WSFC
Pour surveiller le cluster WSFC (clustering de basculement Windows Server) qui héberge une instance de serveur locale activée pour Groupes de disponibilité AlwaysOn, utilisez les vues suivantes :
sys.dm_hadr_cluster
Si le nœud de clustering de basculement Windows Server (WSFC) qui héberge une instance de SQL Server avec Groupes de disponibilité AlwaysOn activé dispose d'un quorum WSFC, ssys.dm_hadr_cluster retourne une ligne qui expose le nom et les informations de cluster sur le quorum. Si le nœud WSFC n'a aucun quorum, aucune ligne n'est retournée.Noms de colonne : cluster_name, quorum_type, quorum_type_desc, quorum_state, quorum_state_desc
sys.dm_hadr_cluster_members
Si le nœud WSFC qui héberge l'instance locale AlwaysOn de SQL Server possède un quorum WSFC, retourne une ligne pour chacun des membres qui constituent le quorum et l'état de chacun d'eux.Noms de colonne : member_name, member_type, member_type_desc, member_state, member_state_desc, number_of_quorum_votes
sys.dm_hadr_cluster_networks
Retourne une ligne pour chaque membre qui participe à la configuration de sous-réseau d'un groupe de disponibilité. Vous pouvez utiliser cette vue de gestion dynamique pour valider l'adresse IP virtuelle de réseau qui est configurée pour chaque réplica de disponibilité.Noms de colonne : member_name, network_subnet_ip, network_subnet_ipv4_mask, network_subnet_prefix_length, is_public, is_ipv4
Clé primaire : member_name + network_subnet_IP + network_subnet_prefix_length
sys.dm_hadr_instance_node_map
Pour chaque instance de SQL Server qui héberge un réplica de disponibilité joint à son groupe de disponibilité AlwaysOn, retourne le nom du nœud WSFC (clustering de basculement Windows Server) qui héberge l'instance de serveur. Cette vue de gestion dynamique permet les utilisations suivantes :Cette vue de gestion dynamique est utile pour détecter un groupe de disponibilité avec plusieurs réplicas de disponibilité hébergés sur le même nœud WSFC, ce qui correspond à une configuration non prise en charge qui peut se produire après un basculement FCI si le groupe de disponibilité n'est pas correctement configuré.
Lorsque plusieurs instances de SQL Server sont hébergées sur le même nœud WSFC, la DLL de ressource utilise cette vue de gestion dynamique pour déterminer l'instance de SQL Server à laquelle se connecter.
Noms de colonne : ag_resource_id, instance_name, node_name
sys.dm_hadr_name_id_map
Affiche le mappage des groupes de disponibilité AlwaysOn auxquels l'instance active de SQL Server a été jointe à trois identificateurs uniques : un ID de groupe de disponibilité, un ID de ressource WSFC et un ID de groupe WSFC. L'objectif de ce mappage est de gérer le scénario dans lequel la ressource/le groupe WSFC est renommé.Noms de colonne : ag_name, ag_id, ag_resource_id, ag_group_id
[!REMARQUE]
Voyez également sys.dm_hadr_availability_replica_cluster_nodes et sys.dm_hadr_availability_replica_cluster_states dans la section Surveillance de réplicas de disponibilité et sys.availability_databases_cluster et sys.dm_hadr_database_replica_cluster_states dans la section Surveillance des bases de données de disponibilité plus loin dans cette rubrique.
Pour plus d'informations sur les clusters WSFC et Groupes de disponibilité AlwaysOn, consultez Clustering de basculement Windows Server (WSFC) avec SQL Server et Clustering de basculement et groupes de disponibilité AlwaysOn (SQL Server).
[Haut de la page]
Surveillance des groupes de disponibilité
Pour surveiller les groupes de disponibilité pour lesquels l'instance de serveur héberge un réplica de disponibilité, utilisez les vues suivantes :
sys.availability_groups
Retourne une ligne pour chaque groupe de disponibilité pour lequel l'instance locale de SQL Server héberge un réplica de disponibilité. Chaque ligne contient une copie mise en cache des métadonnées du groupe de disponibilité.Noms de colonne : 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
Retourne une ligne pour chaque groupe de disponibilité du cluster WSFC. Chaque ligne contient les métadonnées du groupe de disponibilité du cluster de clustering de basculement Windows Server (WSFC).Noms de colonne : 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
Retourne une ligne pour chaque groupe de disponibilité qui possède un réplica de disponibilité sur l'instance locale de SQL Server. Chaque ligne affiche les états qui définissent l'intégrité d'un groupe de disponibilité donné.Noms de colonne : group_id, primary_replica, primary_recovery_health, primary_recovery_health_desc, secondary_recovery_health, secondary_recovery_health_desc, synchronization_health, synchronization_health_desc
[Haut de la page]
Surveillance de réplicas de disponibilité
Pour surveiller les réplicas de disponibilité, utilisez les vues et fonction système suivantes :
sys.availability_replicas
Retourne une ligne pour chaque réplica de disponibilité dans chaque groupe de disponibilité pour lequel l'instance locale de SQL Server héberge un réplica de disponibilité.Noms de colonne : 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
Retourne une ligne pour la liste de routage en lecture seule de chaque réplica de disponibilité d'un groupe de disponibilité AlwaysOn dans le cluster de basculement WSFC.Noms de colonne : replica_id, routing_priority, read_only_replica_id
sys.dm_hadr_availability_replica_cluster_nodes
Retourne une ligne pour chaque réplica de disponibilité (indépendamment de l'état de jointure) des groupes de disponibilité AlwaysOn dans le cluster de clustering de basculement Windows Server (WSFC).Noms de colonne : group_name, replica_server_name, node_name
sys.dm_hadr_availability_replica_cluster_states
Retourne une ligne pour chaque réplica (indépendamment de l'état de jointure) de tous les groupes de disponibilité AlwaysOn (indépendamment de l'emplacement du réplica) dans le cluster WSFC (clustering de basculement Windows Server).Noms de colonne : replica_id, replica_server_name, group_id, join_state, join_state_desc
sys.dm_hadr_availability_replica_states
Retourne une ligne montrant l'état de chaque réplica de disponibilité local et une ligne pour chaque réplica de disponibilité distant au sein du même groupe de disponibilité.Noms de colonne : 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 et last_connect_error_timestamp
sys.fn_hadr_backup_is_preferred_replica
Détermine si le réplica actuel est le réplica de sauvegarde par défaut.
[!REMARQUE]
Pour plus d'informations sur les compteurs de performances pour les réplicas de disponibilité (l'objet de performance SQLServer:Availability Replica ), consultez SQL Server, réplica de disponibilité.
[Haut de la page]
Surveillance des bases de données de disponibilité
Pour surveiller les bases de données de disponibilité, utilisez les vues suivantes :
sys.availability_databases_cluster
Contient une ligne pour chaque base de données sur l'instance de SQL Server qui fait partie de tous les groupes de disponibilité AlwaysOn du cluster, que la base de données de copie locale ait déjà été jointe au groupe de disponibilité ou non.[!REMARQUE]
Lorsqu'une base de données est ajoutée à un groupe de disponibilité, la base de données primaire est automatiquement jointe au groupe. Les bases de données secondaires doivent être préparées sur chaque réplica secondaire avant de pouvoir être jointes au groupe de disponibilité.
Noms de colonne : group_id, group_database_id, database_name
sys.databases
Contient une ligne par base de données dans l'instance de SQL Server. Si une base de données appartient à un réplica de disponibilité, la ligne de cette base de données affiche l'identifiant GUID du réplica et l'identificateur unique de la base de données au sein de son groupe de disponibilité.Noms de colonne Groupes de disponibilité AlwaysOn : replica_id, group_database_id
sys.dm_hadr_auto_page_repair
Retourne une ligne pour chaque tentative de réparation de page automatique sur une base de données de disponibilité sur un réplica de disponibilité hébergé pour tout groupe de disponibilité par l'instance de serveur. Cette vue contient des lignes pour les tentatives de réparation de page automatique les plus récentes sur une base de données primaire ou secondaire donnée, avec un maximum de 100 lignes par base de données. Dès qu'une base de données atteint le maximum, la ligne pour sa tentative de réparation de page automatique suivante remplace l'une des entrées existantes.Noms de colonne : database_id, file_id, page_id, error_type, page_status, modification_time
sys.dm_hadr_database_replica_states
Retourne une ligne pour chaque base de données qui participe à un groupe de disponibilité pour lequel l'instance locale de SQL Server héberge un réplica de disponibilité.Noms de colonne : 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
Retourne une ligne qui contient des informations destinées à vous fournir un éclairage concernant l'intégrité des bases de données de disponibilité dans chaque groupe de disponibilité sur le cluster WSFC (clustering de basculement Windows Server). Cette vue de gestion dynamique est utile lors de la planification d'un basculement, ou en réponse à un basculement, ou encore pour découvrir quel réplica secondaire d'un groupe de disponibilité retarde la troncation du journal sur une base de données primaire particulière.Noms de colonne : replica_id, group_database_id, database_name, is_failover_ready, is_pending_secondary_suspend, is_database_joined, recovery_lsn, truncation_lsn
[!REMARQUE]
L'emplacement du réplica principal constitue la source d'autorité pour un groupe de disponibilité.
[!REMARQUE]
Pour plus d'informations sur les compteurs de performances Groupes de disponibilité AlwaysOn pour les bases de données de disponibilité, (objet de performance SQLServer:Database Replica), consultez SQL Server, réplica de base de données. De plus, pour surveiller l'activité des journaux des transactions sur des bases de données de disponibilité, utilisez les compteurs suivants de l'objet de performance SQLServer:Databases : Temps d'attente de vidage du journal (ms), Vidages du journal/s, Journaliser les absences dans le cache/s du pool, Journaliser les lectures du disque/s du pool et Journaliser les requêtes/s du pool. Pour plus d'informations, consultez SQL Server, objet Databases.
[Haut de la page]
Surveillance des écouteurs de groupe de disponibilité
Pour surveiller les écouteurs de groupe de disponibilité sur les sous-réseaux du cluster WSFC, utilisez les vues suivantes :
sys.availability_group_listener_ip_addresses
Retourne une ligne pour chaque adresse IP virtuelle conforme actuellement en ligne pour un écouteur de groupe de disponibilité.Noms de colonne : 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
Pour un groupe de disponibilité donné, retourne soit zéro ligne pour indiquer qu'aucun nom réseau n'est associé au groupe de disponibilité, soit une ligne pour chaque configuration d'écouteur de groupe de disponibilité dans le cluster WSFC.Noms de colonne : group_id, listener_id, dns_name, port, is_conformant, ip_configuration_string_from_cluster
sys.dm_tcp_listener_states
Retourne une ligne qui contient des informations d'état dynamique pour chaque écouteur TCP.Noms de colonne : listener_id, ip_address, is_ipv4, port, type, type_desc, state, state_desc, start_time
Clé primaire : listener_id
Pour plus d'informations sur les écouteurs de groupe de disponibilité, consultez Écouteurs de groupe de disponibilité, connectivité client et basculement d'application (SQL Server).
[Haut de la page]
Tâches associées
Tâches de surveillance de groupes de disponibilité AlwaysOn :
Afficher les propriétés d'un groupe de disponibilité (SQL Server)
Afficher les propriétés d'un réplica de disponibilité (SQL Server)
Afficher les propriétés d'écouteur de groupe de disponibilité (SQL Server)
Référence sur la surveillance de groupes de disponibilité 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)
Compteurs de performances AlwaysOn :
Gestion basée sur des stratégies pour les groupes de disponibilité AlwaysOn
Utiliser les stratégies AlwaysOn pour afficher l'intégrité d'un groupe de disponibilité (SQL Server)
Utiliser le tableau de bord AlwaysOn (SQL Server Management Studio)
[Haut de la page]
Voir aussi
Concepts
Groupes de disponibilité AlwaysOn (SQL Server)
Vue d'ensemble des groupes de disponibilité AlwaysOn (SQL Server)