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.
Avant de développer une application qui utilise des fonctionnalités de réplication, vous devez suivre les étapes de planification générales suivantes :
Définissez votre topologie de réplication.
Définissez les fonctionnalités de l’application.
Planifier la sécurité.
Choisissez un environnement de développement.
Choisissez l’interface de programmation de réplication appropriée.
Le reste de cette rubrique décrit ces étapes plus en détail. Pour illustrer le processus de planification, un exemple a été inclus.
Définition de la topologie de réplication
La première étape de la programmation de la réplication consiste à définir la topologie de réplication pour votre application. Si vous écrivez une application qui utilisera une topologie de réplication existante, telle qu’une application cliente qui accède aux données d’un abonné existant, vous devez passer à l’étape suivante.
Remarque
Dans certains cas, le déploiement de la topologie de réplication sera le seul objectif de l’application.
La topologie de réplication que vous définissez dépend de nombreux facteurs, notamment les suivants :
Indique si les données répliquées doivent être mises à jour ou non, et par qui.
Vos besoins de distribution de données concernant la cohérence, l’autonomie et la latence.
L’environnement de réplication, y compris les utilisateurs professionnels, l’infrastructure technique, le réseau et la sécurité et les caractéristiques des données.
Types d’options de réplication et de réplication.
Les topologies de réplication et la façon dont elles s’alignent sur les types de réplication.
Si vous débutez avec la réplication Microsoft SQL Server, consultez Types de réplication.
Définition des fonctionnalités d’application
Une fois la topologie de réplication définie, vous devez décider des fonctionnalités proposées par votre application. Ces fonctionnalités peuvent aller d’un script qui synchronise un abonnement à une application avec une interface utilisateur pour configurer la réplication. La réplication prend en charge les tâches de programmation générales suivantes :
Configuration de la réplication.
Synchronisation des abonnés.
Maintenance d’une topologie de réplication.
Surveillance d’une topologie de réplication.
Résolution des problèmes de 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 met en évidence certaines fonctionnalités étendues que vous pouvez fournir dans votre application de réplication.
| Fonctionnalité | Exemple : |
|---|---|
| Administration du serveur à l’aide de SQL Server Management Objects (SMO) | Application qui permet à un administrateur d’attacher 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 de ADO.NET | Application qui permet aux utilisateurs d’accéder par programmation et de modifier les données de vente répliquées dans une base de données abonnée locale en mode hors connexion, puis de se connecter et de synchroniser l’abonnement par extraction en cliquant sur un bouton. |
Planification de la sécurité
La sécurité est importante dans n’importe quelle application et la planification de la sécurité doit être effectuée avant d’écrire du code. La sécurité des applications peut être divisée 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 rubriques suivantes fournissent des informations sur la sécurité :
Choix d’un environnement de développement
Lors du développement d’une application de réplication, il existe trois environnements de développement de base à prendre en compte. Chaque environnement de développement a accès aux mêmes fonctionnalités de réplication avec certaines exceptions. Les applications de réplication peuvent être développées dans chacun des environnements suivants.
Code managé
Environnement de développement orienté objet qui tire parti des avantages de la programmation .NET Framework et du Common Language Runtime (CLR) .NET. 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ées permettent la programmation de l’administration de réplication de manière orientée objet sans avoir à connaître Transact-SQL et fournissent également certaines fonctionnalités de rappel lors de l’exécution d’agents de réplication qui ne sont pas disponibles à partir de scripts. Le code managé est le meilleur environnement pour développer des composants réutilisables et des applications d’interface utilisateur.
Scriptage
Applications simples qui exécutent une série de commandes en tant que procédures stockées système de réplication dans Transact-SQL scripts ou commandes dans des fichiers batch. Bien que vous puissiez exécuter des scripts dans un environnement managé à l’aide du fournisseur managé SQL Server in-process, les mêmes fonctionnalités peuvent être obtenues à l’aide d’interfaces de réplication managées, qui fournissent également des fonctionnalités de rappel. Le script est le meilleur environnement pour l’exécution de tâches qui ne s’exécutent que quelques fois et où les fonctionnalités de rappel ne sont pas requises, telles que 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 de code natif sont déconseillées ou abandonnées. Pour plus d’informations, consultez Fonctionnalités déconseillées dans la réplication SQL Server ou la compatibilité descendante de la réplication.
Choisir l’interface de programmation de réplication appropriée
La dernière étape de planification consiste à choisir l’interface de programmation de réplication appropriée qui implémente la fonctionnalité de réplication souhaitée pour l’environnement de développement choisi. Le tableau suivant présente les interfaces de programmation de réplication disponibles.
| Interface | Environnement | Utilise |
|---|---|---|
| Concepts liés à RMO (Replication Management Objects) | Code managé | Administration, surveillance 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 une logique personnalisée au processus de synchronisation de fusion. |
| Procédures stockées de réplication (Transact-SQL) | Écriture de scripts | Administration et surveillance. |
| Concepts des exécutables de l'agent de réplication | Écriture de scripts | Synchronisation. |
Exemple :
Chez Adventure Works, les données doivent être publiées pour 200 représentants commerciaux dans le monde entier. Les représentants commerciaux voyagent souvent et devront utiliser des ordinateurs portables ou des assistants numériques personnels (PDA) pour modifier les données des clients et ajouter de nouvelles commandes. Les modifications doivent ensuite être synchronisées avec le serveur de publication lorsque le représentant commercial connecte l’ordinateur portable au réseau.
Pour cette application, les étapes de planification peuvent ressembler à ce qui suit :
La topologie de réplication pour cette application existe déjà. Toutefois, un nouvel abonnement par extraction doit être créé sur le client. La publication doit utiliser des filtres paramétrables pour répliquer un ensemble unique de données à chaque représentant commercial.
Outre l’accès aux données standard requis pour une application de vente, cette application doit permettre à un vendeur de synchroniser l’abonnement pull à la demande en cliquant sur un bouton. Étant donné qu’un représentant commercial installe et exécute l’application, il doit également être en mesure de configurer un abonnement et d’appliquer l’instantané initial au client. Si vous le souhaitez, l’application utilise l’infrastructure fournie par Windows pour détecter la connectivité sans fil pour synchroniser automatiquement l’abonnement lorsqu’une connexion est détectée.
Suivez toutes les instructions de sécurité pour la réplication, notamment à l’aide de l’authentification Windows et d’un réseau privé virtuel (VPN) lors de la connexion au serveur de publication. Si vous implémentez la synchronisation web, utilisez une connexion SSL (Secure Sockets Layer). Pour plus d’informations, consultez Configurer la synchronisation web.
Pour tirer parti des fonctionnalités du .NET Framework, l’application est développée à l’aide d’un langage de code managé.
En fonction de ces exigences, l’interface managée RMO (Replication Management Objects) peut fournir toutes les fonctionnalités de réplication nécessaires pour cette application.
Cet exemple de scénario a été implémenté dans un exemple d’application fourni avec SQL Server.