Réplication sur Azure SQL Database

S’applique à : Azure SQL Database

Vous pouvez configurer une base de données Azure SQL en tant qu’abonné par émission de données dans une topologie de réplication transactionnelle unidirectionnelle ou de capture instantanée à partir de SQL Server et d’Azure SQL Managed Instance.

Remarque

Cet article décrit l’utilisation de la réplication transactionnelle dans Azure SQL Database. Elle n’est pas liée à la géo-réplication active, une fonctionnalité Azure SQL Database qui vous permet de créer des réplicas lisibles complets de bases de données individuelles.

Configurations prises en charge

Versions

Pour répliquer correctement vers une base de données dans Azure SQL Database, les éditeurs et distributeurs SQL Server doivent utiliser (au moins) l’une des versions suivantes :

La publication dans une base de données SQL Azure à partir d’une base de données SQL Server est prise en charge par les versions suivantes de SQL Server :

Notes

Si vous tentez de configurer la réplication avec une version non prise en charge, les erreurs suivantes peuvent se produire : MSSQL_REPL20084 (le processus n’a pas pu se connecter à l’abonné) et MSSQL_REPL40532 (impossible d’ouvrir le serveur <nom> demandé par la connexion. La connexion a échoué).

Pour bénéficier de toutes les fonctionnalités de la base de données Azure SQL, vous devez utiliser les dernières versions de SQL Server Management Studio (SSMS) et de SQL Server Data Tools.

Types de réplication

Il existe différents types de réplications :

Réplication Azure SQL Database Azure SQL Managed Instance
Transactionnelle standard Oui (uniquement en tant qu’Abonné) Oui
Capture instantanée Oui (uniquement en tant qu’Abonné) Oui
Réplication de fusion Non Non
Pair à pair Non Non
Bidirectionnelle Non Oui
Abonnements pouvant être mis à jour Non

Notes

  • Seuls les abonnements par push à Azure SQL Database sont pris en charge.
  • La réplication peut être configurée à l’aide de SQL Server Management Studio ou en exécutant des instructions Transact-SQL sur le serveur de publication. Vous ne pouvez pas configurer la réplication dans le portail Azure.
  • La réplication peut uniquement utiliser des connexions d’authentification SQL Server pour se connecter à Azure SQL Database.
  • Les tables répliquées doivent avoir une clé primaire.
  • Vous devez disposer d’un abonnement Azure existant.
  • L’abonné Azure SQL Database peut se trouver dans n’importe quelle région.
  • Une même publication sur SQL Server peut prendre en charge à la fois les abonnés Azure SQL Database et SQL Server (localement et sur une machine virtuelle Azure).
  • La gestion, la supervision et la résolution des problèmes des réplications doivent être effectuées à partir de SQL Server plutôt que d’Azure SQL Database.
  • Seul @subscriber_type = 0 est pris en charge dans sp_addsubscription pour SQL Database.
  • Azure SQL Database ne prend pas en charge les réplications d’égal à égal, bidirectionnelles, immédiates ou pouvant être mises à jour.

Architecture de réplication

Diagramme illustrant l’architecture de réplication avec Azure SQL Database, qui contient plusieurs clusters d’abonnés dans différentes régions, et des machines virtuelles Azure locales, qui contiennent un serveur de publication, un exécutable Logread et des exécutables de serveurs de distribution qui se connectent à des clusters distants

Scénarios

Scénario de réplication classique

  1. Créez une publication de réplication transactionnelle sur une base de données SQL Server.
  2. Sur SQL Server, servez-vous de l’Assistant Nouvel abonnement ou utilisez des instructions Transact-SQL pour envoyer l’abonnement vers Azure SQL Database.
  3. Avec des bases de données uniques et mises en pool dans Azure SQL Database, le jeu de données initial est un instantané créé par l’Agent d’instantané, puis distribué et appliqué par l’Agent de distribution. Avec un serveur de publication SQL Database Managed Instance, vous pouvez également utiliser une sauvegarde de la base de données pour alimenter la base de données des abonnés Azure SQL Database.

Scénario de migration de données

  1. Utilisez la réplication transactionnelle pour répliquer les données d’une base de données SQL Server vers Azure SQL Database.
  2. Redirigez les applications clientes ou de couche intermédiaire pour mettre à jour la copie de la base de données.
  3. Arrêtez la mise à jour de la version SQL Server de la table, puis supprimez la publication.

Limites

La réplication avec les options suivantes n’est pas prise en charge par la base de données Azure SQL :

  • Copier les associations de groupes de fichiers
  • Copier les schémas de partition de table
  • Copier les schémas de partition d’index
  • Copier les statistiques définies par l’utilisateur
  • Copier les liaisons par défaut
  • Copier les liaisons de règle
  • Copier les index de recherche en texte intégral
  • Copier le schéma XSD XML
  • Copier les index XML
  • Copier les autorisations
  • Copier les index spatiaux
  • Copier les index filtrés
  • Copier l’attribut de compression de données
  • Copier l’attribut de colonne éparse
  • Convertir filestream en types de données MAX
  • Convertir hierarchyId en types de données MAX
  • Convertir le type spatial en types de données MAX
  • Copier les propriétés étendues

Limitations à déterminer

  • Copier le classement
  • Exécution de la procédure stockée dans une transaction sérialisée

Exemples

Créez une publication et un abonnement par émission de données. Pour plus d'informations, consultez les pages suivantes :

Voir aussi