Como exibir e modificar propriedades de segurança de replicação (Programação Transact-SQL de replicação)

Configurações de conta de segurança (logons e senhas) necessárias à replicação quando as publicações e as assinaturas são criadas. Essas configurações podem ser alteradas depois do uso de procedimentos armazenados de replicação. Os procedimentos armazenados usados dependem do tipo de agente e do tipo de conexão de servidor.

ObservaçãoObservação

Por razões de segurança, o valor real das senhas é mascarado em conjuntos de resultados retornados por procedimentos armazenados de replicação.

Observação sobre segurançaObservação sobre segurança

Em todos os procedimentos a seguir, quando possível, solicite aos usuários que digitem as credenciais de segurança em tempo de execução. Se armazenar credenciais em um arquivo de script, proteja o arquivo para evitar acesso não autorizado.

Para alterar todas as instâncias de uma senha armazenada em um servidor de replicação

  1. Em um servidor, em uma topologia de replicação do banco de dados mestre, execute sp_changereplicationserverpasswords. Especifique a conta do Windows Microsoft ou o logon para o Microsoft SQL Server, cuja senha está sendo trocada por @login e uma nova senha para a conta ou logon de @password. Isso altera todas as instâncias da senha usada por todos os agentes no servidor quando em conexão com outros servidores da topologia.

    ObservaçãoObservação

    Para trocar apenas o logon e a senha da conexão de um determinado servidor na topologia (como Distribuidor ou Assinante), especifique o nome do servidor como @server.

  2. Repita a Etapa 1 em todos servidores da topologia de replicação nos quais a senha precise ser atualizada.

    ObservaçãoObservação

    Depois de trocar a senha de replicação, será preciso parar e reiniciar cada um dos agentes que utiliza a senha antes que ela entre em vigor para aquele agente.

Para alterar as configurações de segurança do Snapshot Agent

  1. No Publicador, execute sp_helppublication_snapshot, especificando @publication. Isso retorna as atuais configurações de segurança do Snapshot Agent.

  2. No Publicador, execute sp_changepublication_snapshot, especificando @publication e uma ou mais das seguintes configurações de segurança para alterar:

    • Para alterar a conta do Windows na qual o agente é executado ou apenas a senha da conta, especifique @job_login e @job_password.

    • Para alterar o modo de segurança usado para conexão com o Publicador, especifique o valor de 1 ou 0 para @publisher_security_mode.

    • Quando o modo de segurança usado é alterado durante a conexão com o Publicador de 1 para 0 ou quando o logon do SQL Server usado para essa conexão é alterado especifique @publisher_login e @publisher_password.

    Observação sobre segurançaObservação sobre segurança

     Quando um Publicador é configurado com um Distribuidor remoto, os valores fornecidos para todos os parâmetros, inclusive job_login e job_password, serão enviados ao Distribuidor como texto sem formatação. Criptografe a conexão entre o Publicador e seu Distribuidor remoto antes de executar esse procedimento armazenado. Para obter mais informações, consulte Criptografando conexões com o SQL Server.

Para alterar as configurações de segurança para o Log Reader Agent

  1. No Publicador, execute sp_helplogreader_agent, especificando @publisher. Isso retorna as atuais configurações de segurança para o Log Reader Agent.

  2. No Publicador, execute sp_changelogreader_agent, especificando @publication e uma ou mais das seguintes configurações de segurança para alterar:

    • Para alterar a conta do Windows na qual o agente é executado ou apenas a senha da conta, especifique @job_login e @job_password.

    • Para alterar o modo de segurança usado para conexão com o Publicador, especifique o valor de 1 ou 0 para @publisher_security_mode.

    • Quando o modo de segurança usado for alterado durante a conexão com o Publicador de 1 para 0 ou quando o logon do SQL Server for usado para essa conexão, especifique @publisher_login e @publisher_password.

    ObservaçãoObservação

    Depois de alterar o logon ou a senha de um agente, será preciso parar e reiniciar o agente para que a alteração entre em vigor.

    Observação sobre segurançaObservação sobre segurança

     Quando um Publicador é configurado com um Distribuidor remoto, os valores fornecidos para todos os parâmetros, inclusive job_login e job_password, são enviados ao Distribuidor como texto sem formatação. Criptografe a conexão entre o Publicador e seu Distribuidor remoto antes de executar esse procedimento armazenado. Para obter mais informações, consulte Criptografando conexões com o SQL Server.

Para alterar configurações de segurança do Distribution Agent para uma assinatura push

  1. No Publicador de um banco de dados de publicação, execute sp_helpsubscription, especificando @publication e @subscriber. Isso retorna propriedades de assinatura, inclusive configurações de segurança para o Distribution Agent em execução no Distribuidor.

  2. No Publicador do banco de dados de publicação, execute sp_changesubscription, especificando @publication, @subscriber, @subscriber_db, um valor de all para @article, o nome da propriedade de segurança para @property e o novo valor da propriedade para @value.

  3. Repita a Etapa 2 para cada uma das seguintes propriedades de segurança que forem alteradas:

    • Para alterar a conta do Windows na qual o agente é executado ou apenas a senha da conta, especifique um valor de distrib_job_password para @property e uma nova senha para @value. Quando alterar a própria conta, repita a Etapa 2 especificando um valor de distrib_job_login para @property, e a nova conta do Windows para @value.

    • Para alterar o modo de segurança usado durante e conexão com o Assinante, especifique um valor de subscriber_security_mode para @property, e um valor de 1 (Autenticação Integrada do Windows) ou 0 (Autenticação do SQL Server) para @value.

    • Quando o modo de segurança do Assinante for alterado para a Autenticação do SQL Server ou quando forem alteradas as informações de logon para a Autenticação do SQL Server, especifique um valor de subscriber_password para @property e uma nova senha para @value. Repita a Etapa 2, especificando um valor de subscriber_login para @property, e um novo logon para @value.

    ObservaçãoObservação

    Depois de alterar o logon ou a senha de um agente, é necessário interromper e reiniciar o agente para a alteração entrar em vigor.

    Observação sobre segurançaObservação sobre segurança

     Quando o Publicador for configurado com um Distribuidor remoto, os valores fornecidos para todas as propriedades, inclusive distrib_job_login e distrib_job_password, são enviados ao Distribuidor como texto sem formatação. Criptografe a conexão entre o Publicador e seu Distribuidor remoto antes de executar esse procedimento armazenado. Para obter mais informações, consulte Criptografando conexões com o SQL Server.

Para alterar as configurações de segurança do Distribution Agent para uma assinatura pull

  1. No Assinante, execute sp_helppullsubscription, especificando @publication. Isto retornará propriedades de assinatura, inclusive configurações de segurança para o Distribution Agent que é executado no Assinante.

  2. No Assinante do banco de dados do assinante, execute sp_change_subscription_properties, especificando @publisher, @publisher_db, @publication, o nome da propriedade de segurança de @property e o novo valor da propriedade para @value.

  3. Repita a Etapa 2 para cada uma das seguintes propriedades de segurança que forem alteradas:

    • Para alterar a conta do Windows na qual o agente é executado ou apenas a senha da conta, especifique um valor de distrib_job_password para @property e uma nova senha para @value. Quando a própria conta for alterada, repita a Etapa 2, especificando um valor de distrib_job_login para @property, e a nova conta do Windows para @value.

    • Para alterar o modo de segurança usado durante a conexão com o Distribuidor, especifique um valor de distributor_security_mode para @property, e um valor de 1 (Autenticação Integrada do Windows) ou 0 (Autenticação do SQL Server) para @value.

    • Quando o modo de segurança do Distribuidor for alterado para a Autenticação do SQL Server ou se as informações de logon da Autenticação do SQL Server forem alteradas, especifique um valor de distributor_password para @property e a nova senha para @value. Repita a Etapa 2, especificando um valor de distributor_login para @property, e um novo logon para @value.

    ObservaçãoObservação

    Depois de alterar o logon ou a senha de um agente, é necessário interromper e reiniciar o agente para que a alteração entre em vigor.

Para alterar as configurações de segurança do Merge Agent para uma assinatura push

  1. No Publicador do banco de dados de publicação, execute sp_helpmergesubscription, especificando @publication, @subscriber e @subscriber_db. Isto retorna propriedades de assinatura, inclusive configurações de segurança para o Merge Agent em execução no Distribuidor.

  2. No Publicador do banco de dados de publicação, execute sp_changemergesubscription, especificando @publication, @subscriber, @subscriber_db, o nome da propriedade de segurança para @property e o novo valor da propriedade para @value.

  3. Repita a Etapa 2, para cada uma das seguintes propriedades de segurança que forem alteradas:

    • Para alterar a conta do Windows na qual o agente é executado ou simplesmente a senha da conta, especifique um valor de merge_job_password para @property, e uma nova senha para @value. Quando a própria conta for alterada, repita a Etapa 2, especificando um valor de merge_job_login para @property, e a nova conta do Windows para @value.

    • Para alterar o modo de segurança usado durante e conexão com o Assinante, especifique um valor de subscriber_security_mode para @property, e um valor de 1 (Autenticação Integrada do Windows) ou 0 (Autenticação do SQL Server) para @value.

    • Quando o modo de segurança do Assinante for alterado para a Autenticação do SQL Server ou quando forem alteradas as informações de logon para a Autenticação do SQL Server, especifique um valor de subscriber_password para @property e uma nova senha para @value. Repita a Etapa 2, especificando um valor de subscriber_login para @property, e um novo logon para @value.

    • Para alterar o modo de segurança usado durante a conexão com o Publicador, especifique um valor de publisher_security_mode para @property e um valor de 1 (Autenticação Integrada do Windows) ou 0 (Autenticação do SQL Server) para @value.

    • Quando o modo de segurança do Publicador for alterado para a Autenticação do SQL Server ou se as informações de logon para a Autenticação do SQL Server forem alteradas, especifique um valor de publisher_password para @property e a nova senha para @value. Repita a Etapa 2, especificando um valor de publisher_login para @property, e um novo logon para @value.

    ObservaçãoObservação

    Depois de alterar o logon ou a senha de um agente, é necessário interromper e reiniciar o agente para que a alteração entre em vigor.

    Observação sobre segurançaObservação sobre segurança

     Quando o Publicador for configurado com um Distribuidor remoto, os valores fornecidos para todas as propriedades, inclusive merge_job_login e merge_job_password, serão enviados ao Distribuidor como texto sem formatação. Criptografe a conexão entre o Publicador e seu Distribuidor remoto antes de executar esse procedimento armazenado. Para obter mais informações, consulte Criptografando conexões com o SQL Server.

Para alterar as configurações de segurança do Merge Agent para uma assinatura pull

  1. No Assinante, execute sp_helpmergepullsubscription, especificando @publication. Isso retornará propriedades de assinatura, inclusive configurações de segurança para o Merge Agent que executa no Assinante.

  2. No Assinante do banco de dados do assinante, execute sp_change_subscription_properties, especificando @publisher, @publisher_db, @publication, o nome da propriedade de segurança para @property e o novo valor da propriedade para @value.

  3. Repita a Etapa 2, para cada uma das seguintes propriedades de segurança que forem alteradas:

    • Para alterar a conta do Windows na qual o agente é executado ou simplesmente a senha da conta, especifique um valor de merge_job_password para @property, e uma nova senha para @value. Quando a própria conta for alterada, repita a Etapa 2, especificando um valor de merge_job_login para @property, e a nova conta do Windows para @value.

    • Para alterar o modo de segurança usado durante a conexão com o Distribuidor, especifique um valor de distributor_security_mode para @property, e um valor de 1 (Autenticação Integrada do Windows) ou 0 (Autenticação do SQL Server) para @value.

    • Quando o modo de segurança do Distribuidor for alterado para a Autenticação do SQL Server ou se as informações de logon da Autenticação do SQL Server forem alteradas, especifique um valor de distributor_password para @property, e a nova senha para @value. Repita a Etapa 2, especificando um valor de distributor_login para @property, e um novo logon para @value.

    • Para alterar o modo de segurança usado durante a conexão com o Publicador, especifique um valor de publisher_security_mode para @property e um valor de 1 (Autenticação Integrada do Windows) ou 0 (Autenticação do SQL Server) para @value.

    • Quando o modo de segurança do Publicador for alterado ou quando se alterarem as informações de logon da Autenticação do SQL Server, especifique um valor de publisher_password para @property e a nova senha para @value. Repita a Etapa 2, especificando um valor de publisher_login para @property, e um novo logon para @value.

    ObservaçãoObservação

    Depois de alterar o logon ou a senha de um agente, será necessário interromper e reiniciar o agente para que a alteração entre em vigor.

Para alterar configurações de segurança para o Snapshot Agent para gerar um instantâneo filtrado para um Assinante

  1. No Publicador, execute sp_helpdynamicsnapshot_job, especificando @publication. No conjunto de resultados, observe o valor de job_name para a partição do Assinante a ser alterada.

  2. No Publicador, execute sp_changedynamicsnapshot_job, especificando @publication, o valor obtido na Etapa 1 para @dynamic_snapshot_jobname e uma nova senha para @job_password ou logon e senha para a conta do Windows em que o agente é executado para @job_login e @job_password.

    Observação sobre segurançaObservação sobre segurança

     Quando um Publicador é configurado com um Distribuidor remoto, os valores fornecidos para todos os parâmetros, inclusive job_login e job_password, são enviados ao Distribuidor como texto sem formatação. Criptografe a conexão entre o Publicador e seu Distribuidor remoto antes de executar esse procedimento armazenado. Para obter mais informações, consulte Criptografando conexões com o SQL Server.

Para alterar as configurações de segurança para o Queue Reader Agent

  1. Para o Distribuidor, execute sp_helpqreader_agent. Isso retorna a conta do atual em que o Queue Reader Agent é executado.

    • No Distribuidor, execute sp_changeqreader_agent, especificando as configurações da conta do Windows para @job_login e @job_passwsord.
    ObservaçãoObservação

    Depois de alterar o logon ou a senha de um agente, será preciso parar e reiniciar o agente para que a alteração entre em vigor. Há um Queue Reader Agent para cada banco de dados de distribuição. Alterar as configurações de segurança do agente afeta as configurações de todas as publicações em todos os Publicadores que usam esse banco de dados de distribuição.

  2. O Queue Reader Agent faz conexões com o Assinante usando o mesmo contexto de conexão do Distribution Agent para a assinatura.

Para alterar modo de segurança usado por um Assinante de atualização imediato durante conexão com o Publicador

  • No Assinante, no banco de dados de assinatura, execute sp_link_publication. Especifique o @publisher, @publication, o nome do banco de dados de publicação para o @publisher_db, e um dos valores a seguir para o @security_mode:

    • 0 para usar a Autenticação do SQL Server ao fazer atualizações no Publicador. Essa opção requer a especificação de um logon válido no Publicador para @login e @password.

    • 1 para usar o contexto de segurança do usuário que faz alterações no Assinante durante conexão com o Assinante. Consulte sp_link_publication quanto às restrições relacionadas a esse modo de segurança.

    • 2 para usar um logon existente, definido pelo usuário e associado, criado com o uso de sp_addlinkedserver (Transact-SQL).

Para alterar a senha de um Distribuidor remoto

  1. No Distribuidor, no banco de dados de distribuição, execute sp_changedistributor_password, especificando uma nova senha desse logon para @password.

    Observação importanteImportante

    Não altere diretamente a senha para distributor_admin.

  2. Em todos os Publicadores que usam esse Distribuidor remoto, execute sp_changedistributor_password, especificando a senha da Etapa 1 para @password.