Partager via


Tutoriel : Préparer SQL Server pour la réplication (serveur de publication, serveur de distribution, abonné)

S'applique à : SQL Server

Vous devez planifier la sécurité avant de configurer la topologie de réplication. Ce didacticiel vous explique comment mieux sécuriser une topologie de réplication. Il montre également comment configurer la distribution, ce qui constitue la première étape de la réplication des données. Ce didacticiel doit être effectué avant les autres didacticiels.

Remarque

Pour répliquer les données de façon sécurisée entre les serveurs, vous devez implémenter l’ensemble des recommandations de la rubrique Méthodes préconisées en matière de sécurité de réplication.

Contenu du didacticiel

Ce tutoriel vous apprend à préparer un serveur afin que la réplication puisse s’exécuter de façon sécurisée avec les privilèges minimaux.

Dans ce didacticiel, vous apprendrez à :

  • Créer des comptes Windows pour la réplication.
  • Préparer le dossier d’instantanés.
  • Configurer la distribution.

Prérequis

Ce tutoriel est destiné aux utilisateurs qui sont familiers des opérations essentielles de base de données, mais dont l’expérience en matière de réplication est limitée.

Pour suivre ce tutoriel, vous avez besoin de SQL Server, SQL Server Management Studio (SSMS) et une base de données AdventureWorks :

  • Sur le serveur de publication (source), installez :

    • N’importe quelle édition de SQL Server, à l’exception de SQL Server Express et SQL Server Compact. Ces éditions ne peuvent pas constituer des serveurs de publication de réplication.
    • Exemple de base de données AdventureWorks2022 . Pour des raisons de sécurité, les exemples de bases de données ne sont pas installés par défaut.
  • Sur le serveur d’abonné (destination), installez une édition quelconque de SQL Server, sauf SQL Server Compact. SQL Server Compact ne peut pas être un abonné dans une réplication transactionnelle.

  • Installez SQL Server Management Studio.

  • Installez SQL Server 2017 Developer Edition.

  • Téléchargez l’exemple de base de données AdventureWorks. Pour obtenir des instructions sur la restauration d’une base de données dans SSMS, consultez Restauration d’une base de données.

Remarque

  • La réplication n’est pas prise en charge sur les instances de SQL Server qui sont séparées de plus de deux versions. Pour plus d’informations, consultez Supported SQL Server Versions in Replication Topology (Versions de SQL prises en charge dans la topologie de réplication).
  • Dans SQL Server Management Studio, vous devez vous connecter au serveur de publication et à l’abonné à l’aide d’un identifiant de connexion membre du rôle serveur fixe sysadmin. Pour plus d’informations sur ce rôle, consultez Rôles de niveau serveur.

Durée estimée pour effectuer ce tutoriel : 30 minutes

Créer des comptes Windows pour la réplication

Dans cette section, vous créez des comptes Windows pour exécuter les agents de réplication. Vous créez un compte Windows distinct sur le serveur local pour les agents suivants :

Agent Emplacement Nom de compte
Agent d'instantané Éditeur <nom_ordinateur>\repl_snapshot
l'Agent de lecture du journal ; Éditeur <nom_ordinateur>\repl_logreader
Agent de distribution Serveur de publication et Abonné <nom_ordinateur>\repl_distribution
Agent de fusion Serveur de publication et Abonné <nom_ordinateur>\repl_merge

Remarque

Dans les didacticiels de réplication, le serveur de publication et le serveur de distribution partagent la même instance (NODE1\SQL2016) de SQL Server. L’instance de l’abonné (NODE2\SQL2016) est distante. Le serveur de publication et l’abonné peuvent partager la même instance de SQL Server, mais ce n’est pas une obligation. Si le serveur de publication et l'Abonné partagent la même instance, les étapes de création de comptes pour l'Abonné ne sont pas requises.

Créer des comptes Windows locaux pour les agents de réplication sur le serveur de publication

  1. Sur le serveur de publication, dans le Panneau de configuration, dans Outils d’administration, ouvrez Gestion de l’ordinateur.

  2. Dans Outils système, développez Utilisateurs et groupes locaux.

  3. Cliquez avec le bouton droit sur Utilisateurs, puis sélectionnez Nouvel utilisateur.

  4. Entrez repl_snapshot dans la zone Nom d’utilisateur, fournissez le mot de passe et autres informations appropriées, puis sélectionnez Créer pour créer le compte repl_snapshot :

    Boîte de dialogue « Nouvel utilisateur »

  5. Répétez l’étape précédente pour créer les comptes repl_logreader, repl_distribution et repl_merge :

    Liste des utilisateurs de la réplication

  6. Sélectionnez Fermer.

Créer des comptes Windows locaux pour les agents de réplication sur l'Abonné

  1. Sur l’Abonné, dans le Panneau de configuration, dans Outils d’administration, ouvrez Gestion de l’ordinateur.

  2. Dans Outils système, développez Utilisateurs et groupes locaux.

  3. Cliquez avec le bouton droit sur Utilisateurs, puis sélectionnez Nouvel utilisateur.

  4. Entrez repl_distribution dans la zone Nom d’utilisateur, fournissez le mot de passe et autres informations appropriées, puis sélectionnez Créer pour créer le compte repl_distribution.

  5. Répétez l'étape précédente pour créer le compte repl_merge.

  6. Sélectionnez Fermer.

Pour plus d'informations, voir Présentation des agents de réplication.

Préparer le dossier d’instantanés

Dans cette section, vous configurez le dossier d’instantanés utilisé pour créer et stocker l’instantané des publications.

Créer un partage pour le dossier d’instantanés et attribuer les autorisations

  1. Dans l’Explorateur de fichiers, accédez au dossier de données SQL Server. L'emplacement par défaut est : C:\Program Files\Microsoft SQL Server\MSSQL.X\MSSQL\Data.

  2. Créez un dossier nommé repldata.

  3. Cliquez avec le bouton droit sur ce dossier et sélectionnez Propriétés.

    a. Sous l’onglet Partage de la boîte de dialogue Propriétés de repldata, sélectionnez Partage avancé.

    b. Dans la boîte de dialogue Partage avancé, sélectionnez Partager ce dossier, puis sélectionnez Autorisations.

    Sélections pour le partage du dossier repldata

  4. Dans la boîte de dialogue Autorisations pour repldata, sélectionnez Ajouter. Dans la zone de texte Sélectionnez Utilisateurs, Ordinateurs, Compte de service ou Groupes, tapez le nom du compte d’Agent d’instantané créé précédemment, sous la forme <nom_ordinateur_serveur_de_publication>\repl_snapshot. Sélectionnez Vérifier les noms, puis sélectionnez OK.

    Sélections pour ajouter des autorisations de partage

  5. Répétez l’étape 6 pour ajouter les deux autres comptes que vous avez créés précédemment : <nom_ordinateur_serveur_de_publication>\repl_merge et <nom_ordinateur_serveur_de_publication>\repl_distribution.

  6. Après avoir ajouté les trois comptes, attribuez les autorisations suivantes :

    • repl_distribution : Lecture
    • repl_merge : Lecture
    • repl_snapshot : Contrôle total

    Autorisations partagées pour chaque compte

  7. Une fois vos autorisations de partage correctement configurées, sélectionnez OK pour fermer la boîte de dialogue Autorisations pour repldata. Sélectionnez OK pour fermer la boîte de dialogue Partage avancé.

  8. Dans la boîte de dialogue Propriétés de repldata, sous l’onglet Sécurité, sélectionnez Modifier :

    Bouton « Modifier » sous l’onglet « Sécurité »

  9. Dans la boîte de dialogue Autorisations pour repldata, sélectionnez Ajouter. Dans la zone de texte Sélectionnez Utilisateurs, Ordinateurs, Compte de service ou Groupes, tapez le nom du compte d’Agent d’instantané créé précédemment, sous la forme <nom_ordinateur_serveur_de_publication>\repl_snapshot. Sélectionnez Vérifier les noms, puis sélectionnez OK.

    Sélections pour ajouter des autorisations de sécurité

  10. Répétez l’étape précédente pour ajouter des autorisations pour l’agent de distribution, sous la forme <nom_ordinateur_serveur_de_publication>\repl_distribution, et pour l’agent de fusion, sous la forme <nom_ordinateur_serveur_de_publication>\repl_merge.

  11. Vérifiez que les autorisations suivantes sont accordées :

    • repl_distribution : Lecture
    • repl_merge : Lecture
    • repl_snapshot : Contrôle total

    Autorisations d'utilisateur pour les données de réplication

  12. Sous l’onglet Partage, notez le Chemin réseau pour le partage. Vous aurez besoin de ce chemin quand vous configurerez votre dossier d’instantanés.

    Chemin réseau sous l’onglet « Partage »

  13. Sélectionnez OK pour fermer la boîte de dialogue Propriétés de repldata.

Pour plus d’informations, consultez Sécuriser le dossier d’instantanés.

Configurer la distribution

Dans cette section, vous configurez la distribution sur le serveur de publication et définir les autorisations nécessaires sur les bases de données de publication et de distribution. Si vous avez déjà configuré le serveur de distribution, vous devez désactiver la publication et la distribution avant de commencer cette section. Ne procédez pas ainsi si vous devez conserver une topologie de réplication existante, notamment en production.

La configuration d'un serveur de publication avec un serveur de distribution distant dépasse le cadre de ce didacticiel.

Configurer la distribution sur le serveur de publication

  1. Connectez-vous au serveur de publication dans SQL Server Management Studio, puis développez le nœud du serveur.

  2. Cliquez avec le bouton droit sur le dossier Réplication, puis sélectionnez Configurer la distribution :

    Commande « Configurer la distribution » du menu contextuel

    Remarque

    • Si vous êtes connecté à SQL Server à l’aide de localhost au lieu du nom du serveur réel, un avertissement vous indique que SQL Server ne peut pas se connecter à localhost ou à l’adresse IP. Sélectionnez OK dans la boîte de dialogue d’avertissement. Dans la boîte de dialogue Se connecter au serveur, remplacez le nom du serveur qui indique localhost ou une adresse IP par le nom de votre serveur. Sélectionnez Connecter.
    • Il existe actuellement un problème connu avec SQL Server Management Studio (SSMS) 18.0 (et versions ultérieures) lors duquel un message d’avertissement ne s’affiche pas si vous tentez de vous connecter au serveur de distribution avec l’adresse IP alors qu’une telle connexion n’est pas possible. Le nom du serveur doit être utilisé lors de la connexion au serveur de distribution.

    L'Assistant Configuration de la distribution démarre.

  3. Dans la page Serveur de distribution, sélectionnez <'nom_serveur'> agit comme son propre serveur de distribution ; SQL Server crée une base de données de distribution et un journal. Sélectionnez ensuite Suivant.

    Option permettant au serveur d’agir comme son propre serveur de distribution

  4. Si l’agent SQL Server ne s’exécute pas, dans la page Démarrage de l’agent SQL Server, sélectionnez Oui, configurer le service de l’agent SQL Server pour qu’il démarre automatiquement. Cliquez sur Suivant.

  5. Entrez le chemin \\<nom_ordinateur_serveur_de_publication>\repldata dans la zone Dossier d’instantanés, puis sélectionnez Suivant. Ce chemin doit correspondre au Chemin réseau du dossier des propriétés de repldata, tel que vous l’avez défini quand vous avez configuré les propriétés du partage.

    Comparaison des chemins réseau dans la boîte de dialogue « Propriétés de repldata » et dans l’Assistant Configuration de la distribution

  6. Acceptez les valeurs par défaut sur les pages restantes de l'Assistant.

    Dernière page de l’Assistant

  7. Sélectionnez Terminer pour activer la distribution.

L’erreur suivante peut apparaître quand vous configurez le serveur de distribution. Elle indique que le compte utilisé pour démarrer le compte SQL Server Agent n’est pas administrateur sur le système. Vous devez alors démarrer SQL Server Agent manuellement, accorder ces autorisations à un compte existant ou changer le compte utilisé par SQL Server Agent.

Message d’erreur de configuration de SQL Server Agent

Si votre instance SQL Server Management Studio s’exécute avec des droits d’administration, vous pouvez démarrer l’Agent SQL manuellement à partir de SSMS :

Sélection de l’option « Démarrer » du menu contextuel de l’agent dans SSMS

Remarque

Si l’Agent SQL semble ne pas démarrer, cliquez avec le bouton droit sur SQL Server Agent dans SSMS, puis sélectionnez Actualiser. S’il demeure dans l’état arrêté, démarrez-le manuellement à partir du Gestionnaire de configuration SQL Server.

Définir les autorisations de base de données

  1. Dans SQL Server Management Studio, développez Sécurité, cliquez avec le bouton droit sur Connexions, puis sélectionnez Nouvelle connexion :

    Commande « Nouvelle connexion » du menu contextuel

  2. Dans la page Général, sélectionnez Rechercher. Entrez <nom_ordinateur_serveur_de_publication>\repl_snapshot dans la zone Entrer le nom d’objet à sélectionner, sélectionnez Vérifier les noms, puis sélectionnez OK.

    Sélections pour entrer le nom de l’objet

  3. Sur la page Mappage de l'utilisateur, dans la liste Utilisateurs mappés à cette connexion, sélectionnez les bases de données distribution et AdventureWorks2022.

    Dans la liste Appartenance au rôle de base de données, sélectionnez le rôle db_owner pour la connexion pour les deux bases de données.

    Sélection des bases de données et de leur rôle

  4. Sélectionnez OK pour créer la connexion.

  5. Répétez les étapes 1 à 4 pour créer une connexion pour les autres comptes locaux (repl_distribution, repl_logreader et repl_merge). Ces connexions doivent aussi être mappées aux utilisateurs membres du rôle de base de données fixe db_owner des bases de données de distribution et AdventureWorks.

    Affichage des quatre comptes dans l’Explorateur d’objets

Pour plus d’informations, consultez l’article suivant :

Étapes suivantes

Vous avez correctement préparé votre serveur pour la réplication. L’article suivant vous apprend à configurer la réplication transactionnelle :