sys.dm_hadr_availability_replica_states (Transact-SQL)

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

Important

Pour obtenir des informations sur chaque réplica de disponibilité 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 colonne

Type de données

Description

replica_id

uniqueidentifier

Identificateur unique du réplica de disponibilité.

group_id

uniqueidentifier

Identificateur unique du groupe de disponibilité.

is_local

bit

Si le réplica de disponibilité est local, une des valeurs suivantes :

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 de disponibilité 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

Rôle Groupes de disponibilité AlwaysOn actuel d'un réplica de disponibilité local ou d'un réplica de disponibilité distant connecté, peut prendre l'une des valeurs suivantes :

0 = Résolution

1 = Principal

2 = Secondaire

Pour plus d'informations sur les rôles Groupes de disponibilité AlwaysOn, consultez Vue d'ensemble des groupes de disponibilité AlwaysOn (SQL Server).

role_desc

nvarchar(60)

Description de role, peut prendre l'une des valeurs suivantes :

RESOLVING

PRIMARY

SECONDARY

operational_state

tinyint

État opérationnel actuel du groupe de disponibilité, un des 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)

La description de operational_state peut être :

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, à savoir :

ValeurDescription
0En coursAu moins une base de données jointe présente un état de base de données autre que ONLINE (database_state est différent de 0).
1En ligne.Toutes les bases de données jointes présentent un état de base de données ONLINE (database_state est 0).
NULLis_local = 0

recovery_health_desc

nvarchar(60)

Description de recovery_health, 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 de base de données ») et du mode de disponibilité du réplica de disponibilité (en mode de validation synchrone ou asynchrone). Le cumul reflète l'état accumulé le moins sain des bases de données sur le réplica de disponibilité.

ValeurDescription
0Non sain.Au moins une base de données jointe est dans un état NOT SYNCHRONIZING.
1Partiellement sain.Un réplica de disponibilité à validation synchrone est considéré comme partiellement sain si l'état de synchronisation de certaines bases de données jointes (et non de l'ensemble) est SYNCHRONIZED.Un réplica à validation asynchrone est considéré comme partiellement sain si l'état de synchronisation de certaines bases de données jointes (et non de l'ensemble) est SYNCHRONIZING.
2Sain.Un réplica à validation synchrone est considéré comme sain si l'état de synchronisation de toutes les bases de données jointes est SYNCHRONIZED.Un réplica à validation asynchrone est considéré comme sain si l'état de synchronisation de toutes les bases de données jointes est SYNCHRONIZING.

synchronization_health_desc

nvarchar(60)

La description de synchronization_health peut être :

NOT_HEALTHY

PARTIALLY_HEALTHY

HEALTHY

connected_state

tinyint

Si un réplica secondaire est actuellement connecté au réplica principal, une des valeurs suivantes :

ValeurDescription
0Déconnecté.La réponse d'un réplica de disponibilité à l'état DISCONNECTED dépend de son rôle, comme suit :
  • Sur le réplica principal, si un réplica secondaire est déconnecté, ses bases de données secondaires sont marquées comme non synchronisées (NOT SYNCHRONIZED) sur le réplica principal, lequel attend que le réplica secondaire se reconnecte.

  • Sur un réplica secondaire, lors de la détection d'une déconnexion, le réplica secondaire tente de se reconnecter au réplica principal.

1Connecté.

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)

La description de connection_state peut être :

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

Horodateur de date et heure indiquant le moment où l'erreur last_connect_error_number s'est produite.

Rôles et états opérationnels

Le rôle, role, 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 des clients pour toutes les bases de données du réplica de disponibilité. Le tableau suivant résume les états opérationnels possibles pour chaque rôle : RESOLVING, PRIMARY et SECONDARY.

Role

Signification des états opérationnels pour chaque rôle

RESOLVING

Lorsqu'un réplica de disponibilité a le rôle RESOLVING, les états opérationnels possibles sont les suivantes :

État opérationnelDescription
PENDING_FAILOVERUne commande de basculement est traitée pour le groupe de disponibilité.
OFFLINEToutes 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.
FAILEDUn échec de lecture s'est produit pendant une tentative de récupération des informations du cluster WSFC.
FAILED_NO_QUORUMLe nœud local WSFC n'a pas de quorum.Il s'agit d'un état déduit.

PRIMARY

Lorsqu'un réplica de disponibilité a le rôle PRIMARY, il s'agit du réplica principal. Les états opérationnels possibles sont :

État opérationnelDescription
PENDINGIl 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.
ONLINELa ressource du groupe de disponibilité est en ligne, et tous les threads de travail de base de données ont été sélectionnés.
FAILEDLe réplica de disponibilité ne peut pas lire sur le cluster WSFC et/ou écrire à partir de celui-ci.

SECONDARY

Lorsqu'un réplica de disponibilité a le rôle SECONDARY, il s'agit d'un réplica secondaire. Les états opérationnels possibles sont :

État opérationnelDescription
ONLINELe réplica secondaire local n'est pas connecté au réplica principal.
FAILEDLe réplica secondaire local ne peut pas lire sur le cluster WSFC et/ou écrire à partir de celui-ci.
NULLSur un réplica principal, cette valeur est retournée lorsque la ligne est liée à un réplica secondaire.

Sécurité

Autorisations

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

Voir aussi

Concepts

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

Surveiller des groupes de disponibilité (Transact-SQL)