Share via


Exemple Readme_Sales Orders pour la réplication de fusion

Cet exemple fonctionne uniquement avec SQL Server 2005 et SQL Server 2008. Il ne fonctionnera pas avec les versions de SQL Server antérieures à SQL Server 2005.

Ce fichier Lisez-moi explique en détail comment installer et exécuter l'exemple Sales Orders. Il décrit également les problèmes connus liés à cet exemple.

Scénario

Cet exemple illustre une topologie de réplication de fusion permettant de remettre des données à des utilisateurs mobiles. Il fait en outre la démonstration des fonctionnalités de programmabilité de la réplication de fusion dans SQL Server. Cet exemple est une application Windows Forms qui utilise les technologies d'accès aux données Microsoft standard et la réplication de fusion pour permettre à un représentant d'assurer la maintenance de ses propres données locales tout en effectuant des synchronisations périodiques avec son bureau principal. Cet exemple est pris en charge pour les Abonnés qui exécutent toutes les éditions de SQL Server. La publication prend également en charge les Abonnés SQL Server Compact 3.5 SP1. Pour plus d'informations sur le scénario de cet exemple, consultez Scénario de l'exemple Sales Orders.

Langages

  • C#
  • Transact-SQL

Fonctionnalités

L'exemple Sales Orders montre les fonctionnalités suivantes de la réplication de fusion :

  • Objets RMO (Replication Management Objects).
  • Filtres de lignes paramétrables.
  • Partitions précalculées.
  • Captures instantanées partitionnées à la demande du client.
  • Optimisation des performances basée sur les types d'articles.
  • SQL Server Compact 3.5 SP1 et abonnés SQL Server Express.
  • Gestion automatique de plages d'identités.
  • Gestionnaires de logique métier.
  • Synchronisation Web (facultative).

Pour plus d'informations sur la façon dont ces fonctionnalités de la réplication sont illustrées dans l'exemple, consultez Détails de l'implémentation de l'exemple Sales Orders.

Configuration requise

Avant d'exécuter cet exemple, vérifiez que le logiciel suivant est installé :

  • SQL Server 2005 ou version ultérieure, notamment les composants suivants (dont l'installation est facultative) :
  • Le Kit de développement .NET Framework SDK 2.0 ou Microsoft Visual Studio 2005. Vous pouvez obtenir gratuitement le Kit de développement .NET Framework SDK. Pour plus d'informations, consultez Installation de la documentation .NET Framework..

Autorisations requises

Les autorisations nécessaires pour configurer et exécuter l'exemple Sales Orders sont basées sur les exigences de la sécurité de la réplication :

  • Pour exécuter InstallSalesOrdersSample.bat, qui configure la réplication, crée la publication AdvWorksSalesOrders et génère la capture instantanée initiale, votre compte Windows doit être membre du rôle serveur fixe sysadmin sur le serveur de publication.

  • L'exemple Sales Orders effectue diverses tâches de moteur de base de données et de Moteur de base de données réplication, notamment en créant la base de données AdventureWorksLocal et l'abonnement local, et en exécutant l'Agent de fusion pour initialiser, réinitialiser ou synchroniser l'abonnement. Pour vous permettre d'exécuter le fichier exécutable de l'exemple (SalesOrders.exe) sur l'Abonné, votre compte Windows doit avoir au moins les autorisations CREATE DATABASE sur l'Abonné.

    ms160955.note(fr-fr,SQL.100).gifRemarque :
    Lorsque la base de données locale et l'abonnement existent, votre compte Windows doit être au moins membre du rôle de base de données fixe db_owner dans la base de données AdventureWorksLocal sur l'Abonné pour exécuter l'application.

  • Pour initialiser l'abonnement et effectuer la synchronisation avec le serveur de publication, le compte Windows utilisé pour se connecter au serveur de publication (ou au serveur Web à l'aide de la synchronisation Web) doit répondre aux critères suivants :

    • disposer d'une connexion valide sur le serveur de publication, associée à un utilisateur dans la base de données de publication ;
    • disposer d'une connexion valide sur le distributeur, associée à un utilisateur dans la base de données de distribution (de l'utilisateur invité) ;
    • être membre de la liste d'accès à la publication pour la publication AdvWorksSalesOrders.

Génération et configuration de l'exemple

Pour générer l'exemple de projet et configurer la topologie de la réplication, procédez de la façon suivante :

  • Sur le serveur de publication, exécutez le script d'installation de la réplication.
  • (Facultatif) Configurez le serveur IIS (Internet Information Services) pour prendre en charge la synchronisation Web de la réplication de fusion. Si vous ne le faites pas, vous ne pourrez pas utiliser la fonctionnalité de synchronisation Web de l'exemple.
  • Sur l'Abonné, modifiez les paramètres de configuration dans le fichier app.config de l'exemple.
  • Sur l'Abonné, générez l'exemple à l'aide de Visual Studio 2005 ou du Kit de développement (SDK) .NET Framework 2.0.
  • Sur l'Abonné, placez une copie de l'assembly BusinessLogic.dll dans le répertoire C:\Program Files\Microsoft SQL Server\100\COM. Lorsque vous utilisez la synchronisation Web, vous devez aussi placer une copie de BusinessLogic.dll dans le répertoire C:\Program Files\Microsoft SQL Server\100\COM sur le serveur Web.

Pour configurer l'exemple Sales Orders sur le serveur de publication

  1. Vérifiez que la base de données exemple AdventureWorks a été installée et qu'elle est attachée. Pour plus d'informations, consultez Considérations relatives à l'installation d'exemples de bases de données et d'exemples de code SQL Server.

  2. Vérifiez que les exemples Moteur de base de données SQL Server ont été installés. Pour plus d'informations, consultez Considérations relatives à l'installation d'exemples de bases de données et d'exemples de code SQL Server.

  3. Vérifiez que l'Agent SQL Server s'exécute. Vous pouvez démarrer ce service et afficher son état à partir de l'Explorateur d'objets dans SQL Server Management Studio.

  4. Naviguez jusqu'à l'emplacement de l'installation des scripts de l'exemple Sales Orders. La valeur par défaut est C:\Program Files\Microsoft SQL Server\100\Samples\Replication\Merge\SalesOrders\Scripts.

  5. (Facultatif) Configurez le protocole SSL (Secure Sockets Layer) sur le serveur de publication ou le serveur utilisé pour la synchronisation Web. SSL est requis pour les communications entre le serveur IIS et tous les Abonnés. Pour configurer SSL, spécifiez le certificat de serveur qu'utilisera le serveur IIS.

  6. Exécutez InstallSalesOrdersSample.bat et, quand vous êtes invité à le faire, entrez le nom d'utilisateur (sous la forme « DOMAINE\nom » en respectant la casse) et le mot de passe du compte Windows sous lequel le travail de l'Agent de capture instantanée sera exécuté. Ceci appelle sqlcmd.exe pour exécuter CreateAdvWorksSalesOrdersPublication.sql, qui effectue les actions suivantes :

    • Il vérifie que la réplication a été configurée sur le serveur local et, dans la négative, il le configure comme serveur de publication avec un serveur de distribution local utilisant la base de données de distribution.
    • Il supprime et recrée les procédures stockées et les fonctions définies par l'utilisateur employées pour accéder aux données sur le client.
    • Il supprime et recrée la publication AdvWorksSalesOrders.
    • Il ajoute des articles à la publication.
    • Il inscrit le gestionnaire de logique métier sur le serveur de distribution.
    • Il lance le travail de l'Agent de capture instantanée pour générer la capture instantanée initiale.

    Le fichier de commandes peut aussi configurer automatiquement un répertoire virtuel sur le serveur de publication pour prendre en charge la synchronisation Web. Si vous choisissez de ne pas configurer le répertoire virtuel sur le serveur de publication durant l'installation ou si vous comptez utiliser un serveur Web séparé, vous devez exécuter l'Assistant Configuration de la synchronisation Web avant d'utiliser les fonctionnalités de synchronisation Web de l'exemple.

  7. (Facultatif) Exécutez l'Assistant Configuration de la synchronisation Web pour configurer un serveur IIS de façon à prendre en charge la synchronisation Web. Sautez cette étape si InstallSalesOrdersSample.bat a créé le répertoire virtuel ou si vous ne prévoyez pas d'utiliser la synchronisation Web. Pour plus d'informations sur l'utilisation de cet Assistant, consultez How to: Configure an IIS Server for Web Synchronization (SQL Server Management Studio).

  8. Avant de continuer, vérifiez que le travail de l'Agent de capture instantanée pour la publication AdvWorksSalesOrders est terminé. Vous pouvez afficher l'état de ce travail à l'aide du moniteur de réplication. Pour plus d'informations sur l'affichage de l'état d'un travail d'Agent de capture instantanée à l'aide du moniteur de réplication, consultez la rubrique How to: View Information and Perform Tasks for the Agents Associated With a Publication (Replication Monitor) dans la documentation en ligne de SQL Server.

Pour générer et configurer l'exemple Sales Orders sur l'Abonné

  1. À l'invite de commandes, naviguez jusqu'au répertoire d'installation des exemples SQL Server. La valeur par défaut est C:\Program Files\Microsoft SQL Server\100\Samples\.

  2. Exécutez la commande suivante à partir d'une invite de commandes .NET Framework ou Microsoft Visual Studio 2005 :

    sn -k SampleKey.snk

    ms160955.note(fr-fr,SQL.100).gifRemarque :
    Vous pouvez ignorer cette étape si cette clé a été créée précédemment pour être utilisée avec un autre exemple.

  3. Accédez à l'emplacement d'installation pour la solution de l'exemple Sales Orders dans Microsoft Visual C#. La valeur par défaut est C:\Program Files\Microsoft SQL Server\100\Samples\Replication\Merge\SalesOrders\CS.

  4. Ouvrez le fichier de solution SalesOrders.sln dans Visual Studio 2005.

  5. Générez le projet.

  6. Dans le dossier de sortie de projet, modifiez le fichier SalesOrders.exe.config et procédez aux remplacements suivants :

    • Remplacez la valeur de la clé Subscriber par le nom du serveur local.
    • Remplacez la valeur de la clé Publisher par le nom du serveur que vous avez configuré comme serveur de publication.
    • (Facultatif) Remplacez la valeur de la clé WebSynchronizationUrl si vous comptez utiliser la synchronisation Web pour vous connecter au serveur de publication. Ceci peut aussi s'effectuer au moment de l'exécution.
    • (Facultatif) Utilisez la clé SyncWhenConnectedInterval pour définir l'intervalle en secondes entre les synchronisations si vous comptez utiliser la fonctionnalité de synchronisation lors de la connexion.
    ms160955.note(fr-fr,SQL.100).gifRemarque :
    La réplication n'autorise pas localhost comme nom de serveur.

  7. Placez une copie de l'assembly BusinessLogic.dll dans le répertoire C:\Program Files\Microsoft SQL Server\100\COM.

  8. (Facultatif) Si vous comptez utiliser la synchronisation Web, placez une copie de l'assembly BusinessLogic.dll dans le répertoire C:\Program Files\Microsoft SQL Server\100\COM du serveur Web.

Exécution de l'exemple

Pour exécuter l'exemple Sales Orders et synchroniser les données

  1. Vérifiez que les connexions distantes sont activées sur le serveur de publication et sur l'Abonné (TCP/IP ou canaux nommés) et que le service Agent SQL Server s'exécute.

  2. (Facultatif) Sur l'Abonné, testez la connexion de synchronisation Web en vous connectant au serveur Web en mode diagnostic et en suivant les instructions de la section relative à la configuration des certificats clients au niveau de l'Abonné dans How to: Configure Web Synchronization for Merge Replication (Replication Transact-SQL Programming).

    ms160955.note(fr-fr,SQL.100).gifRemarque :
    Si une erreur HTTP se produit lors de l'utilisation de la synchronisation Web, ouvrez Internet Explorer puis, dans le menu Outils, sélectionnez Options Internet, Connexions et Paramètres réseau. Vérifiez que l'option Détecter automatiquement les paramètres de connexion est désactivée.

  3. Démarrez SalesOrders.exe depuis Visual Studio 2005 ou à partir de l'invite de commandes. Lorsque l'application s'exécute pour la première fois, la base de données d'abonnement et l'abonnement sont créés et l'Agent de fusion démarre pour initialiser l'abonnement.

  4. Une fois les données de l'abonnement initialisées, le formulaire Sales Orders est chargé et affiche une liste des commandes existantes appartenant au représentant « adventure-works\garrett1 ».

  5. À l'aide du formulaire Sales Orders, vous pouvez apporter les modifications suivantes aux données des ventes :

    • Modifier les informations des commandes client.
    • Ajouter un nouvel élément à une commande client.
    • Supprimer un élément d'une commande client.
    • Modifier la quantité commandée pour un élément d'une commande client.
  6. Sélectionnez une méthode de synchronisation dans le menu Synchronize pour synchroniser l'abonnement.

  7. (Facultatif) Activez la case à cocher Synchronize When Connected pour synchroniser l'abonnement automatiquement. Définissez l'intervalle de synchronisation pour la synchronisation en arrière-plan à l'aide de la clé SyncWhenConnectedInterval dans le fichier app.config.

    ms160955.note(fr-fr,SQL.100).gifRemarque :
    La fonctionnalité Synchronize When Connected n'est pas disponible lorsqu'elle est exécutée sur des plateformes Microsoft Windows 2000. Pour plus d'informations, consultez Détails de l'implémentation de l'exemple Sales Orders.

Pour utiliser les options de synchronisation avancées de l'exemple Sales Orders

  1. À partir de l'élément Advanced du menu Synchronize, choisissez l'une des options suivantes :

    • (Facultatif) Sélectionnez une option de réinitialisation pour réinitialiser l'abonnement.

    • (Facultatif) Sélectionnez Options de synchronisation Web et fournissez l'URL Internet et les informations d'identification de l'authentification Windows utilisées pour accéder au serveur Web via une connexion HTTPS sécurisée. Pour utiliser cette option, vous devez préalablement avoir configuré un serveur IIS pour la synchronisation Web.

      ms160955.note(fr-fr,SQL.100).gifRemarque :
      La synchronisation en téléchargement seul (upload ou download) n'est pas prise en charge avec la synchronisation Web. Lorsque la synchronisation Web est activée, l'élément de menu Only Upload Data est désactivé.

    • (Facultatif) Sélectionnez Get Subscription Status pour afficher les résultats des sessions les plus récentes de l'Agent de fusion.

Suppression de l'exemple

Utilisez la procédure suivante pour supprimer l'exemple Sales Orders.

Pour supprimer seulement l'abonnement

  1. Sur l'Abonné, exécutez le script Transact-SQL suivant pour supprimer l'abonnement par extraction de données (pull).

  2. Sur le serveur de publication, exécutez le script Transact-SQL suivant pour annuler l'inscription de l'abonnement par extraction de données (pull).

Pour supprimer l'exemple Sales Orders

  1. Sur le serveur de publication, naviguez jusqu'à l'emplacement de l'installation des scripts de l'exemple Sales Orders. La valeur par défaut est C:\Program Files\Microsoft SQL Server\100\Samples\Replication\Merge\SalesOrders\Scripts.

  2. Exécutez le fichier de commandes RemoveSalesOrdersSample.bat.

  3. Confirmez la suppression en tapant « Y » et en appuyant sur Entrée pour supprimer tous les objets de réplication sur le serveur de publication et dans la base de données d'abonnement, et désinstaller la publication et la distribution sur le serveur de publication.

    ms160955.note(fr-fr,SQL.100).gifImportant :
    Ce script supprime toute l'infrastructure de réplication. Si vous avez créé d'autres publications qui utilisent ce serveur de publication ou ce serveur de distribution, n'exécutez pas DropAdvWorksSalesOrdersPublication.sql. À la place, vous devez supprimer manuellement la publication AdvWorksSalesOrders. Pour plus d'informations, consultez les rubriques How to: Delete a Publication (SQL Server Management Studio) ou Procédure : supprimer une publication (programmation Transact-SQL de la réplication) dans la documentation en ligne de SQL Server.

  4. Sur l'Abonné, dans la base de données AdventureWorksLocal, exécutez sp_removedbreplication (Transact-SQL).

  5. Changez le contexte de base de données en spécifiant la base de données master et exécutez DROP DATABASE AdventureWorksLocal.

Commentaires

Les exemples sont fournis uniquement à titre éducatif. Ils ne sont pas destinés à être utilisés dans un environnement de production et n'ont pas été testés à cet usage. Microsoft ne fournit aucun support technique pour ces exemples. Les exemples d'applications et les assemblys ne doivent pas être utilisés avec votre base de données SQL Server de production ou votre serveur de rapports, ou y être connectés, sans l'autorisation de l'administrateur système.

Voir aussi

Concepts

Exemples (réplication)

Autres ressources

Concepts de programmation en matière de réplication
Centre d'informations pour développeurs (réplication)

Aide et informations

Assistance sur SQL Server 2008