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
- Azure SQL Database peut uniquement être l’abonné par émission de données d’un serveur de publication et d’une base de données du serveur de distribution SQL Server.
- L’instance SQL Server agissant en tant qu’éditeur ou distributeur peut être une instance de SQL Server s’exécutant localement, une Azure SQL Managed Instance ou une instance de SQL Server s’exécutant sur une machine virtuelle Azure dans le cloud.
- La base de données de distribution et les agents de réplication ne peuvent pas être placés sur une base de données dans Azure SQL Database.
- Les réplications par capture instantanée et les réplications transactionnelles unidirectionnelles sont prises en charge. Les réplications transactionnelles pair à pair et les réplications de fusion ne sont pas 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 :
- SQL Server 2016 et versions ultérieures
- SQL Server 2014 RTM CU10 (12.0.4427.24) ou SP1 CU3 (12.0.2556.4)
- SQL Server 2012 SP2 CU8 (11.0.5634.1) ou SP3 (11.0.6020.0)
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 | N° |
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
Scénarios
Scénario de réplication classique
- Créez une publication de réplication transactionnelle sur une base de données SQL Server.
- Sur SQL Server, servez-vous de l’Assistant Nouvel abonnement ou utilisez des instructions Transact-SQL pour envoyer l’abonnement vers Azure SQL Database.
- 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
- Utilisez la réplication transactionnelle pour répliquer les données d’une base de données SQL Server vers Azure SQL Database.
- Redirigez les applications clientes ou de couche intermédiaire pour mettre à jour la copie de la base de données.
- 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 :
- Créer une publication
- Créez un abonnement par émission de données en utilisant le nom du serveur en tant qu’abonné (par exemple N'azuresqldbdns.database.windows.net' ) et le nom de la base de données SQL Azure comme base de données de destination (par exemple AdventureWorks).