Prise en charge de la haute disponibilité pour les bases de données OLTP en mémoire

S’applique à :SQL Server

Les bases de données contenant des tables optimisées en mémoire, avec ou sans procédures stockées compilées natives, sont entièrement prises en charge avec les groupes de disponibilité Always On. Il n’existe aucune différence dans la configuration et la prise en charge des bases de données qui contiennent des objets OLTP en mémoire par rapport à celles sans.

Les modifications apportées aux tables optimisées en mémoire sur le réplica principal sont appliquées aux tables sur le réplica secondaire pendant la phase de restauration par progression. Cela permet un basculement rapide vers le réplica secondaire car les données sont déjà en mémoire. Les tables sont disponibles pour les requêtes de lecture sur les réplicas secondaires qui ont été configurés pour un accès en lecture.

Groupes de disponibilité Always On et bases de données OLTP en mémoire

La configuration de bases de données avec des composants OLTP en mémoire offre les avantages suivants :

  • Expérience entièrement intégrée
    Vous pouvez configurer vos bases de données contenant des tables optimisées en mémoire à l’aide du même assistant et avec le même niveau de prise en charge pour les réplicas secondaires synchrones et asynchrones. En outre, le contrôle d’intégrité est fourni par le tableau de bord Always On que vous connaissez dans SQL Server Management Studio.

  • Temps de basculement comparable
    Les réplicas secondaires maintiennent l’état en mémoire des tables optimisées en mémoire durables. En cas de basculement automatique ou forcé, le temps de basculement vers le nouveau réplica principal est comparable aux tables sur disque car aucune récupération n'est nécessaire. Les tables mémoire optimisées créées en tant que SCHEMA_ONLY sont prises en charge dans cette configuration. Cependant, les modifications apportées à ces tables ne sont pas consignées : aucune donnée n’existera donc dans ces tables sur le réplica secondaire.

  • Lisible secondaire
    Vous pouvez accéder aux tables optimisées en mémoire sur le réplica secondaire et les interroger si le réplica secondaire a été configuré pour un accès en lecture. Dans SQL Server 2016 (13.x), l’horodatage de lecture sur le réplica secondaire est synchronisé avec l’horodatage de lecture sur le réplica principal, ce qui signifie que les modifications sur le réplica principal deviennent visibles rapidement sur le réplica secondaire. Ce comportement de synchronisation rapproché est différent de SQL Server 2014 (12.x) OLTP en mémoire.

À propos de l’installation

  • SQL Server 2019 a introduit une restauration par progression parallèle pour les bases de données de groupe de disponibilité à mémoire optimisée. Dans SQL Server 2016 et 2017, les tables basées sur disque n’utilisent pas l’opération de restauration par progression parallèle si une base de données dans un groupe de disponibilité est également optimisée en mémoire.

Instance de clustering de basculement (FCI) et bases de données OLTP en mémoire

Pour bénéficier d’une haute disponibilité dans une configuration de stockage partagé, vous pouvez configurer une instance de cluster de basculement comportant des bases de données avec des tables mémoire optimisées. Tenez compte des facteurs suivants dans le cadre de la configuration d’une instance FCI :

  • Objectif de temps de récupération
    Le temps de basculement est susceptible d’être plus long, car les tables à mémoire optimisée doivent être chargées en mémoire avant que la base de données ne soit disponible.

  • Tables SCHEMA_ONLY
    Sachez que les tables SCHEMA_ONLY seront vides et ne comporteront aucune ligne après le basculement. C’est l’application qui conçoit et définit cela. Il s’agit exactement du même comportement lorsque vous redémarrez une base de données OLTP en mémoire avec une ou plusieurs tables SCHEMA_ONLY.

Prise en charge de la réplication des transactions dans OLTP en mémoire

Les tables agissant comme des abonnés de réplication transactionnelle, à l'exclusion de la réplication transactionnelle d'égal à égal, peuvent être configurées en tant que tables mémoire optimisées. Les autres configurations de réplication ne sont pas compatibles avec les tables à mémoire optimisée. Pour plus d’informations, consultez Abonnés à la réplication de tables optimisées en mémoire.

Voir aussi

Groupes de disponibilité SQL Server Always On (SQL Server)
Vue d’ensemble des groupes de disponibilité Always On (SQL Server)
Secondaires actifs : réplicas secondaires accessibles en lecture (groupes de disponibilité Always On)
Abonnés à la réplication de tables optimisées en mémoire