Partager via


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.

ConseilConseil

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).

Icône de flèche utilisée avec le lien Retour en haut[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

Icône de flèche utilisée avec le lien Retour en haut[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é.

Icône de flèche utilisée avec le lien Retour en haut[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.

Icône de flèche utilisée avec le lien Retour en haut[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).

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Tâches associées

Tâches de surveillance de groupes de disponibilité AlwaysOn :

Référence sur la surveillance de groupes de disponibilité AlwaysOn (Transact-SQL) :

Compteurs de performances AlwaysOn :

Gestion basée sur des stratégies pour les groupes de disponibilité AlwaysOn

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Voir aussi

Concepts

Groupes de disponibilité AlwaysOn (SQL Server)

Vue d'ensemble des groupes de disponibilité AlwaysOn (SQL Server)

Surveillance des groupes de disponibilité (SQL Server)