Partage 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 :

    • Toute édition de SQL Server, à l’exception de SQL Server Express ou 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 abonné (destination), installez n’importe quelle édition de SQL Server, à l’exception de SQL Server Compact. SQL Server Compact ne peut pas être un abonné dans la 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’une 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 du compte
Agent d'instantané Serveur de publication <>machine_name\repl_instantané
l'Agent de lecture du journal ; Serveur de publication <>machine_name\repl_logreader
Agent de distribution Serveur de publication et Abonné <>machine_name\repl_distribution
Agent de fusion Serveur de publication et Abonné <>machine_name\repl_merge

Remarque

Dans les didacticiels de réplication, l’éditeur et le serveur de distribution partagent la même instance (NODE1\SQL2016) de SQL Server. L’instance de l’abonné (NODE2\SQL2016) est distante. L’éditeur et l’abonné peuvent partager la même instance de SQL Server, mais ce n’est pas une exigence. 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 :

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

    List of replication users

  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 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.

    Selections for sharing the repldata folder

  4. Dans la boîte de dialogue Autorisations pour repldata, sélectionnez Ajouter. Dans la zone Sélectionner l’utilisateur, les ordinateurs, le compte de service ou les groupes, tapez le nom du compte Agent d’instantané que vous avez créé précédemment, comme <Publisher_Machine_Name>\repl_instantané. Sélectionnez Vérifier les noms, puis sélectionnez OK.

    Selections to add sharing permissions

  5. Répétez l’étape 6 pour ajouter les deux autres comptes que vous avez créés précédemment : <Publisher_Machine_Name>\repl_merge et <Publisher_Machine_Name>\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

    Shared permissions for each account

  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 :

  9. Dans la boîte de dialogue Autorisations pour repldata, sélectionnez Ajouter. Dans la zone Sélectionner des utilisateurs, ordinateurs, comptes de service ou groupes, tapez le nom du compte Agent d’instantané que vous avez créé précédemment, comme <Publisher_Machine_Name>\repl_instantané. Sélectionnez Vérifier les noms, puis sélectionnez OK.

    Selections to add security permissions

  10. Répétez l’étape précédente pour ajouter des autorisations pour le Agent de distribution en tant que <Publisher_Machine_Name>\repl_distribution et pour le Agent de fusion en tant que <Publisher_Machine_Name>\repl_merge.

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

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

    User permissions for replication data

  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.

    Network path on the

  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. Connecter 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 :

    Remarque

    • Si vous vous êtes connecté à SQL Server à l’aide de localhost plutôt que du nom du serveur réel, vous serez invité à indiquer 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 <« ServerName »> 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 to make the server act as its own distributor

  4. Si SQL Server Agent n’est pas en cours d’exécution, dans la page de démarrage de SQL Server Agent, sélectionnez Oui, configurez le service SQL Server Agent pour démarrer automatiquement. Cliquez sur Suivant.

  5. Entrez le chemin \\<Publisher_Machine_Name>\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.

    Comparison of network paths in the

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

    Last page of the wizard

  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.

Error message for configuring the 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 :

Selecting

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 :

  2. Dans la page Général, sélectionnez Rechercher. Entrez <Publisher_Machine_Name>\repl_instantané dans la zone Entrer le nom de l’objet à sélectionner, cochez les noms, puis sélectionnez OK.

    Selections for entering the object name

  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.

    Selecting the databases and their role

  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.

    View of all four accounts in Object Explorer

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 :