Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 l’instance de serveur qui héberge le réplica principal. Lorsque vous interrogez cette vue de gestion dynamique sur une instance de serveur qui héberge un réplica secondaire d’un groupe de disponibilité, elle retourne uniquement des informations locales pour le groupe de disponibilité.
| Nom de la colonne | Type de données | Pouvant être nul | Description |
|---|---|---|---|
replica_id |
uniqueidentifier | Non | Identificateur unique du réplica. |
group_id |
uniqueidentifier | Non | Identificateur unique du groupe de disponibilité. |
is_local |
bit | Non | 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 | Oui | 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ésolution1 = Principal2 = SecondairePour plus d’informations sur les rôles de groupes de disponibilité Always On, consultez Qu’est-ce qu’un groupe de disponibilité Always On ? |
role_desc |
nvarchar(60) | Oui | Description de role, l’une des suivantes :RESOLVINGPRIMARYSECONDARY |
operational_state |
tinyint | Oui | État opérationnel actuel du réplica, l’un des suivants :0 = Basculement en attente1 = En attente2 = En ligne3 = Hors connexion4 = Échec5 = Échec, aucun quorumNULL = Le réplica n’est pas local.Pour plus d’informations, consultez Rôles et États opérationnels, plus loin dans cet article. |
operational_state_desc |
nvarchar(60) | Oui | Description de operational_state, l’une des suivantes :PENDING_FAILOVERPENDINGONLINEOFFLINEFAILEDFAILED_NO_QUORUMNULL |
connected_state |
tinyint | Oui | 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) | Oui | Description de connection_state, l’une des suivantes :DISCONNECTEDCONNECTED |
recovery_health |
tinyint | Oui | Cumul de la database_state colonne 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 ONLINE données (database_state is 0).NULL: is_local = 0 |
recovery_health_desc |
nvarchar(60) | Oui | Description de recovery_health, l’une des suivantes :ONLINE_IN_PROGRESSONLINENULL |
synchronization_health |
tinyint | Oui | 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 l’état NOT SYNCHRONIZING .1 = Partiellement sain. Certains réplicas ne sont pas dans l’état de synchronisation cible : les réplicas de validation synchrone doivent être synchronisés et les réplicas de validation asynchrone doivent être synchronisés.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) | Oui | Description de synchronization_health, l’une des suivantes :NOT_HEALTHYPARTIALLY_HEALTHYHEALTHY |
last_connect_error_number |
int | Oui | Numéro de la dernière erreur de connexion. |
last_connect_error_description |
nvarchar(1024) | Oui | Texte du last_connect_error_number message. |
last_connect_error_timestamp |
datetime | Oui | Horodatage de date et d’heure indiquant quand l’erreur last_connect_error_number s’est produite. |
write_lease_remaining_ticks |
bigint | Oui | Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie. |
current_configuration_commit_start_time_utc |
datetime | Oui | Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie. |
is_internal |
bit | Oui | Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie. |
operational_state_desc |
nvarchar(60) | Oui | Description de operational_state, l’une des suivantes :PENDING_FAILOVERPENDINGONLINEOFFLINEFAILEDFAILED_NO_QUORUMNULL |
recovery_health |
tinyint | Oui | Cumul de la database_state colonne 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 ONLINE données (database_state is 0).NULL: is_local n’est pas 0 |
synchronization_health |
tinyint | Non | 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. Les valeurs possibles et leurs descriptions sont les suivantes :0 = Pas sain. Au moins une base de données jointe est dans l’état NOT SYNCHRONIZING .1 = Partiellement sain. Certains réplicas ne sont pas dans l’état de synchronisation cible : les réplicas de validation synchrone doivent être synchronisés et les réplicas de validation asynchrone doivent être synchronisés.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. |
Rôles et états opérationnels
Le rôle, rolereflète l’état d’un réplica de disponibilité donné. L’état opérationnel, operational_statedé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é. Le tableau suivant récapitule les états opérationnels possibles pour chaque rôle : RESOLVING, PRIMARYet SECONDARY.
RESOLVING: lorsqu’un réplica de disponibilité se trouve dans le RESOLVING rôle, les états opérationnels possibles sont comme indiqué dans le tableau suivant.
| État opérationnel | Description |
|---|---|
PENDING_FAILOVER |
Le système traite une commande de basculement pour le groupe de disponibilité. |
OFFLINE |
Toutes les données de configuration du réplica de disponibilité sont mises à jour sur le cluster WSFC et, également, dans les métadonnées locales, mais le groupe de disponibilité ne dispose actuellement pas d’un réplica principal. |
FAILED |
Un échec de lecture s’est produit lors d’une tentative de récupération d’informations à partir du cluster WSFC. |
FAILED_NO_QUORUM |
Le nœud WSFC local n’a pas de quorum. Cet état est déduit. |
PRIMARY: Lorsqu’un réplica de disponibilité effectue le PRIMARY rôle, 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 |
Cet état est temporaire, mais un réplica principal peut être bloqué dans cet état si les workers 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 ou écrire à partir du cluster WSFC. |
SECONDARY: Lorsqu’un réplica de disponibilité effectue le SECONDARY rôle, 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 ou écrire à partir du cluster WSFC. |
NULL |
Sur un réplica principal, cette valeur est retournée lorsque la ligne est liée à un réplica secondaire. |
autorisations
SQL Server 2019 (15.x) et les versions antérieures nécessitent VIEW SERVER STATE une autorisation sur le serveur.
SQL Server 2022 (16.x) et versions ultérieures nécessitent VIEW SERVER PERFORMANCE STATE une autorisation sur le serveur.