sys.dm_hadr_database_replica_cluster_states (Transact-SQL)

S’applique à :SQL Server

Retourne une ligne contenant des informations sur l’intégrité des bases de données de disponibilité dans les groupes de disponibilité Always On de chaque groupe de disponibilité Always On sur le cluster WSFC (Clustering de basculement Windows Server). Requête sys.dm_hadr_database_replica_cluster_states pour répondre aux questions suivantes :

  • Toutes les bases de données d'un groupe de service sont-elles prêtes pour un basculement ?

  • Est-ce-qu'après un basculement forcé, une base de données secondaire s'est interrompue localement et a signalé son état suspendu au nouveau réplica principal ?

  • Si le réplica principal n'est pas disponible actuellement, quel réplica secondaire permettrait la perte minimale de données s'il devenait le réplica principal ?

  • Quand la valeur de la colonne sys.databaseslog_reuse_wait_desc est AVAILABILITY_REPLICA, quel réplica secondaire dans un groupe de disponibilité tient la troncation du journal sur une base de données primaire donnée ?

Nom de la colonne Type de données Description
replica_id uniqueidentifier Identificateur du réplica de disponibilité dans le groupe de disponibilité.
group_database_id uniqueidentifier Identificateur de la base de données dans le groupe de disponibilité. Cet identificateur est identique sur chaque réplica auquel cette base de données est attachée.
database_name sysname Nom d'une base de données qui appartient au groupe de disponibilité.
is_failover_ready bit Indique si la base de données secondaire est synchronisée avec la base de données primaire correspondante. Oneof:

0 = La base de données n’est pas marquée comme synchronisée dans le cluster. La base de données n’est pas prête pour un basculement.

1 = la base de données est marquée comme étant synchronisée dans le cluster. La base de données est prête pour un basculement.
is_pending_secondary_suspend bit Indique si, après un basculement forcé, la base de données est en attente de suspension. Peut prendre une des valeurs suivantes :

0 = Tous les états à l’exception de HADR_SYNCHRONIZED_SUSPENDED.

1 = HADR_SYNCHRONIZED_SUSPENDED. Lorsqu’un basculement forcé est terminé, chacune des bases de données secondaires est définie sur HADR_SYNCHONIZED_SUSPENDED et reste dans cet état jusqu’à ce que le nouveau réplica principal reçoive un accusé de réception de cette base de données secondaire vers le message SUSPEND.

NULL = inconnu (aucun quorum)
is_database_joined bit Indique si la base de données sur ce réplica de disponibilité a été attachée au groupe de disponibilité. Peut prendre une des valeurs suivantes :

0 = La base de données n’est pas jointe au groupe de disponibilité sur ce réplica de disponibilité.

1 = la base de données est attachée au groupe de disponibilité sur ce réplica de disponibilité.

NULL = inconnu (le réplica de disponibilité ne possède pas de quorum).
recovery_lsn numeric(25,0) Sur le réplica principal, la fin du journal des transactions avant que le réplica n'écrive de nouveaux enregistrements de journal après la récupération ou le basculement. Sur le réplica principal, la ligne d’une base de données secondaire donnée a la valeur dont le réplica principal a besoin que le réplica secondaire se synchronise (autrement dit, pour revenir à et réinitialiser).

Sur les réplicas secondaires, cette valeur est NULL. Chaque réplica secondaire a la valeur MAX ou une valeur inférieure que le réplica principal a dit au réplica secondaire de revenir à.
truncation_lsn numeric(25,0) La valeur de troncation du journal des groupes de disponibilité Always On, qui peut être supérieure à la valeur LSN de troncation locale si la troncation du journal local est bloquée (par exemple, par une opération de sauvegarde).

Autorisations

Pour SQL Server 2019 (15.x) et les versions antérieures, nécessite l’autorisation VIEW SERVER STATE sur le serveur.

Pour SQL Server 2022 (16.x) et versions ultérieures, nécessite l’autorisation VIEW SERVER PERFORMANCE STATE sur le serveur.

Voir aussi