Procédure : afficher et modifier les paramètres de sécurité de réplication (programmation Transact-SQL de la réplication)

Les paramètres de compte de sécurité (noms d'accès et mots de passe) requis par la réplication sont définis lors de la création de publications et d'abonnements. Ces paramètres peuvent être modifiés ultérieurement à l'aide des procédures stockées de réplication. Les procédures stockées à utiliser dépendent du type d'agent et du type de connexion serveur.

[!REMARQUE]

Pour des raisons de sécurité, les valeurs réelles des mots de passe sont masquées dans les jeux de résultats retournés par les procédures stockées de réplication.

Remarque relative à la sécuritéRemarque relative à la sécurité

Dans toutes les procédures répertoriées ci-dessous, lorsque cela est possible, demandez aux utilisateurs de fournir les informations d'identification de sécurité au moment de l'exécution. Si vous stockez des informations d'identification dans un fichier de script, vous devez sécuriser le fichier pour empêcher tout accès non autorisé.

Pour modifier toutes les instances d'un mot de passe stocké sur un serveur de réplication

  1. Exécutez sp_changereplicationserverpasswords sur la base de données MASTER d'un serveur inclus dans une topologie de réplication. Spécifiez le compte Microsoft Windows ou le compte de connexion MicrosoftSQL Server dont le mot de passe doit être modifié pour @login et le nouveau mot de passe du compte pour @password. Cela modifie chaque instance du mot de passe utilisée par tous les agents sur le serveur lors de la connexion à d'autres serveurs dans la topologie.

    [!REMARQUE]

    Pour modifier uniquement la connexion et le mot de passe pour une connexion à un serveur particulier dans la topologie (tel que le serveur de distribution ou l'Abonné), spécifiez le nom de ce serveur pour @server.

  2. Répétez l'étape 1 sur chaque serveur dans la topologie de réplication où le mot de passe doit être mis à jour.

    [!REMARQUE]

    Après avoir modifié un mot de passe de réplication, vous devez arrêter et redémarrer chaque agent qui utilise ce mot de passe afin que les modifications prennent effet pour cet agent.

Pour modifier les paramètres de sécurité pour l'Agent de capture instantanée

  1. Sur le serveur de publication, exécutez sp_helppublication_snapshot, en spécifiant @publication. Cela retourne les paramètres de sécurité actuels pour l'Agent de capture instantanée.

  2. Sur le serveur de publication, exécutez sp_changepublication_snapshot, en spécifiant @publication et un ou plusieurs des paramètres de sécurité suivants à modifier :

    • Pour modifier le compte Windows sous lequel l'agent s'exécute ou seulement le mot de passe pour ce compte, spécifiez @job_login et @job_password.

    • Pour modifier le mode de sécurité utilisé lors de la connexion au serveur de publication, spécifiez la valeur 1 ou 0 pour @publisher_security_mode.

    • Lorsque vous modifiez le mode de sécurité utilisé lors de la connexion au serveur de publication de 1 à 0 ou lorsque vous modifiez un compte de connexion SQL Server utilisé pour cette connexion, spécifiez @publisher_login et @publisher_password.

    Remarque relative à la sécuritéRemarque relative à la sécurité

     Lors de la configuration d'un serveur de publication avec un serveur de distribution distant, les valeurs fournies pour tous les paramètres, y compris job_login et job_password, sont envoyées en texte brut au serveur de distribution. Vous devez chiffrer la connexion entre le serveur de publication et son serveur de distribution distant avant d'exécuter cette procédure stockée. Pour plus d'informations, consultez Chiffrement des connexions à SQL Server.

Pour modifier les paramètres de sécurité pour l'Agent de lecture du journal

  1. Sur le serveur de publication, exécutez sp_helplogreader_agent, en spécifiant @publisher. Cela retourne les paramètres de sécurité actuels pour l'Agent de lecture du journal.

  2. Sur le serveur de publication, exécutez sp_changelogreader_agent, en spécifiant @publication et un ou plusieurs des paramètres de sécurité suivants à modifier :

    • Pour modifier le compte Windows sous lequel l'agent s'exécute ou seulement le mot de passe pour ce compte, spécifiez @job_login et @job_password.

    • Pour modifier le mode de sécurité utilisé lors de la connexion au serveur de publication, spécifiez la valeur 1 ou 0 pour @publisher_security_mode.

    • Lorsque vous modifiez le mode de sécurité utilisé lors de la connexion au serveur de publication de 1 à 0 ou lorsque vous modifiez un compte de connexion SQL Server utilisé pour cette connexion, spécifiez @publisher_login et @publisher_password.

    [!REMARQUE]

    Après avoir modifié le nom de connexion ou le mot de passe d'un agent, vous devez arrêter et redémarrer l'agent pour que la modification prenne effet.

    Remarque relative à la sécuritéRemarque relative à la sécurité

     Lors de la configuration d'un serveur de publication avec un serveur de distribution distant, les valeurs fournies pour tous les paramètres, y compris job_login et job_password, sont envoyées en texte brut au serveur de distribution. Vous devez chiffrer la connexion entre le serveur de publication et son serveur de distribution distant avant d'exécuter cette procédure stockée. Pour plus d'informations, consultez Chiffrement des connexions à SQL Server.

Pour modifier les paramètres de sécurité relatifs à l'Agent de distribution pour un abonnement par émission de données

  1. Exécutez sp_helpsubscription sur la base de données de publication du serveur de publication, en spécifiant @publication et @subscriber. Cela retourne les propriétés de l'abonnement, y compris les paramètres de sécurité relatifs à l'Agent de distribution qui s'exécute sur le serveur de distribution.

  2. Exécutez sp_changesubscription sur la base de données de publication du serveur de publication, en spécifiant @publication, @subscriber, @subscriber_db, la valeur all pour @article, le nom de la propriété de sécurité pour @property et la nouvelle valeur de la propriété pour @value.

  3. Répétez l'étape 2 pour chacune des propriétés de sécurité suivantes à modifier :

    • Pour modifier le compte Windows sous lequel l'agent s'exécute ou seulement le mot de passe de ce compte, spécifiez la valeur distrib_job_password pour @property et un nouveau mot de passe pour @value. Lorsque vous modifiez le compte lui-même, répétez l'étape 2 en spécifiant la valeur distrib_job_login pour @property et le nouveau compte Windows pour @value.

    • Pour modifier le mode de sécurité utilisé lorsque vous vous connectez à l'Abonné, spécifiez la valeur subscriber_security_mode pour @property et la valeur 1 (authentification intégrée Windows) ou 0 (authentification SQL Server) pour @value.

    • Si vous modifiez le mode de sécurité de l'Abonné en spécifiant l'authentification SQL Server ou si vous modifiez les informations de connexion pour l'authentification SQL Server, spécifiez la valeur subscriber_password pour @property et le nouveau mot de passe pour @value. Répétez l'étape 2, en spécifiant la valeur subscriber_login pour @property et le nouveau nom de connexion pour @value.

    [!REMARQUE]

    Après avoir modifié le nom de connexion ou le mot de passe d'un agent, vous devez arrêter et redémarrer l'agent pour que la modification prenne effet.

    Remarque relative à la sécuritéRemarque relative à la sécurité

     Lors de la configuration d'un serveur de publication avec un serveur de distribution distant, les valeurs fournies pour toutes les propriétés, y compris distrib_job_login et distrib_job_password, sont envoyées en texte brut au serveur de distribution. Vous devez chiffrer la connexion entre le serveur de publication et son serveur de distribution distant avant d'exécuter cette procédure stockée. Pour plus d'informations, consultez Chiffrement des connexions à SQL Server.

Pour modifier les paramètres de sécurité relatifs à l'Agent de distribution pour un abonnement par extraction

  1. Sur l'Abonné, exécutez sp_helppullsubscription, en spécifiant @publication. Cela retourne les propriétés de l'abonnement, y compris les paramètres de sécurité relatifs à l'Agent de distribution qui s'exécute sur l'Abonné.

  2. Exécutez sp_change_subscription_properties sur la base de données d'abonnement de l'Abonné, en spécifiant @publisher, @publisher_db, @publication, le nom de la propriété de sécurité pour @property et la nouvelle valeur de la propriété pour @value.

  3. Répétez l'étape 2 pour chacune des propriétés de sécurité suivantes à modifier :

    • Pour modifier le compte Windows sous lequel l'agent s'exécute ou seulement le mot de passe de ce compte, spécifiez la valeur distrib_job_password pour @property et un nouveau mot de passe pour @value. Lorsque vous modifiez le compte lui-même, répétez l'étape 2 en spécifiant la valeur distrib_job_login pour @property et le nouveau compte Windows pour @value.

    • Pour modifier le mode de sécurité utilisé lorsque vous vous connectez au serveur de distribution, spécifiez la valeur distributor_security_mode pour @property et la valeur 1 (authentification intégrée Windows) ou 0 (authentification SQL Server) pour @value.

    • Si vous modifiez le mode de sécurité du serveur de distribution en spécifiant l'authentification SQL Server ou si vous modifiez les informations de connexion pour l'authentification SQL Server, spécifiez la valeur distributor_password pour @property et le nouveau mot de passe pour @value. Répétez l'étape 2, en spécifiant la valeur distributor_login pour @property et le nouveau nom de connexion pour @value.

    [!REMARQUE]

    Après avoir modifié le nom de connexion ou le mot de passe d'un agent, vous devez arrêter et redémarrer l'agent pour que la modification prenne effet.

Pour modifier les paramètres de sécurité relatifs à l'Agent de fusion pour un abonnement par émission de données

  1. Exécutez sp_helpmergesubscription sur la base de données de publication du serveur de publication, en spécifiant @publication, @subscriber et @subscriber_db. Cela retourne les propriétés de l'abonnement, y compris les paramètres de sécurité relatifs à l'Agent de fusion qui s'exécute sur le serveur de distribution.

  2. Exécutez sp_changemergesubscription sur la base de données de publication du serveur de publication, en spécifiant @publication, @subscriber, @subscriber_db, le nom de la propriété de sécurité pour @property et la nouvelle valeur de la propriété pour @value.

  3. Répétez l'étape 2 pour chacune des propriétés de sécurité suivantes à modifier :

    • Pour modifier le compte Windows sous lequel l'agent s'exécute ou seulement le mot de passe de ce compte, spécifiez la valeur merge_job_password pour @property et un nouveau mot de passe pour @value. Lorsque vous modifiez le compte lui-même, répétez l'étape 2 en spécifiant la valeur merge_job_login pour @property et le nouveau compte Windows pour @value.

    • Pour modifier le mode de sécurité utilisé lorsque vous vous connectez à l'Abonné, spécifiez la valeur subscriber_security_mode pour @property et la valeur 1 (authentification intégrée Windows) ou 0 (authentification SQL Server) pour @value.

    • Si vous modifiez le mode de sécurité de l'Abonné en spécifiant l'authentification SQL Server ou si vous modifiez les informations de connexion pour l'authentification SQL Server, spécifiez la valeur subscriber_password pour @property et le nouveau mot de passe pour @value. Répétez l'étape 2, en spécifiant la valeur subscriber_login pour @property et le nouveau nom de connexion pour @value.

    • Pour modifier le mode de sécurité utilisé lorsque vous vous connectez au serveur de publication, spécifiez la valeur publisher_security_mode pour @property et la valeur 1 (authentification intégrée Windows) ou 0 (authentification SQL Server) pour @value.

    • Si vous modifiez le mode de sécurité du serveur de publication en spécifiant l'authentification SQL Server ou si vous modifiez les informations de connexion pour l'authentification SQL Server, spécifiez la valeur publisher_password pour @property et le nouveau mot de passe pour @value. Répétez l'étape 2, en spécifiant la valeur publisher_login pour @property et le nouveau nom de connexion pour @value.

    [!REMARQUE]

    Après avoir modifié le nom de connexion ou le mot de passe d'un agent, vous devez arrêter et redémarrer l'agent pour que la modification prenne effet.

    Remarque relative à la sécuritéRemarque relative à la sécurité

     Lors de la configuration d'un serveur de publication avec un serveur de distribution distant, les valeurs fournies pour toutes les propriétés, y compris merge_job_login et merge_job_password, sont envoyées en texte brut au serveur de distribution. Vous devez chiffrer la connexion entre le serveur de publication et son serveur de distribution distant avant d'exécuter cette procédure stockée. Pour plus d'informations, consultez Chiffrement des connexions à SQL Server.

Pour modifier les paramètres de sécurité relatifs à l'Agent de fusion pour un abonnement par extraction

  1. Sur l'Abonné, exécutez sp_helpmergepullsubscription, en spécifiant @publication. Cela retourne les propriétés de l'abonnement, y compris les paramètres de sécurité relatifs à l'Agent de fusion qui s'exécute sur l'Abonné.

  2. Exécutez sp_change_subscription_properties sur la base de données d'abonnement de l'Abonné, en spécifiant @publisher, @publisher_db, @publication, le nom de la propriété de sécurité pour @property et la nouvelle valeur de la propriété pour @value.

  3. Répétez l'étape 2 pour chacune des propriétés de sécurité suivantes à modifier :

    • Pour modifier le compte Windows sous lequel l'agent s'exécute ou seulement le mot de passe de ce compte, spécifiez la valeur merge_job_password pour @property et un nouveau mot de passe pour @value. Lorsque vous modifiez le compte lui-même, répétez l'étape 2 en spécifiant la valeur merge_job_login pour @property et le nouveau compte Windows pour @value.

    • Pour modifier le mode de sécurité utilisé lorsque vous vous connectez au serveur de distribution, spécifiez la valeur distributor_security_mode pour @property et la valeur 1 (authentification intégrée Windows) ou 0 (authentification SQL Server) pour @value.

    • Si vous modifiez le mode de sécurité du serveur de distribution en spécifiant l'authentification SQL Server ou si vous modifiez les informations de connexion pour l'authentification SQL Server, spécifiez la valeur distributor_password pour @property et le nouveau mot de passe pour @value. Répétez l'étape 2, en spécifiant la valeur distributor_login pour @property et le nouveau nom de connexion pour @value.

    • Pour modifier le mode de sécurité utilisé lorsque vous vous connectez au serveur de publication, spécifiez la valeur publisher_security_mode pour @property et la valeur 1 (authentification intégrée Windows) ou 0 (authentification SQL Server) pour @value.

    • Si vous modifiez le mode de sécurité du serveur de publication en spécifiant l'authentification SQL Server ou si vous modifiez les informations de connexion pour l'authentification SQL Server, spécifiez la valeur publisher_password pour @property et le nouveau mot de passe pour @value. Répétez l'étape 2, en spécifiant la valeur publisher_login pour @property et le nouveau nom de connexion pour @value.

    [!REMARQUE]

    Après avoir modifié le nom de connexion ou le mot de passe d'un agent, vous devez arrêter et redémarrer l'agent pour que la modification prenne effet.

Pour modifier les paramètres de sécurité relatifs à l'Agent de capture instantanée pour générer une capture instantanée filtrée pour un Abonné

  1. Sur le serveur de publication, exécutez sp_helpdynamicsnapshot_job, en spécifiant @publication. Dans le jeu de résultats, notez la valeur de job_name pour la partition de l'Abonné à modifier.

  2. Sur le serveur de publication, exécutez sp_changedynamicsnapshot_job, en spécifiant @publication, la valeur obtenue à l'étape 1 pour @dynamic_snapshot_jobname et un nouveau mot de passe pour @job_password ou un nom de connexion et un mot de passe pour le compte Windows sous lequel l'agent s'exécute pour @job_login et @job_password.

    Remarque relative à la sécuritéRemarque relative à la sécurité

     Lors de la configuration d'un serveur de publication avec un serveur de distribution distant, les valeurs fournies pour tous les paramètres, y compris job_login et job_password, sont envoyées en texte brut au serveur de distribution. Vous devez chiffrer la connexion entre le serveur de publication et son serveur de distribution distant avant d'exécuter cette procédure stockée. Pour plus d'informations, consultez Chiffrement des connexions à SQL Server.

Pour modifier les paramètres de sécurité relatifs à l'Agent de lecture de la file d'attente

  1. Sur le serveur de distribution, exécutez sp_helpqreader_agent. Cela retourne le compte Windows actuel sous lequel l'Agent de lecture de la file d'attente s'exécute.

    • Sur le serveur de distribution, exécutez sp_changeqreader_agent, en spécifiant les paramètres du compte Windows pour @job_login et @job_passwsord.

    [!REMARQUE]

    Après avoir modifié le nom de connexion ou le mot de passe d'un agent, vous devez arrêter et redémarrer l'agent pour que la modification prenne effet. Il existe un Agent de lecture de la file d'attente pour chaque base de données de distribution. La modification des paramètres de sécurité pour l'agent affecte les paramètres de toutes les publications sur tous les serveurs de publication qui utilisent cette base de données de distribution.

  2. L'Agent de lecture de la file d'attente établit des connexions avec l'Abonné en utilisant le même contexte de connexion que l'Agent de distribution pour l'abonnement.

Pour modifier le mode de sécurité utilisé par un Abonné avec mise à jour immédiate lors de la connexion au serveur de publication

  • Exécutez sp_link_publication sur la base de données d'abonnement de l'Abonné. Spécifiez @publisher, @publication, le nom de la base de données de publication pour @publisher_db et l'une des valeurs suivantes pour @security_mode :

    • 0 pour utiliser l'authentification SQL Server pour effectuer des mises à jour sur le serveur de publication. Avec cette option, vous devez spécifier une connexion valide sur le serveur de publication pour @login et @password.

    • 1 pour utiliser le contexte de sécurité de l'utilisateur qui apporte des modifications sur l'Abonné lors de la connexion au serveur de publication. Consultez sp_link_publication pour connaître les restrictions en rapport avec ce mode de sécurité.

    • 2 pour utiliser une connexion de serveur lié existante, définie par l'utilisateur et créée à l'aide de sp_addlinkedserver (Transact-SQL).

Pour modifier le mot de passe d'un serveur de distribution distant

  1. Exécutez sp_changedistributor_password sur la base de données de distribution du serveur de distribution, en spécifiant le nouveau mot de passe pour cette connexion pour @password.

    Important

    Ne modifiez pas directement le mot de passe pour distributor_admin.

  2. Exécutez sp_changedistributor_password sur chaque serveur de publication qui utilise ce serveur de distribution distant, en spécifiant le mot de passe défini à l'étape 1 pour @password.