sys.availability_replicas (Transact-SQL)

S’applique à :SQL Server

Retourne une ligne pour chacun des réplicas de disponibilité qui appartiennent à un groupe de disponibilité Always On 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 Transact-SQL ALTER AVAILABILITY GROUP.
availability_mode tinyint Mode de disponibilité du réplica, parmi :

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.

4 | Configuration uniquement. Le réplica principal envoie les métadonnées de configuration du groupe de disponibilité au réplica de manière synchrone. Les données utilisateur ne sont pas transmises au réplica. Disponible dans SQL Server 2017 CU1 et versions ultérieures.

Pour plus d’informations, consultez Modes de disponibilité (Groupes de disponibilité Always On).
availability_mode_desc nvarchar(60) Description de availability_mode, l’une des suivantes :

ASYNCHRONOUS_COMMIT

SYNCHRONOUS_COMMIT

CONFIGURATION_ONLY

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

Vous ne pouvez pas modifier le mode de disponibilité d’un réplica en CONFIGURATION_ONLY. Vous ne pouvez pas modifier un réplica CONFIGURATION_ONLY en réplica secondaire ou principal.
failover_mode tinyint Mode de basculement du réplica de disponibilité, l’un des éléments suivants :

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

1 | 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 disponibilité est défini sur la validation synchrone (availability_mode = 1) et que le réplica de disponibilité est actuellement synchronisé, le basculement manuel sans perte de données peut se produire.

Pour afficher un cumul de l’intégrité de la synchronisation de base de données de 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é.

Remarque : Pour afficher l’intégrité de synchronisation d’une base de données de disponibilité donnée, 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, l’une des suivantes :

MANUAL

AUTOMATIC

Pour modifier le mode de basculement, utilisez l’option FAILOVER_MODE de l’instruction Transact-SQL ALTER AVAILABILITY GROUP.
session_timeout int Délai d'attente en secondes. Le délai d’expiration est le temps maximum pendant lequel le réplica attend de recevoir un message d’un autre réplica avant de considérer que la connexion entre les réplicas 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 Transact-SQL ALTER AVAILABILITY GROUP.
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, l’une des suivantes :

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 accessibles en lecture (Groupes de disponibilité Always On).
secondary_role_allow_connections_desc nvarchar(60) Description de secondary_role_allow_connections, l’une des suivantes :

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é Always On).
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).
read_write_routing_url nvarchar (256) SQL Server 2019 (15.x) et versions ultérieures. point de terminaison Connecter ivity (URL) pour lequel le réplica est le serveur principal. Pour plus d’informations, consultez Redirection de connexion en lecture/écriture depuis un réplica secondaire vers le réplica principal (groupes de disponibilité Always On).
seeding_mode tinyint Valeurs possibles :

0 : Automatique

1 : Manuel
seeding_mode_desc nvarchar(60) Décrit le mode d’amorçage.

AUTOMATIC

MANUAL

Sécurité

Autorisations

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

Voir aussi