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 | Indique si le réplica est local, l’un des 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 | Rôle de groupes de disponibilité Always On actuel d’un réplica local ou d’un réplica distant connecté, l’un des 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’un des suivants : RESOLVING PRIMARY SECONDARY |
operational_state | tinyint | État opérationnel actuel du réplica, l’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) | 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 autre que 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 le mode de disponibilité du réplica (mode de validation synchrone ou de validation asynchrone). Le cumul 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 : Pas 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, le rôle, reflète l’état d’un réplica de disponibilité donné et l’état opérationnel, operational_state, décrit si le réplica est prêt à traiter les demandes du client pour toutes les bases de données du réplica de disponibilité. Voici un résumé des états opérationnels qui sont possibles pour chaque rôle : RESOLVING, PRIMARY et SECONDARY.
RÉSOLUTION : Lorsqu’un réplica de disponibilité se trouve dans le rôle RÉSOLUTION, les états opérationnels possibles sont indiqués dans le tableau suivant.
État opérationnel | 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. |
PRIMARY : 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 comme indiqué dans le tableau suivant.
État opérationnel | 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 SECONDAIRE, il s’agit actuellement d’un réplica secondaire. Les états opérationnels possibles sont comme indiqué dans le tableau ci-dessous.
État opérationnel | Description |
---|---|
ONLINE | Le réplica secondaire local n'est pas 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 plus récentes)
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)