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
Avant de développer une application utilisant des fonctionnalités de réplication, suivez ces étapes générales de planification :
Définissez votre topologie de réplication.
Définissez les fonctionnalités de l'application.
Planifiez la sécurité.
Choisissez un environnement de développement.
Choisissez l'interface de programmation de réplication appropriée.
Le reste de cet article décrit ces étapes plus en détail. Pour illustrer le processus de planification, un exemple est inclus.
Définition de la topologie de réplication
Pour la programmation de la réplication, la première étape consiste à définir la topologie de réplication de votre application. Si vous écrivez une application utilisant une topologie de réplication existante, comme une application client qui accède aux données d’un abonné existant, passez à l’étape suivante.
Remarque
Dans certains cas, le déploiement de la topologie de réplication est le seul objectif de l’application.
La topologie de réplication que vous définissez dépend de nombreux facteurs, entre autres :
Si les données répliquées doivent être mises à jour, et par qui.
vos impératifs de distribution de données en matière de cohérence, d'autonomie et de latence ;
l'environnement de réplication, y compris les utilisateurs professionnels, l'infrastructure technique, le réseau et la sécurité, ainsi que les caractéristiques des données ;
les types de réplication et les options de réplication ;
les topologies de réplication et leur adéquation aux types de réplication.
Si vous débutez dans la réplication Microsoft SQL Server, consultez Types de réplication.
Définition de la fonctionnalité de l’application
Après avoir défini la topologie de réplication, décidez des fonctionnalités que votre application offre. qu'il s'agisse d'un simple script qui synchronise un abonnement ou d'une application comportant une interface utilisateur pour configurer la réplication. La réplication prend en charge les tâches de programmation générales indiquées ci-dessous :
Configuration de la réplication
Synchronisation des abonnés
Gestion d'une topologie de réplication
Analyse d’une topologie de réplication.
Dépannage de la réplication.
Il est également courant d'étendre votre application en combinant des fonctionnalités de réplication avec d'autres fonctionnalités fournies par SQL Server. Le tableau suivant décrit certaines fonctionnalités étendues que vous pouvez fournir dans votre application de réplication.
| Fonctionnalités | Exemple |
|---|---|
| Administration du serveur à l’aide de SQL Server Management Objects (SMO) | Application qui permet à un administrateur de joindre et de configurer une base de données en tant que serveur de publication dans une topologie de réplication. |
| Accès aux données à l’aide d’ADO.NET | Une application qui permet aux utilisateurs d’accéder et de modifier programmatiquement les données de ventes répliquées dans une base de données locale d’abonnés hors ligne, puis de connecter et synchroniser l’abonnement pull en sélectionnant un bouton. |
Planification de la sécurité
La sécurité est importante dans toute application, et vous devez planifier la sécurité avant d’écrire un code. La sécurité d'une application se décompose en trois parties principales : sécurisation de la base de données, sécurisation de la réplication, et écriture de code sécurisé.
Les articles suivants fournissent des informations sur la sécurité :
Afficher et modifier les paramètres de sécurité de la réplication
Centre de sécurité pour le moteur de base de données SQL Server et Azure SQL Database
Choisir un environnement de développement
Lorsque vous développez une application de réplication, considérez ces trois environnements de développement de base. Chaque environnement de développement a accès aux mêmes fonctionnalités de réplication, à quelques exceptions près. Vous pouvez développer des applications de réplication dans chacun des environnements suivants.
Code managé
Environnement de développement orienté objet qui tire parti des avantages de la programmation du cadre .NET et du langage d’exécution commun .NET (CLR). Le code managé est l’environnement de programmation recommandé pour le développement .NET et les applications SQL Server. Les interfaces de réplication managée vous permettent de programmer l’administration de la réplication de manière orientée objet sans avoir à connaître Transact-SQL. Il offre également certaines fonctionnalités de rappel lors de l’exécution d’agents de réplication qui ne sont pas disponibles via les scripts. Le code managé constitue l'environnement idéal pour le développement de composants réutilisables et d'applications d'interface utilisateur.
Génération de script
Applications simples qui exécutent une série de commandes en tant que procédures stockées système de réplication dans des scripts Transact-SQL ou des commandes dans des fichiers batch. Bien que vous puissiez exécuter des scripts dans un environnement managé en utilisant le fournisseur géré en cours de SQL Server, vous pouvez obtenir la même fonctionnalité en utilisant des interfaces de réplication managées, qui offrent également des fonctionnalités de rappel. Le scripting est le meilleur environnement pour exécuter des tâches qui ne s’exécutent que quelques fois et où les fonctionnalités de rappel ne sont pas nécessaires, comme l’installation d’un serveur de réplication.
Code natif
Environnement de développement orienté objet qui utilise un accès direct au système ou aux objets COM de sorte que le code n’est pas géré par le CLR. Les interfaces de réplication en environnement de code natif sont déconseillées. Pour plus d’informations, consultez Fonctionnalités déconseillées dans la réplication SQL Server ou Compatibilité descendante de la réplication.
Choisissez l’interface de programmation de réplication appropriée
La dernière étape de la planification consiste à choisir l'interface de programmation de réplication appropriée qui implémente les fonctionnalités de réplication souhaitées pour l'environnement de développement choisi. Le tableau suivant présente les interfaces de programmation de réplication disponibles.
| Interface | Environment | Utilisations |
|---|---|---|
| Concepts liés à RMO (Replication Management Objects) | Code managé | Administration, analyse et synchronisation. |
| Microsoft.SqlServer.Replication | Code managé | Synchronisation. |
| Microsoft.SqlServer.Replication.BusinessLogicSupport | Code managé | Création de gestionnaires de logique métier pour intégrer la logique personnalisée au processus de synchronisation de fusion. |
| Procédures stockées de réplication (Transact-SQL) | Scripts | Administration et analyse. |
| Concepts des exécutables de l'agent de réplication | Scripts | Synchronisation. |
Exemple
Chez Adventure Works, les données doivent être publiées pour 200 représentants commerciaux dans le monde entier. Les commerciaux voyagent souvent et doivent utiliser des ordinateurs portables ou des assistants numériques personnels (PDA) pour modifier les données clients et ajouter de nouvelles commandes. Les représentants commerciaux doivent synchroniser les changements avec l’Publisher lorsqu’ils connectent l’ordinateur portable au réseau.
Pour cette application, les étapes de la planification peuvent être les suivantes :
La topologie de réplication existe déjà pour cette application. Cependant, vous devez créer un nouvel abonnement pull auprès du client. Utilisez des filtres paramétrés dans la publication pour reproduire un ensemble unique de données à chaque représentant commercial.
Cette application doit non seulement garantir l'accès aux données classique requis pour une application de vente, mais également permettre à un vendeur de synchroniser l'abonnement par extraction de données à la demande en cliquant sur un bouton. Puisqu’un représentant commercial installe et exécute l’application, il doit également pouvoir configurer un abonnement et appliquer l’instantané initial au client. En option, l’application utilise l’infrastructure fournie par Windows pour détecter la connectivité sans fil afin de synchroniser automatiquement l’abonnement lorsqu’une connexion est détectée.
Suivez toutes les consignes de sécurité pour la réplication, y compris l’authentification Windows et un réseau privé virtuel (VPN) lors de la connexion au Publisher. Si vous implémentez la synchronisation Web, utilisez une connexion Transport Layer Security (TLS), anciennement appelée Secure Sockets Layer (SSL). Pour plus d’informations, consultez Configurer la synchronisation Web.
Pour tirer parti des fonctionnalités du framework .NET, développez l’application en utilisant un langage de code géré.
Conformément à ces spécifications, l'interface managée Replication Management Objects sera en mesure d'assurer toutes les fonctionnalités de réplication nécessaires pour cette application.
Vous pouvez télécharger l’application d’exemple AdventureWorks qui implémente ce scénario d’exemple depuis SQL Server.