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
Azure SQL Managed Instance
Vous pouvez configurer comme tables optimisées en mémoire des tables qui agissent en tant qu’abonnés à la réplication d’instantané et à la réplication transactionnelle, à l’exception de la réplication transactionnelle homologue à homologue. Les tables optimisées en mémoire ne sont pas compatibles avec d’autres configurations de réplication. Cette fonctionnalité est disponible à partir de SQL Server 2016 (13.x).
Deux configurations requises
Configurer la base de données de l’abonné pour la prise en charge de la réplication vers les tables mémoire optimisées
Réglez la propriété @memory_optimized à true en utilisant sp_addsubscription (Transact-SQL) ou sp_changesubscription (Transact-SQL).
Configurer l’article pour la prise en charge de la réplication vers les tables mémoire optimisées
Définissez l’option
@schema_option = 0x40000000000pour l’article en utilisant sp_addarticle (Transact-SQL) ou sp_changearticle (Transact-SQL).
Pour configurer une table optimisée en mémoire en tant qu’abonné
Créez une publication transactionnelle. Pour plus d’informations, voir Create a Publication.
Ajoutez des articles à la publication. Pour plus d’informations, consultez définir un Article.
Si vous effectuez la configuration en utilisant Transact-SQL, affectez au paramètre @schema_option de la procédure stockée sp_addarticle la valeur
0x40000000000.Dans la fenêtre des propriétés de l’article, mets Activer l’optimisation de la mémoire sur true.
Démarrez le travail de l'Agent d'instantané pour générer l'instantané initial pour cette publication. Pour plus d’informations, voir Create and Apply the Initial Snapshot.
Ensuite, créez un abonnement. Dans l’ Assistant Nouvel abonnement , définissez Abonnement de mémoire optimisée sur true.
Les tables optimisées en mémoire doivent maintenant commencer à recevoir des mises à jour de la part du serveur de publication.
Reconfigurer une réplication de transaction existante
Accédez aux propriétés d’abonnement dans Management Studio et définissez Abonnement de mémoire optimisée sur true. Les modifications ne sont appliquées que lorsque vous avez réinitialisé l’abonnement.
Si vous effectuez la configuration en utilisant Transact-SQL, affectez au nouveau paramètre @memory_optimized de la procédure stockée sp_addsubscription la valeur true.
Accédez aux propriétés d’article d’une publication dans Management Studio, puis définissez Activer l’optimisation mémoire sur true.
Si vous effectuez la configuration en utilisant Transact-SQL, affectez au paramètre @schema_option de la procédure stockée sp_addarticle la valeur
0x40000000000.Les tables optimisées en mémoire ne prennent pas en charge les index en cluster. Pour que la réplication gère cette limitation en convertissant l’index en index non clusterisé sur la destination, définissez Convertir l’index clusterisé en index non clusterisé pour l’article optimisé en mémoire sur true.
Si vous effectuez la configuration en utilisant Transact-SQL, affectez au paramètre @schema_option de la procédure stockée sp_addarticle la valeur 0x0000080000000000.
Régénérez la capture instantanée.
Réinitialisez l’abonnement.
Remarques et restrictions
Seule la réplication transactionnelle monodirectionnelle est prise en charge. La réplication transactionnelle pair-à-pair n’est pas prise en charge.
Vous ne pouvez pas publier de tables optimisées en mémoire.
Vous ne pouvez pas configurer les tables de réplication sur le distributeur comme tables optimisées en mémoire.
Vous ne pouvez pas inclure de tables optimisées en mémoire dans la réplication de fusion.
Chez l’abonné, vous pouvez configurer les tables impliquées dans la réplication transactionnelle comme tables optimisées en mémoire, mais les tables des abonnés doivent répondre aux exigences des tables optimisées en mémoire. Cette exigence impose les restrictions suivantes :
Les tables répliquées en tables mémoire optimisées sur un abonné sont limitées aux types de données autorisés dans les tables mémoire optimisées. Pour plus d’informations, consultez Types de données pris en charge pour l’OLTP en mémoire.
Toutes les fonctionnalités Transact-SQL ne sont pas prises en charge avec les tables optimisées en mémoire. Pour plus d’informations, consultez Constructions Transact-SQL non prises en charge par OLTP en mémoire.
Modification d'un fichier de schéma
Si vous utilisez l’option
DURABILITY = SCHEMA_AND_DATAde table optimisée en mémoire , la table doit avoir un index de clé primaire non clusterisé.ANSI_PADDINGdoit êtreON.