Exibir e modificar configurações de segurança de replicação

Aplica-se a: Instância Gerenciada de SQL do Azure SQL Server (todas as versões com suporte)

Este tópico descreve como exibir e modificar as configurações de segurança de replicação em SQL Server usando SQL Server Management Studio, Transact-SQL ou RMO (Replication Management Objects). Por exemplo, você pode querer alterar a conexão do Agente de Leitor de Log com o Publicador de uma autenticação do SQL Server para uma autenticação integrada do Windows ou alterar as credenciais usadas para executar um trabalho do agente quando a senha do Windows foi alterada. Para obter informações sobre as permissões exigidas por cada agente, consulte Replication Agent Security Model.

Neste tópico

Antes de começar

Limitações e Restrições

  • Os procedimentos armazenados usados dependem do tipo de agente e do tipo de conexão de servidor.

  • As classes e propriedades RMO que você usa dependem do tipo de agente e do tipo de conexão de servidor.

Segurança

Por questões de segurança, os valores reais das senhas são mascarados em conjuntos de resultados retornados por procedimentos armazenados de replicação.

Permissões

Como usar o SQL Server Management Studio.

Exiba e modifique as configurações de segurança nas seguintes caixas de diálogo:

  1. A caixa de diálogo Atualizar Senhas de Replicação que está disponível na pasta Replicação do SQL Server Management Studio. Se você alterar a senha para uma conta do SQL Server ou uma conta do Windows no servidor em uma topologia de replicação, use essa caixa de diálogo ao invés de atualizar a senha para cada agente que usa essa conta. Se agentes em mais de um servidor usam a mesma conta, você deverá conectar-se a cada servidor e alterar a senha. A senha será atualizada em todos os lugares em que a replicação usa a senha. A senha não é atualizada em outros lugares, como servidores vinculados.

  2. A página Segurança do Agente da caixa de diálogo Propriedades da Publicação – <Publicação> . Para obter mais informações sobre como acessar essa caixa de diálogo, consulte View and Modify Publication Properties.

  3. As Propriedades da Assinatura – <Caixa de diálogo Assinatura> . Para obter mais informações sobre como acessar essa caixa de diálogo, consulte View and Modify Push Subscription Properties e View and Modify Pull Subscription Properties.

  4. As Propriedades do Distribuidor – <Propriedades do Banco de Dados distribuidor> e de distribuição – <caixas de diálogo banco de> dados. Para obter mais informações sobre como acessar essas caixas de diálogo, consulte View and Modify Distributor and Publisher Properties.

  5. A caixa de diálogo Propriedades do Publicador – <Publicador> . Para obter mais informações sobre como acessar essa caixa de diálogo, consulte View and Modify Distributor and Publisher Properties.

Para alterar a senha para uma conta usada por um ou mais agentes

  1. Se a conta for uma conta do SQL Server, essa caixa de diálogo também alterará a senha para a conta do SQL Server. Se a conta for uma conta de Windows, altere primeiro a senha no Windows. Para obter mais informações, consulte a documentação do Windows.

    Observação

    Depois de alterar a senha de replicação de um agente, você deve parar e reiniciar cada agente que a usa para que a alteração entre em vigor para aquele agente.

  2. Conecte-se ao servidor no SQL Server Management Studioe expanda o nó do servidor.

  3. Clique com o botão direito do mouse na pasta Replicação e, então, clique em Atualizar Senhas de Replicação.

  4. Na caixa de diálogo Atualizar Senhas de Replicação , especifique a conta e a nova senha.

  5. Selecione OK.

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

  1. Na página Segurança do Agente da caixa de diálogo Propriedades da Publicação – <Publicação>, clique no botão Configurações de Segurança ao lado da caixa de texto Agente de Instantâneo.

  2. Na caixa de diálogo Segurança do Snapshot Agent , especifique a conta sob a qual o agente deveria ser executado:

    • Digite uma nova conta de Windows na caixa de texto Conta do Agent .

    • Digite uma nova senha forte nas caixas de texto de Senha e Confirmar senha .

  3. Especifique o contexto sob o qual o agente deveria se conectar do Distribuidor ao Publicador. Se você selecionar Usando o seguinte logon do SQL Server, você também terá que especificar o logon:

    • Digite um logon na caixa de texto Logon

    • Digite uma nova senha forte nas caixas de texto de Senha e Confirmar senha .

    Observação

    Se o Publicador for um Publicador Oracle, o contexto de conexão será especificado na caixa de diálogo Propriedades do Distribuidor – <Distribuidor> . Veja a seguir o procedimento para alterar o contexto.

  4. Selecione OK.

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

  1. Na página Segurança do Agente da caixa de diálogo Propriedades da Publicação – <Publicação> , clique no botão Configurações de Segurança ao lado da caixa de texto do Agente de Leitor de Log .

  2. Na caixa de diálogo Segurança do Log Reader Agent , especifique a conta sob a qual o agente deveria ser executado:

    • Digite uma nova conta de Windows na caixa de texto Conta do Agent .

    • Digite uma nova senha forte nas caixas de texto de Senha e Confirmar senha .

  3. Especifique o contexto sob o qual o agente deveria se conectar do Distribuidor ao Publicador. Se você selecionar Usando o seguinte logon do SQL Server, você também terá que especificar o logon:

    • Digite um logon na caixa de texto Logon

    • Digite uma nova senha forte nas caixas de texto de Senha e Confirmar senha .

    Observação

    Se o Publicador for um Publicador Oracle, o contexto de conexão será especificado na caixa de diálogo Propriedades do Distribuidor – <Distribuidor> . Altere o contexto usando o procedimento a seguir.

  4. Selecione OK.

    Observação

    Há um Log Reader Agent para cada banco de dados publicado. A alteração das configurações de segurança para o agente para uma publicação afeta as configurações no banco de dados de publicação.

Para alterar o contexto no qual o Snapshot Agent e o Log Reader Agent de um Editor Oracle fazem conexões com o Publicador

  1. Na página Publishers da caixa de diálogo Propriedades do Distribuidor – <Distribuidor> , clique no botão propriedades (...) ao lado de um Publicador.

  2. Na seção Conexão do Agente com o Publicador , especifique o logon e a senha usados pelo esquema de usuário administrativo de replicação que você configurou. Para obter mais informações, consulte Configure an Oracle Publisher (Configurar um publicador do Oracle).

  3. Selecione OK.

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

  1. Na caixa de diálogo Propriedades da Assinatura – <Assinatura> no Publicador, você pode fazer as seguintes alterações:

    • Para alterar a conta na qual o Agente de Distribuição executa e faz conexões com o Distribuidor, clique na linha Conta de processo de agente e, depois, clique no botão ( ... ) de propriedades na linha. Especifique uma conta e uma senha na caixa de diálogo Segurança do Agente de Distribuição .

    • Para alterar o contexto no qual o Agente de Distribuição conecta-se ao Assinante, clique na linha Conexão do Assinante e, depois, clique no botão ( ... ) de propriedades na linha. Especifique o contexto na caixa de diálogo Inserir Informações de Conexão .

      Se você usar assinaturas de atualização enfileirada, o Queue Reader Agent também usará o contexto especificado aqui para conexões com o Assinante.

  2. Selecione OK.

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

  1. Na caixa de diálogo Propriedades da Assinatura – <Assinatura> no Assinante, você pode fazer as seguintes alterações:

    • Para alterar a conta na qual o Agente de Distribuição executa e faz conexões com o Assinante, clique na linha Conta de processo de agente e, depois, clique no botão ( ... ) de propriedades na linha. Especifique uma conta e uma senha na caixa de diálogo Segurança do Agente de Distribuição .

      Se você usar assinaturas de atualização enfileirada, o Queue Reader Agent também usará o contexto especificado aqui para conexões com o Assinante.

    • Para alterar o contexto no qual o Agente de Distribuição se conecta ao Distribuidor, clique na linha Conexão do Distribuidor e, depois, clique no botão ( ... ) de propriedades na linha. Especifique o contexto na caixa de diálogo Inserir Informações de Conexão .

  2. Selecione OK.

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

  1. Na caixa de diálogo Propriedades da Assinatura – <Assinatura> no Publicador, você pode fazer as seguintes alterações:

    • Para alterar a conta na qual o Agente de Mesclagem executa e faz conexões com o Publicador e o Distribuidor, clique na linha Conta de processo de agente e, em seguida, clique no botão ( ... ) de propriedades na linha. Especifique a conta e a senha na caixa de diálogo Segurança do Agente de Mesclagem .

    • Para alterar o contexto no qual o Agente de Mesclagem se conecta ao Assinante, clique na linha Conexão do Assinante e, depois, clique no botão ( ... ) de propriedades na linha. Especifique o contexto na caixa de diálogo Inserir Informações de Conexão .

  2. Selecione OK.

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

  1. Na caixa de diálogo Propriedades da Assinatura – <Assinatura> no Assinante, você pode fazer as seguintes alterações:

    • Para alterar a conta na qual o Agente de Mesclagem executa e faz conexões com o Assinante, clique na linha Conta de processo de agente e, depois, clique no botão ( ... ) de propriedades na linha. Especifique a conta e a senha na caixa de diálogo Segurança do Agente de Mesclagem .

    • Para alterar o contexto no qual o Agente de Mesclagem é conectado ao Publicador e ao Distribuidor, clique na linha Conexão do Publicador e, em seguida, clique no botão ( ... ) de propriedades na linha. Especifique o contexto na caixa de diálogo Inserir Informações de Conexão .

  2. Selecione OK.

Para alterar a conta sob a qual o Queue Reader Agent é executado

  1. Na página Geral da caixa de diálogo Propriedades do Distribuidor – <Distribuidor> , clique no botão propriedades (...) ao lado do banco de dados de distribuição.

  2. Na caixa de diálogo Propriedades do Banco de Dados de Distribuição – <Banco> de Dados, clique no botão Configurações de Segurança ao lado da caixa de texto da conta de processo do Agente .

  3. Na caixa de diálogo Segurança do Queue Reader Agent , especifique a conta na qual o agente é executado e efetua conexões com o Distribuidor.

    • Digite uma nova conta de Windows na caixa de texto Conta de processo .

    • Digite uma nova senha forte nas caixas de texto de Senha e Confirmar senha .

  4. Selecione OK.

    Observação

    Há um Agente de Leitor de Fila 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.

Para alterar o contexto sob a qual o Queue Reader Agent faz conexões com o Publicador

  1. Na página Editores da caixa de diálogo Propriedades do Distribuidor – <Distribuidor> , clique no botão propriedades (...) ao lado do Publicador.

  2. Na seção Conexão do Agente com o Publicador , especifique o valor de Representar a conta de processo do agente ou Autenticação do SQL Server para a opção Modo de Conexão de Agente . Se você especificar a Autenticação do SQL Server, também digite os valores para Logon e Senha.

  3. Selecione OK.

    Observação

    Há um Agente de Leitor de Fila 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.

Para alterar o contexto sob o qual o Queue Reader Agent faz conexões com o Assinante

  • O Queue Reader Agent usa o mesmo contexto de conexão que o Distribution Agent para a assinatura. Para obter mais informações, veja os procedimentos acima para o Distribution Agent.

Para alterar as configurações de segurança para uma assinatura pull de atualização imediata

  1. Na caixa de diálogo Propriedades da Assinatura – <Assinatura> no Assinante, clique na linha Conexão do Publicador e, em seguida, clique no botão propriedades (...) na linha.

  2. Na caixa de diálogo Inserir Informações de Conexão , selecione uma das seguintes opções:

    • Usar um logon de servidor vinculado ou remoto. Selecione esta opção se você tiver definido um servidor remoto ou vinculado entre o Assinante e o Publicador usando sp_addserver (Transact-SQL), sp_addlinkedserver (Transact-SQL), o SQL Server Management Studio ou outro método.

    • Usar a Autenticação do SQL Server com estas informações de logon e senha. Selecione essa opção se um servidor vinculado ou remoto entre o Assinante e o Publicador ainda não tiver sido definido. A replicação criará um servidor vinculado para você. É necessário que a conta especificada já exista no Publicador.

  3. Selecione OK.

Observação

Esse procedimento altera o método utilizado pelos gatilhos de replicação para conexão do Assinante com o Publicador quando as alterações são feitas no Assinante. Você também pode alterar as configurações associadas com o Distribution Agent para uma assinatura de atualização imediata. Para obter mais informações, consulte os procedimentos descritos anteriormente neste tópico.

Este procedimento só se aplica às assinaturas pull. Para assinaturas por push, use o procedimento armazenado sp_link_publication (Transact-SQL).

Para alterar a senha para a conexão administrativa do Publicador para o Distribuidor

  1. Na página Editores da caixa de diálogo Propriedades do Distribuidor – <Distribuidor>, insira uma senha forte nas caixas de texto Senha e Confirmação de Senha.

  2. Selecione OK.

  3. Na página Geral da caixa de diálogo Propriedades do Publicador – <Publicador> , insira uma senha forte nas caixas de texto Senha e Confirmação de Senha .

  4. Selecione OK.

Usando o Transact-SQL

Importante

Em todos os procedimentos a seguir, quando possível, solicite aos usuários que digitem as credenciais de segurança em runtime. 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 do Microsoft SQL Server cuja senha está sendo alterada para @login e a nova senha para a conta ou o 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ção

    Para alterar apenas o logon e a senha de uma conexão com um servidor específico na topologia (como o Distribuidor ou o Assinante), especifique o nome desse servidor como @server.

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

    Observação

    Depois de alterar a senha de replicação de um agente, você deve parar e reiniciar cada agente que a usa para que a alteração 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 a serem alteradas:

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

    • Para alterar o modo de segurança usado ao se conectar ao Publicador, especifique um valor igual a 1 ou 0 para @publisher_security_mode.

    • Ao alterar o modo de segurança usado ao se conectar ao Publicador de 1 para 0 ou ao alterar um logon do SQL Server usado para essa conexão, especifique @publisher_login e @publisher_password.

    Importante

    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. Você deve criptografar a conexão entre o Publicador e seu Distribuidor remoto antes de executar esse procedimento armazenado. Para obter mais informações, confira Habilitar conexões criptografadas para o mecanismo de banco de dados (SQL Server Configuration Manager).

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 a serem alteradas:

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

    • Para alterar o modo de segurança usado ao se conectar ao Publicador, especifique um valor igual a 1 ou 0 para @publisher_security_mode.

    • Ao alterar o modo de segurança usado ao se conectar ao Publicador de 1 para 0 ou ao alterar um logon do SQL Server usado para essa conexão, especifique @publisher_login e @publisher_password.

    Observação

    Depois de alterar o logon ou a senha de um agente, você deve parar e reiniciar o agente antes que as alterações entrem em vigor.

    Importante

    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. Você deve criptografar a conexão entre o Publicador e seu Distribuidor remoto antes de executar esse procedimento armazenado. Para obter mais informações, confira Habilitar conexões criptografadas para o mecanismo de banco de dados (SQL Server Configuration Manager).

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

  1. No Publicador do 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 igual a 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 dessa conta, especifique um valor igual a distrib_job_password para @property e uma nova senha para @value. Ao alterar a própria conta, repita a etapa 2 especificando um valor igual a distrib_job_login para @property e a nova conta do Windows para @value.

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

    • Ao alterar o modo de segurança do Assinante para a Autenticação do SQL Server ou se alterar as informações de logon para a Autenticação do SQL Server, especifique um valor igual a subscriber_password para @property e a nova senha para @value. Repita a etapa 2 especificando um valor igual a subscriber_login para @property e um novo logon para @value.

    Observação

    Depois de alterar o logon ou a senha de um agente, você deve parar e reiniciar o agente antes que as alterações entrem em vigor.

    Importante

    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. Você deve criptografar a conexão entre o Publicador e seu Distribuidor remoto antes de executar esse procedimento armazenado. Para obter mais informações, confira Habilitar conexões criptografadas para o mecanismo de banco de dados (SQL Server Configuration Manager).

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 de assinatura, 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 apenas a senha dessa conta, especifique um valor igual a distrib_job_password para @property e uma nova senha para @value. Ao alterar a própria conta, repita a etapa 2 especificando um valor igual a distrib_job_login para @property e a nova conta do Windows para @value.

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

    • Ao alterar o modo de segurança do Distribuidor para a Autenticação do SQL Server ou se alterar as informações de logon para a Autenticação do SQL Server, especifique um valor igual a distributor_password para @property e a nova senha para @value. Repita a etapa 2 especificando um valor igual a distributor_login para @property e o novo logon para @value.

    Observação

    Depois de alterar o logon ou a senha de um agente, você deve parar e reiniciar o agente antes que as alterações entrem 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 apenas a senha dessa conta, especifique um valor igual a merge_job_password para @property e uma nova senha para @value. Ao alterar a própria conta, repita a etapa 2 especificando um valor igual a merge_job_login para @property e a nova conta do Windows para @value.

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

    • Ao alterar o modo de segurança do Assinante para a Autenticação do SQL Server ou se alterar as informações de logon para a Autenticação do SQL Server, especifique um valor igual a subscriber_password para @property e a nova senha para @value. Repita a etapa 2 especificando um valor igual a subscriber_login para @property e um novo logon para @value.

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

    • Ao alterar o modo de segurança do Publicador para a Autenticação do SQL Server ou se alterar as informações de logon para a Autenticação do SQL Server, especifique um valor igual a publisher_password para @property e a nova senha para @value. Repita a etapa 2 especificando um valor igual a publisher_login para @property e o novo logon para @value.

    Observação

    Depois de alterar o logon ou a senha de um agente, você deve parar e reiniciar o agente antes que as alterações entrem em vigor.

    Importante

    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. Você deve criptografar a conexão entre o Publicador e seu Distribuidor remoto antes de executar esse procedimento armazenado. Para obter mais informações, confira Habilitar conexões criptografadas para o mecanismo de banco de dados (SQL Server Configuration Manager).

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 de assinatura, 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 apenas a senha dessa conta, especifique um valor igual a merge_job_password para @property e uma nova senha para @value. Ao alterar a própria conta, repita a Etapa 2 especificando um valor igual a merge_job_login para @property e a nova conta do Windows para @value.

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

    • Ao alterar o modo de segurança do Distribuidor para a Autenticação do SQL Server ou se alterar as informações de logon para a Autenticação do SQL Server, especifique um valor igual a distributor_password para @property e a nova senha para @value. Repita a etapa 2 especificando um valor igual a distributor_login para @property e o novo logon para @value.

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

    • Ao alterar o modo de segurança do Publicador para a Autenticação do SQL Server ou se alterar as informações de logon da Autenticação do SQL Server, especifique um valor igual a publisher_password para @property e a nova senha para @value. Repita a etapa 2 especificando um valor igual a publisher_login para @property e o novo logon para @value.

    Observação

    Depois de alterar o logon ou a senha de um agente, você deve parar e reiniciar o agente antes que as alterações entrem 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 o logon e a senha da conta do Windows na qual o agente é executado para @job_login e @job_password.

    Importante

    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. Você deve criptografar a conexão entre o Publicador e seu Distribuidor remoto antes de executar esse procedimento armazenado. Para obter mais informações, confira Habilitar conexões criptografadas para o mecanismo de banco de dados (SQL Server Configuration Manager).

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

    Observação

    Depois de alterar o logon ou a senha de um agente, você deve parar e reiniciar o agente antes que as alterações entrem em vigor. Há um Agente de Leitor de Fila 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

  1. No Assinante, no banco de dados de assinatura, execute sp_link_publication. Especifique @publisher, @publication, o nome do banco de dados da publicação para @publisher_dbe um dos seguintes valores para @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 de servidor vinculado existente e definido pelo usuário criado usando sp_addlinkedserver (Transact-SQL).

Para alterar a senha de um Distribuidor remoto

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

    Importante

    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.

Usando o RMO (Replication Management Objects)

Importante

Quando possível, solicite que os usuários insiram as credenciais de segurança em tempo de execução. Se for preciso armazenar credenciais, use os serviços criptográficos fornecidos pelo Microsoft .NET Framework do Windows.

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

  1. Crie uma conexão com o servidor de replicação usando a classe ServerConnection .

  2. Crie uma instância da classe ReplicationServer usando a conexão da Etapa 1.

  3. Chame o método ChangeReplicationServerPasswords . Especifique os seguintes parâmetros:

    • security_mode - a ReplicationSecurityMode que especifica o tipo de autenticação para a qual todas as instâncias da senha estão sendo alteradas.

    • login - o logon para a qual todas as instâncias da senha estão sendo alteradas.

    • password - o novo valor de senha.

      Importante

      Quando possível, solicite que os usuários insiram as credenciais de segurança em tempo de execução. Se for preciso armazenar credenciais, use os serviços criptográficos fornecidos pelo Windows .NET Framework.

      Observação

      Só um membro da sysadmin função de servidor fixa pode chamar este método.

  4. Repita as Etapas 1-3 em todo servidor, na topologia de replicação, onde a senha deve ser atualizada.

Para alterar as configurações de segurança para o Distribution Agent de uma assinatura push para uma publicação transacional

  1. Crie uma conexão com o Publicador usando a classe ServerConnection .

  2. Criar uma instância da classe TransSubscription.

  3. Defina o PublicationName, DatabaseName, SubscriberName, e as propriedades SubscriptionDBName para a assinatura, e defina a conexão da Etapa 1 para a propriedade ConnectionContext .

  4. Chame o método LoadProperties para obter as propriedades do objeto. Se esse método retornar false, as propriedades de assinatura na etapa 3 foram definidas incorretamente ou a assinatura não existe.

  5. Defina uma ou mais das seguintes propriedades de segurança na instância de TransSubscription:

  6. (Opcional) Se você especificar um valor de true para CachePropertyChanges, chame o método CommitPropertyChanges para confirmar as alterações no servidor. (Opcional) Se você especificar um valor de false para CachePropertyChanges (padrão), as alterações serão enviadas imediatamente ao servidor.

Para alterar as configurações de segurança para o Distribution Agent de uma assinatura pull para uma publicação transacional

  1. Crie uma conexão com o Assinante usando a classe ServerConnection .

  2. Criar uma instância da classe TransPullSubscription.

  3. Defina o PublicationName, DatabaseName, PublisherName, e as propriedades PublicationDBName para a assinatura, e defina a conexão da Etapa 1 para a propriedade ConnectionContext .

  4. Chame o método LoadProperties para obter as propriedades do objeto. Se esse método retornar false, as propriedades de assinatura na etapa 3 foram definidas incorretamente ou a assinatura não existe.

  5. Defina uma ou mais das seguintes propriedades de segurança na instância de TransPullSubscription:

  6. (Opcional) Se você especificar um valor de true para CachePropertyChanges, chame o método CommitPropertyChanges para confirmar as alterações no servidor. (Opcional) Se você especificar um valor de false para CachePropertyChanges (padrão), as alterações serão enviadas imediatamente ao servidor.

Para alterar as configurações de segurança para o Merge Agent para uma assinatura pull para uma publicação de mesclagem

  1. Crie uma conexão com o Assinante usando a classe ServerConnection .

  2. Criar uma instância da classe MergePullSubscription.

  3. Defina o PublicationName, DatabaseName, PublisherName, e as propriedades PublicationDBName para a assinatura, e defina a conexão da Etapa 1 para a propriedade ConnectionContext .

  4. Chame o método LoadProperties para obter as propriedades do objeto. Se esse método retornar false, as propriedades de assinatura na etapa 3 foram definidas incorretamente ou a assinatura não existe.

  5. Defina uma ou mais das seguintes propriedades de segurança na instância de MergePullSubscription:

  6. (Opcional) Se você especificar um valor de true para CachePropertyChanges, chame o método CommitPropertyChanges para confirmar as alterações no servidor. (Opcional) Se você especificar um valor de false para CachePropertyChanges (padrão), as alterações serão enviadas imediatamente ao servidor.

Para alterar as configurações de segurança para o Merge Agent para uma assinatura push para uma publicação de mesclagem

  1. Crie uma conexão com o Publicador usando a classe ServerConnection .

  2. Criar uma instância da classe MergeSubscription.

  3. Defina o PublicationName, DatabaseName, SubscriberName, e as propriedades SubscriptionDBName para a assinatura, e defina a conexão da Etapa 1 para a propriedade ConnectionContext .

  4. Chame o método LoadProperties para obter as propriedades do objeto. Se esse método retornar false, as propriedades de assinatura na etapa 3 foram definidas incorretamente ou a assinatura não existe.

  5. Defina uma ou mais das seguintes propriedades de segurança na instância de MergeSubscription:

  6. (Opcional) Se você especificar um valor de true para CachePropertyChanges, chame o método CommitPropertyChanges para confirmar as alterações no servidor. (Opcional) Se você especificar um valor de false para CachePropertyChanges (padrão), as alterações serão enviadas imediatamente ao servidor.

Para alterar a informação de logon usada por um Assinante de atualização imediata ao se conectar ao publicador transacional

  1. Crie uma conexão com o Assinante usando a classe ServerConnection .

  2. Crie uma instância da classe ReplicationDatabase para o banco de dados de assinatura. Especifique Name e o ServerConnection da Etapa 1 para ConnectionContext.

  3. Chame o método LoadProperties para obter as propriedades do objeto. Se esse método retornar false, as propriedades de banco de dados na etapa 2 foram definidas incorretamente ou o banco de dados não existe.

  4. Chame o método LinkPublicationForUpdateableSubscription , passando os parâmetros seguintes:

    • Publisher - o nome do Publicador.

    • PublisherDB - o nome do banco de dados de publicação.

    • Publication - o nome da publicação para a qual o Assinante de atualização imediata fez sua assinatura.

    • Distributor - o nome do Distribuidor.

    • PublisherSecurity - A PublisherConnectionSecurityContext objeto que especifica o tipo de modo de segurança usado pelo Assinante de atualização imediata ao se conectar ao Publicador e as credenciais de logon para a conexão.

Exemplo (RMO)

Este exemplo verifica o valor do logon fornecido e altera todas as senhas para o logon do Windows fornecido ou o logon do SQL Server armazenado por replicação no servidor.

// Set the Distributor and distribution database names.
string serverName = publisherInstance;

ReplicationServer server;

// Create a connection to the Distributor using Windows Authentication.
ServerConnection conn = new ServerConnection(serverName);

try
{
    // Open the connection. 
    conn.Connect();

    server = new ReplicationServer(conn);

    // Load server properties, if it exists.
    if (server.LoadProperties())
    {
        string[] slash = new string[1];
        slash[0] = @"\";

        // If the login is in the form string\string, assume we are 
        // changing the password for a Windows login.
        if (login.Split(slash, StringSplitOptions.None).Length == 2)
        {
            //Change the password for the all connections that use
            // the Windows login. 
            server.ChangeReplicationServerPasswords(
                    ReplicationSecurityMode.Integrated, login, password);
        }
        else
        {
            // Change the password for the all connections that use
            // the SQL Server login. 
            server.ChangeReplicationServerPasswords(
                    ReplicationSecurityMode.SqlStandard, login, password);
        }
    }
    else
    {
        throw new ApplicationException(String.Format(
            "Properties for {0} could not be retrieved.", publisherInstance));
    }
}
catch (Exception ex)
{
    // Implement the appropriate error handling here. 
    throw new ApplicationException(String.Format(
        "An error occured when changing agent login " +
        " credentials on {0}.",serverName), ex);
}
finally
{
    conn.Disconnect();
}
' Set the Distributor and distribution database names.
Dim serverName As String = publisherInstance

Dim server As ReplicationServer

' Create a connection to the Distributor using Windows Authentication.
Dim conn As ServerConnection = New ServerConnection(serverName)

Try
    ' Open the connection. 
    conn.Connect()

    server = New ReplicationServer(conn)

    ' Load server properties, if it exists.
    If server.LoadProperties() Then

        ' If the login is in the form string\string, assume we are 
        ' changing the password for a Windows login.
        If login.Split("\").Length = 2 Then

            ' Change the password for the all connections that use
            ' the Windows login. 
            server.ChangeReplicationServerPasswords( _
            ReplicationSecurityMode.Integrated, login, password)
        Else

            ' Change the password for the all connections that use
            ' the SQL Server login. 
            server.ChangeReplicationServerPasswords( _
            ReplicationSecurityMode.SqlStandard, login, password)
        End If
    Else
        Throw New ApplicationException(String.Format( _
         "Properties for {0} could not be retrieved.", publisherInstance))
    End If
Catch ex As Exception
    ' Implement the appropriate error handling here. 
    Throw New ApplicationException(String.Format( _
     "An error occured when changing agent login " + _
     " credentials on {0}.", serverName), ex)
Finally
    conn.Disconnect()
End Try

Acompanhamento: depois de modificar configurações de segurança de replicação

Depois de alterar o logon ou a senha de um agente, você deve parar e reiniciar o agente antes que as alterações entrem em vigor.

Consulte Também

Conceitos de objetos de gerenciamento de replicação
Atualizar scripts de replicação (Programação Transact-SQL de replicação)
Controle de acesso e identidade para replicação
Modelo de Segurança do Agente de Replicação
Replication Security Best Practices
Exibir e modificar configurações de segurança de replicação
Replication System Stored Procedures Concepts