sys.availability_replicas (Transact-SQL)

Retourne une ligne pour chacun des réplicas de disponibilité qui appartiennent à un groupe de disponibilité AlwaysOn dans le cluster de basculement WSFC.

Si l'instance de serveur locale ne peut pas communiquer avec le cluster de basculement WSFC, par exemple parce que le cluster est fermé ou le quorum a été perdu, seules les lignes des réplicas de disponibilité locaux sont retournées. Ces lignes contiendront uniquement les colonnes de données qui sont mises en cache localement dans les métadonnées.

Nom de la colonne

Type de données

Description

replica_id

uniqueidentifier

ID unique du réplica.

group_id

uniqueidentifier

ID unique du groupe de disponibilité auquel le réplica appartient.

replica_metadata_id

int

ID de l'objet des métadonnées locales pour les réplicas de disponibilité du moteur de base de données.

replica_server_name

nvarchar(256)

Nom de serveur de l'instance de SQL Server qui héberge ce réplica et, pour une instance non définie par défaut, son nom d'instance.

owner_sid

varbinary(85)

Identificateur de sécurité (SID) enregistré sur cette instance de serveur pour le propriétaire externe de ce réplica de disponibilité.

NULL pour les réplicas de disponibilité non locaux.

endpoint_url

nvarchar(128)

Représentation de chaîne du point de terminaison de mise en miroir de bases de données spécifié par l'utilisateur, qui est utilisé par les connexions entre les réplicas principal et secondaire pour la synchronisation des données. Pour plus d'informations sur la syntaxe des URL de point de terminaison, consultez Spécifier l'URL de point de terminaison lors de l'ajout ou lors de la modification d'un réplica de disponibilité (SQL Server).

NULL = Impossible de communiquer avec le cluster de basculement WSFC.

Pour modifier ce point de terminaison, utilisez l'option ENDPOINT_URL de l'instruction ALTER AVAILABILITY GROUP Transact-SQL.

availability_mode

tinyint

Mode de disponibilité du réplica, parmi :

Valeur

Signification

0

Validation asynchrone. Le réplica principal peut valider des transactions sans attendre que le réplica secondaire écrive le journal sur le disque.

1

Validation synchrone. Le réplica principal attend pour valider une transaction donnée que le réplica secondaire ait écrit la transaction sur le disque.

Pour plus d'informations, consultez Modes de disponibilité (groupes de disponibilité AlwaysOn).

availability_mode_desc

nvarchar(60)

Description de availability_mode, parmi :

ASYNCHRONOUS_COMMIT

SYNCHRONOUS_COMMIT

Pour modifier le mode de disponibilité d'un réplica de disponibilité, utilisez l'option AVAILABILITY_MODE de l'instruction ALTER AVAILABILITY GROUP Transact-SQL.

failover_mode

tinyint

Mode de basculement du réplica de disponibilité. Il peut s'agir de l'un des modes suivants :

Valeur

Signification

0

Basculement manuel. Un basculement vers un réplica secondaire qui est manuel doit être initialisé manuellement par l'administrateur de la base de données. Le type de basculement exécuté dépendra de la synchronisation du réplica secondaire, à savoir :

  • Si le réplica de disponibilité n'est pas synchronisé ou si sa synchronisation est en cours, seul le basculement forcé (avec perte de données) est possible.

  • Si le mode de service est défini sur la validation synchrone (availability_mode = 1) et le réplica de disponibilité est actuellement synchronisé, le basculement manuel sans perte de données est possible.

1

Basculement automatique. Le réplica est une cible potentielle des basculements automatiques. Le basculement automatique est pris en charge uniquement si le mode de service est défini sur la validation synchrone (availability_mode = 1) et le réplica de disponibilité est actuellement synchronisé.

Pour afficher une récupération de l'état de synchronisation de la base de données pour chaque base de données de disponibilité dans un réplica de disponibilité, utilisez les colonnes synchronization_health et synchronization_health_desc de la vue de gestion dynamique sys.dm_hadr_availability_replica_states. La récupération prend en compte l'état de synchronisation de chaque base de données de disponibilité et le mode de disponibilité de son réplica de disponibilité.

ConseilConseil

Pour afficher l'état de synchronisation d'une base de données de disponibilité spécifique, interrogez les colonnes synchronization_state et synchronization_health de la vue de gestion dynamique sys.dm_hadr_database_replica_states.

failover_mode_desc

nvarchar(60)

Description de failover_mode, parmi :

MANUAL

AUTOMATIC

Pour modifier le mode de basculement, utilisez l'option FAILOVER_MODE de l'instruction ALTER AVAILABILITY GROUP Transact-SQL.

session_timeout

int

Délai d'attente en secondes. Le délai d'attente est le temps maximum pendant lequel le réplica attend de recevoir un message d'un autre réplica avant qu'on ne considère que la connexion entre le réplica principal et secondaire a échoué. Le délai d'expiration de session détecte si les réplicas secondaries sont connectés au réplica primaire.

En cas de détection d'un échec de connexion avec un réplica secondaire, le réplica principal considère que le réplica secondaire présente l'état NOT_SYNCHRONIZED. En cas de détection d'un échec de connexion avec le réplica principal, un réplica secondaire tente simplement de se reconnecter.

[!REMARQUE]

Les délais d'expiration de session ne provoquent pas de basculements automatiques.

Pour modifier cette valeur, utilisez l'option SESSION_TIMEOUT de l'instruction ALTER AVAILABILITY GROUP Transact-SQL.

primary_role_allow_connections

tinyint

Indique si la disponibilité permet toutes les connexions ou uniquement les connexions en lecture-écriture, parmi :

2 = Toutes (valeur par défaut)

3 = Lecture-écriture

primary_role_allow_connections_desc

nvarchar(60)

Description de primary_role_allow_connections, parmi :

ALL

READ_WRITE

secondary_role_allow_connections

tinyint

Si un réplica de disponibilité qui revêt le rôle secondaire (autrement dit, un réplica secondaire) peut accepter les connexions des clients, les options suivantes sont disponibles :

0 = Non. Aucune connexion n'est autorisée aux bases de données dans le réplica secondaire, et les bases de données ne sont pas disponibles pour un accès en lecture. Il s'agit du paramètre par défaut.

1 = Lecture seule. Seules les connexions aux bases de données en lecture seule sont autorisées dans le réplica secondaire. Toutes les bases de données du réplica sont disponibles pour l'accès en lecture.

2 = Toutes. Toutes les connexions sont autorisées aux bases de données dans le réplica secondaire pour un accès en lecture seule.

Pour plus d'informations, consultez Secondaires actifs : réplicas secondaires lisibles (groupes de disponibilité d'AlwaysOn).

secondary_role_allow_connections_desc

nvarchar(60)

Description de secondary_role_allow_connections, parmi :

NO

READ_ONLY

ALL

create_date

datetime

Date de création du réplica.

NULL = Le réplica ne se trouve pas sur cette instance de serveur.

modify_date

datetime

Date de la dernière modification du réplica.

NULL = Le réplica ne se trouve pas sur cette instance de serveur.

backup_priority

int

Représente la priorité spécifiée par l'utilisateur pour l'exécution des sauvegardes sur ce réplica par rapport aux autres réplicas dans le même groupe de disponibilité. La valeur est un entier compris entre 0 et 100.

Pour plus d'informations, consultez Secondaires actifs : sauvegarde sur les réplicas secondaires (groupes de disponibilité d'AlwaysOn).

read_only_routing_url

nvarchar(256)

Point de terminaison de connectivité (URL) du réplica de disponibilité en lecture seule. Pour plus d'informations, consultez Configurer le routage en lecture seule pour un groupe de disponibilité (SQL Server).

Sécurité

Autorisations

Nécessite l'autorisation VIEW ANY DEFINITION sur l'instance de serveur.

Voir aussi

Référence

sys.availability_groups (Transact-SQL)

Concepts

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

Groupes de disponibilité AlwaysOn (SQL Server)

Surveiller des groupes de disponibilité (Transact-SQL)

Surveiller des groupes de disponibilité (Transact-SQL)