sys.dm_hadr_availability_replica_states (Transact-SQL)

S’applique à :SQL Server

Retourne une ligne pour chaque réplica local et une ligne pour chaque réplica distant dans le même groupe de disponibilité Always On qu'un réplica local. Chaque ligne contient des informations sur l'état d'un réplica donné.

Important

Pour obtenir des informations sur chaque réplica d’un groupe de disponibilité donné, interrogez sys.dm_hadr_availability_replica_states sur l’instance de serveur qui héberge le réplica principal. En cas d'interrogation sur une instance de serveur qui héberge un réplica secondaire d'un groupe de disponibilité, cette vue de gestion dynamique retourne uniquement les informations locales pour le groupe de disponibilité.

Nom de la colonne Type de données Description
replica_id uniqueidentifier Identificateur unique du réplica.
group_id uniqueidentifier Identificateur unique du groupe de disponibilité.
is_local bit Si le réplica est local, l’un des éléments suivants :

0 = Indique un réplica secondaire distant dans un groupe de disponibilité dont le réplica principal est hébergé par l'instance de serveur local. Cette valeur est présente uniquement sur l'emplacement de réplica principal.

1 = Indique un réplica local. Sur les réplicas secondaires, il s'agit de la seule valeur disponible pour le groupe de disponibilité auquel le réplica appartient.
role tinyint Actuel Always On rôle de groupes de disponibilité d’un réplica local ou d’un réplica distant connecté, l’un des éléments suivants :

0 = Résolution

1 = Principal

2 = Secondaire

Pour plus d’informations sur les rôles des Groupes de disponibilité Always On, consultez Vue d’ensemble des groupes de disponibilité Always On (SQL Server).
role_desc nvarchar(60) Description du rôle, l’une des suivantes :

RESOLVING

PRIMARY

SECONDARY
operational_state tinyint État opérationnel actuel du réplica, l’un des éléments suivants :

0 = Basculement en attente

1 = En attente

2 = En ligne

3 = hors connexion

4 = Échec

5 = Échec, aucun quorum

NULL = Le réplica n'est pas local.

Pour plus d’informations, consultez Rôles et états opérationnels, plus loin dans cette rubrique.
operational_state_desc nvarchar(60) Description de operational_state, l’une des suivantes :

PENDING_FAILOVER

PENDING

ONLINE

OFFLINE

FAILED

FAILED_NO_QUORUM

NULL
recovery_health tinyint Cumul de la colonne database_state de la vue de gestion dynamique sys.dm_hadr_database_replica_states. Voici les valeurs possibles et leurs descriptions.

0 : En cours. Au moins une base de données jointe a un état de base de données différent de ONLINE (database_state n’est pas 0).

1 : En ligne. Toutes les bases de données jointes ont un état de base de données ONLINE (database_state est 0).

NULL : is_local = 0
recovery_health_desc nvarchar(60) Description de recovery_health, l’une des suivantes :

ONLINE_IN_PROGRESS

ONLINE

NULL
synchronization_health tinyint Reflète un cumul de l’état de synchronisation de base de données (synchronization_state) de toutes les bases de données de disponibilité jointes (également appelées réplicas) et du mode de disponibilité du réplica (mode de validation synchrone ou de validation asynchrone). Le correctif cumulatif reflète l’état cumulé le moins sain des bases de données sur le réplica. Vous trouverez ci-dessous les valeurs possibles et leurs descriptions.

0 : Non sain. Au moins une base de données jointe est dans un état NOT SYNCHRONIZING.

1 : Partiellement sain. Certains réplicas ne sont pas dans l'état de synchronisation cible : les réplicas avec validation synchrone doivent être synchronisés, et les réplicas avec validation asynchrone doivent être en cours de synchronisation.

2 : Sain. Tous les réplicas sont dans l'état de synchronisation cible : les réplicas avec validation synchrone sont synchronisés, et les réplicas avec validation asynchrone sont en cours de synchronisation.
synchronization_health_desc nvarchar(60) Description de synchronization_health, l’une des suivantes :

NOT_HEALTHY

PARTIALLY_HEALTHY

HEALTHY
connected_state tinyint Indique si un réplica secondaire est actuellement connecté au réplica principal. Les valeurs possibles sont indiquées ci-dessous avec leurs descriptions.

0 : déconnecté. La réponse d’un réplica de disponibilité à l’état DISCONNECTED dépend de son rôle : Sur le réplica principal, si un réplica secondaire est déconnecté, ses bases de données secondaires sont marquées comme NOT SYNCHRONIZED sur le réplica principal, qui attend que le réplica secondaire se reconnecte ; Sur un réplica secondaire, lors de la détection qu’il est déconnecté, le réplica secondaire tente de se reconnecter au réplica principal.

1 : Connecté.

Chaque réplica principal suit l'état de la connexion pour chaque réplica secondaire dans le même groupe de disponibilité. Les réplicas secondaires suivent l'état de connexion du réplica principal uniquement.
connected_state_desc nvarchar(60) Description de connection_state, l’une des suivantes :

DISCONNECTED

CONNECTED
last_connect_error_number int Numéro de la dernière erreur de connexion.
last_connect_error_description nvarchar(1024) Texte du message last_connect_error_number .
last_connect_error_timestamp datetime Horodatage de date et d’heure indiquant quand l’erreur last_connect_error_number s’est produite.

Rôles et états opérationnels

Le rôle reflète l’état d’un réplica de disponibilité donné et l’état opérationnel, operational_state, indique si le réplica est prêt à traiter les demandes du client pour toute la base de données du réplica de disponibilité. Voici un résumé des états opérationnels possibles pour chaque rôle : RESOLVING, PRIMARY et SECONDARY.

RÉSOUDRE: Lorsqu’un réplica de disponibilité est dans le rôle RÉSOLUTION, les états opérationnels possibles sont indiqués dans le tableau suivant.

État de fonctionnement Description
PENDING_FAILOVER Une commande de basculement est traitée pour le groupe de disponibilité.
OFFLINE Toutes les données de configuration du réplica de disponibilité ont été mises à jour sur le cluster WSFC, ainsi que dans les métadonnées locales, mais le groupe de disponibilité ne dispose pas actuellement de réplica principal.
FAILED Un échec de lecture s'est produit pendant une tentative de récupération des informations du cluster WSFC.
FAILED_NO_QUORUM Le nœud local WSFC n'a pas de quorum. Il s'agit d'un état déduit.

PRIMAIRE: Lorsqu’un réplica de disponibilité exécute le rôle PRIMARY, il s’agit actuellement du réplica principal. Les états opérationnels possibles sont indiqués dans le tableau suivant.

État de fonctionnement Description
PENDING Il s'agit d'un état temporaire, mais un réplica principal peut être bloqué dans cet état si les processus de travail ne sont pas disponibles pour traiter les demandes.
ONLINE La ressource du groupe de disponibilité est en ligne, et tous les threads de travail de base de données ont été sélectionnés.
FAILED Le réplica de disponibilité ne peut pas lire sur le cluster WSFC et/ou écrire à partir de celui-ci.

SECONDAIRE: Lorsqu’un réplica de disponibilité exécute le rôle SECONDARY, il s’agit actuellement d’un réplica secondaire. Les états opérationnels possibles sont indiqués dans le tableau ci-dessous.

État de fonctionnement Description
ONLINE Le réplica secondaire local est connecté au réplica principal.
FAILED Le réplica secondaire local ne peut pas lire sur le cluster WSFC et/ou écrire à partir de celui-ci.
NULL Sur un réplica principal, cette valeur est retournée lorsque la ligne est liée à un réplica secondaire.

Autorisations

requièrent l'autorisation VIEW SERVER STATE sur le serveur.

Autorisations pour SQL Server 2022 et versions ultérieures

Nécessite l’autorisation VIEW SERVER PERFORMANCE STATE sur le serveur.

Voir aussi

Vue d’ensemble des groupes de disponibilité Always On (SQL Server)
Surveiller des groupes de disponibilité (Transact-SQL)