Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:SQL Server
Azure SQL Managed Instance
Este tópico descreve como exibir e modificar as configurações de segurança de replicação no SQL Server usando o SQL Server Management Studio, o Transact-SQL ou o RMO (Replication Management Objects). Por exemplo, talvez você queira alterar a conexão do Log Reader Agent com o Publisher da Autenticação do SQL Server para a Autenticação Integrada do Windows ou talvez seja necessário alterar as credenciais usadas para executar um trabalho de agente quando a senha da conta do Windows for alterada. Para obter informações sobre as permissões exigidas por cada agente, consulte Modelo de segurança do agente de replicação.
Neste tópico
Antes de começar:
Para exibir e modificar as configurações de segurança de replicação, usando:
SQL Server Management Studio (Estúdio de Gestão do Servidor SQL)
RMO (Replication Management Objects, objetos de gerenciamento de replicação)
Acompanhamento:Depois de modificar as configurações de segurança de replicação
Antes de começar
Limitações e Restrições
Os procedimentos armazenados que você usa dependerão do tipo de agente e do tipo de conexão do servidor.
As classes e propriedades de RMO que você usa dependem do tipo de agente e do tipo de conexão de servidor.
Segurança
Por motivos de segurança, os valores reais das senhas são mascarados em conjuntos de resultados retornados por procedimentos armazenados de replicação.
Permissões
Usando o SQL Server Management Studio
Exiba e modifique as configurações de segurança nas seguintes caixas de diálogo:
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 de uma conta do SQL Server ou do Windows em um servidor em uma topologia de replicação, use essa caixa de diálogo em vez de atualizar a senha para cada agente que usa a conta. Se os agentes em mais de um servidor usarem a mesma conta, você deverá se conectar a cada servidor e alterar a senha. A senha é atualizada em todos os locais em que a replicação usa a senha. A senha não é atualizada em outros locais, como servidores vinculados.
A página Segurança do Agente na caixa de diálogo Propriedades da Publicação - <Publicação>. Para obter mais informações sobre como acessar essa caixa de diálogo, consulte Exibir e modificar propriedades de publicação.
Caixa de diálogo Propriedades da Subscrição - <Subscrição> . Para obter mais informações sobre como aceder a esta caixa de diálogo, consulte Ver e modificar propriedades de assinatura por push e Ver e modificar propriedades de assinatura por pull.
As caixas de diálogo Propriedades do Distribuidor - <Distribuidor> e Propriedades do Banco de Dados de Distribuição - <Banco de Dados>. Para obter mais informações sobre como acessar essas caixas de diálogo, consulte Exibir e modificar propriedades do distribuidor e do editor.
A caixa de diálogo Propriedades do Publisher - <Publisher> . Para obter mais informações sobre como acessar essa caixa de diálogo, Exibir e modificar propriedades do distribuidor e do editor.
Para alterar a senha de uma conta usada por um ou mais agentes
Se a conta for uma conta do SQL Server, essa caixa de diálogo também alterará a senha da conta do SQL Server. Se a conta for uma conta do Windows, altere primeiro a palavra-passe no Windows. Para obter mais informações, consulte a documentação do Windows.
Observação
Depois de alterar uma senha de replicação, você deve parar e reiniciar cada agente que usa a senha antes que a alteração entre em vigor para esse agente.
Conecte-se ao servidor no SQL Server Management Studio e expanda o nó do servidor.
Clique com o botão direito do rato na pasta Replicação e, em seguida, clique em Atualizar Palavras-passe de Replicação.
Na caixa de diálogo Atualizar senhas de replicação , especifique a conta e a nova senha.
Selecione OK.
Para alterar as configurações de segurança do Snapshot Agent
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 Snapshot Agent .
Na caixa de diálogo Segurança do Snapshot Agent, especifique a conta sob a qual o agente deve ser executado.
Insira uma nova conta do Windows na caixa de texto Conta do agente .
Introduza uma nova palavra-passe forte nas caixas de texto Palavra-passe e Confirmar Palavra-passe .
Especifique o contexto sob o qual o agente deve se conectar do Distribuidor ao Editor. Se você selecionar Usando o seguinte logon do SQL Server, também deverá especificar o logon:
Insira um login na caixa de texto Login
Introduza uma nova palavra-passe forte nas caixas de texto Palavra-passe e Confirmar Palavra-passe .
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 abaixo o procedimento para alterar o contexto.
Selecione OK.
Para alterar as configurações de segurança do Log Reader Agent
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 do Leitor de Logs .
Na caixa de diálogo Segurança do Agente do Leitor de Logs , especifique a conta sob a qual o agente deve ser executado:
Insira uma nova conta do Windows na caixa de texto Conta do agente
Introduza uma nova palavra-passe forte nas caixas de texto Palavra-passe e Confirmar Palavra-passe .
Especifique o contexto sob o qual o agente deve se conectar do Distribuidor ao Editor. Se você selecionar Usando o seguinte logon do SQL Server, também deverá especificar o logon:
Insira um login na caixa de texto Login
Introduza uma nova palavra-passe forte nas caixas de texto Palavra-passe e Confirmar Palavra-passe .
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 próximo procedimento.
Selecione OK.
Observação
Há um Log Reader Agent para cada banco de dados publicado. A alteração das configurações de segurança do agente em uma publicação afeta as configurações de todas as publicações no banco de dados de publicação.
Para alterar o contexto sob o qual o Snapshot Agent e o Log Reader Agent de uma publicação Oracle fazem conexões com o Publisher
Na página Publicadores da caixa de diálogo Propriedades do Distribuidor - <Distribuidor>, clique no botão de propriedades (...) ao lado de um Publicador.
Na seção Conexão do agente com o editor , especifique o login e a senha usados pelo esquema de usuário administrativo de replicação que você configurou. Para obter mais informações, consulte Configurar um editor Oracle.
Selecione OK.
Para alterar as configurações de segurança do Agente de Distribuição para uma assinatura por push
Na caixa de diálogo Propriedades da Assinatura - <Assinatura> no Editor, você pode fazer as seguintes alterações:
Para alterar a conta sob a qual o Agente de Distribuição é executado e faz conexões com o Distribuidor, clique na linha Conta de processo do Agente e, em seguida, clique no botão de propriedades (...) na linha. Especifique uma conta e senha na caixa de diálogo Segurança do Agente de Distribuição .
Para alterar o contexto sob o qual o Agente de Distribuição se conecta ao Assinante, clique na linha Conexão do Assinante 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 .
Se você usar assinaturas de atualização em fila, o Queue Reader Agent também usará o contexto especificado aqui para conexões com o Assinante.
Selecione OK.
Para alterar as configurações de segurança do Distribution Agent para uma assinatura pull
Na caixa de diálogo Propriedades da Assinatura - <Assinatura> no Assinante, você pode fazer as seguintes alterações:
Para alterar a conta sob a qual o Agente de Distribuição é executado e faz conexões com o Assinante, clique na linha Conta de processo do Agente e, em seguida, clique no botão de propriedades ((...) ) na linha. Especifique uma conta e senha na caixa de diálogo Segurança do Agente de Distribuição .
Se você usar assinaturas de atualização em fila, o Queue Reader Agent também usará o contexto especificado aqui para conexões com o Assinante.
Para alterar o contexto sob o qual o Agente de Distribuição se conecta ao Distribuidor, clique na linha Conexão do Distribuidor 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 .
Selecione OK.
Para alterar as configurações de segurança do Merge Agent para uma assinatura push
Na caixa de diálogo Propriedades da Assinatura - <Assinatura> no Editor, você pode fazer as seguintes alterações:
Para alterar a conta na qual o Merge Agent é executado e faz conexões com o Publicador e o Distribuidor, clique na linha Conta de processo do Agente e, em seguida, clique no botão de propriedades (...) na linha. Especifique uma conta e senha na caixa de diálogo Segurança do Agente de Mesclagem .
Para alterar o contexto sob o qual o Merge Agent se conecta ao Assinante, clique na linha Conexão do Assinante 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 .
Selecione OK.
Para alterar as configurações de segurança do Merge Agent para uma assinatura pull
Na caixa de diálogo Propriedades da Assinatura - <Assinatura> no Assinante, você pode fazer as seguintes alterações:
Para alterar a conta sob a qual o Merge Agent é executado e estabelece conexões com o Assinante, clique na linha Conta de processo do Agente e, em seguida, clique no botão de propriedades na linha (...). Especifique uma conta e senha na caixa de diálogo Segurança do Agente de Mesclagem .
Para alterar o contexto sob o qual o Merge Agent se conecta 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 .
Selecione OK.
Para alterar a conta na qual o Queue Reader Agent é executado
Na página Geral da caixa de diálogo Propriedades do Distribuidor - <Distribuidor> , clique no botão Propriedades (...) junto à base de dados de distribuição.
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 Conta de processo do agente .
Na caixa de diálogo Segurança do Agente do Leitor de Filas, especifique a conta sob a qual o agente é executado e estabelece conexões com o Distribuidor.
Insira uma nova conta do Windows na caixa de texto Processar conta
Introduza uma nova palavra-passe forte nas caixas de texto Palavra-passe e Confirmar Palavra-passe .
Selecione OK.
Observação
Há um Queue Reader Agent para cada banco de dados de distribuição. A alteração das configurações de segurança do agente afeta as configurações de todas as publicações em todos os Editores 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 Publisher
Na página Publicadores da caixa de diálogo Propriedades do Distribuidor - <Distribuidor> , clique no botão de propriedades (...) ao lado do Editor.
Na seção Conexão do Agente com o Editor, especifique um valor de Representar a conta do processo do agente ou Autenticação do SQL Server para a opção Modo de Conexão do Agente. Se você especificar a Autenticação do SQL Server, insira também valores para Logon e Senha.
Selecione OK.
Observação
Há um Queue Reader Agent para cada banco de dados de distribuição. A alteração das configurações de segurança do agente afeta as configurações de todas as publicações em todos os Editores 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, consulte os procedimentos acima para o Distribution Agent.
Para modificar as configurações de segurança para uma assinatura pull de atualização instantânea
Na caixa de diálogo Propriedades da Subscrição - <Subscrição> no Subscritor, clique na linha Ligação do Publicador e, em seguida, clique no botão de configuração (...) na linha.
Na caixa de diálogo Inserir Informações de Conexão , selecione uma das seguintes opções:
Use um login de um servidor associado ou remoto. Selecione essa opção se tiver definido um servidor remoto ou servidor vinculado entre o Assinante e o Publicador usando sp_addserver (Transact-SQL), sp_addlinkedserver (Transact-SQL), SQL Server Management Studio ou outro método.
Use a Autenticação do SQL Server com o seguinte logon e senha. Selecione esta opção se não tiver definido um servidor remoto ou um servidor vinculado entre o Assinante e o Editor. A replicação criará um servidor vinculado para você. A conta especificada já deve existir no Publicador.
Selecione OK.
Observação
Este procedimento altera o método que os gatilhos de replicação usam para se conectar do Assinante ao Publicador quando são feitas alterações no Assinante. Você também pode alterar as configurações associadas ao Agente de Distribuição para uma assinatura de atualização imediata. Para obter mais informações, consulte os procedimentos anteriores neste tópico.
Este procedimento aplica-se apenas a subscrições do tipo pull. Para assinaturas push, use o procedimento armazenado sp_link_publication (Transact-SQL).
Para alterar a senha da conexão administrativa do Editor para o Distribuidor
Na página Editores da caixa de diálogo Propriedades do Distribuidor - <Distribuidor> , insira uma senha forte nas caixas de texto Senha e Confirmar Senha .
Selecione OK.
Na página Geral da caixa de diálogo Propriedades do Publisher - <Publisher> , insira uma senha forte nas caixas de texto Senha e Confirmar Senha .
Selecione OK.
Usando Transact-SQL
Importante
Em todos os procedimentos a seguir, quando possível, solicite que os usuários insiram credenciais de segurança em tempo de execução. Se você armazenar credenciais em um arquivo de script, deverá proteger o arquivo para impedir o acesso não autorizado.
Para alterar todas as instâncias de uma senha armazenada em um servidor de replicação
Em um servidor em uma topologia de replicação no banco de dados mestre, execute sp_changereplicationserverpasswords. Especifique a conta do Microsoft Windows ou o logon do Microsoft SQL Server cuja senha está sendo alterada
@logine a nova senha para a conta ou logon para@password. Isso altera cada instância da senha usada por todos os agentes no servidor ao se conectar a outros servidores na topologia.Observação
Para alterar apenas o login 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 para
@server.Repita a etapa 1 em cada servidor na topologia de replicação em que a senha deve ser atualizada.
Observação
Depois de alterar uma senha de replicação, você deve parar e reiniciar cada agente que usa a senha antes que a alteração entre em vigor para esse agente.
Para alterar as configurações de segurança do Snapshot Agent
No Publisher, execute sp_helppublication_snapshot, especificando
@publication. Isso retorna as configurações de segurança atuais para o Snapshot Agent.No Publicador, execute sp_changepublication_snapshot, especificando
@publicatione uma ou mais das seguintes configurações de segurança a serem alteradas:Para alterar a conta do Windows sob a qual o agente é executado ou apenas a senha dessa conta, especifique
@job_logine@job_password.Para alterar o modo de segurança usado ao se conectar ao Editor, especifique um valor de 1 ou 0 para
@publisher_security_mode.Ao alterar o modo de segurança usado ao conectar-se ao Publicador de 1 para 0 ou ao alterar um logon do SQL Server usado para essa conexão, especifique
@publisher_logine@publisher_password.
Importante
Ao configurar um Publicador com um Distribuidor remoto, os valores fornecidos para todos os parâmetros, incluindo job_login e job_password, são enviados ao Distribuidor como texto simples. Você deve criptografar a conexão entre o Editor e seu Distribuidor remoto antes de executar este procedimento armazenado. Para obter mais informações, consulte Habilitar conexões criptografadas com o Mecanismo de Banco de Dados (SQL Server Configuration Manager).
Para alterar as configurações de segurança do Log Reader Agent
No Publisher, execute sp_helplogreader_agent, especificando
@publisher. Isso retorna as configurações de segurança atuais para o Log Reader Agent.No Distribuidor, execute sp_changelogreader_agent, especificando
@publicatione uma ou mais das seguintes configurações de segurança a serem alteradas:Para alterar a conta do Windows sob a qual o agente é executado ou apenas a senha dessa conta, especifique
@job_logine@job_password.Para alterar o modo de segurança usado ao se conectar ao Editor, especifique um valor de 1 ou 0 para
@publisher_security_mode.Ao alterar o modo de segurança usado ao conectar-se ao Publicador de 1 para 0 ou ao alterar um logon do SQL Server usado para essa conexão, especifique
@publisher_logine@publisher_password.
Observação
Depois de alterar um login ou senha de agente, você deve parar e reiniciar o agente antes que a alteração entre em vigor.
Importante
Ao configurar um Publicador com um Distribuidor remoto, os valores fornecidos para todos os parâmetros, incluindo job_login e job_password, são enviados ao Distribuidor como texto simples. Você deve criptografar a conexão entre o Editor e seu Distribuidor remoto antes de executar este procedimento armazenado. Para obter mais informações, consulte Habilitar conexões criptografadas com o Mecanismo de Banco de Dados (SQL Server Configuration Manager).
Para alterar as configurações de segurança do Agente de Distribuição para uma assinatura por push
No Publisher na base de dados de publicação, execute sp_helpsubscription, especificando
@publicatione@subscriber. Isso retorna as propriedades da assinatura, incluindo as configurações de segurança para o Agente de Distribuição em execução no Distribuidor.No Publisher na base de dados de publicação, execute sp_changesubscription, especificando
@publication,@subscriber,@subscriber_db, um valor deallpara@article, o nome da propriedade de segurança para@property, e o novo valor da propriedade para@value.Repita a etapa 2 para cada uma das seguintes propriedades de segurança que estão sendo alteradas:
Para alterar a conta do Windows sob a qual o agente é executado ou apenas a senha dessa conta, especifique um valor de distrib_job_password para
@propertye uma nova senha para@value. Ao alterar a conta em si, repita a etapa 2 especificando um valor de distrib_job_login para@propertye a nova conta do Windows para@value.Para alterar o modo de segurança usado ao se conectar ao Assinante, especifique um valor de subscriber_security_mode para
@propertye um valor de 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 Autenticação do SQL Server ou, se estiver alterando as informações de logon da Autenticação do SQL Server, especifique um valor de subscriber_password para
@propertye a nova senha para@value. Repita a etapa 2, especificando um valor de subscriber_login para@propertye o novo login para@value.
Observação
Depois de alterar um login ou senha de agente, você deve parar e reiniciar o agente antes que a alteração entre em vigor.
Importante
Ao configurar um Publicador com um Distribuidor remoto, os valores fornecidos para todas as propriedades, incluindo distrib_job_login e distrib_job_password, são enviados ao Distribuidor como texto simples. Você deve criptografar a conexão entre o Editor e seu Distribuidor remoto antes de executar este procedimento armazenado. Para obter mais informações, consulte Habilitar conexões criptografadas com 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
No lado do Assinante, execute sp_helppullsubscription, fornecendo
@publication. Esta operação retorna as propriedades da assinatura, incluindo as configurações de segurança para o Agente de Distribuição em execução no Assinante.No Assinante no 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.Repita a etapa 2 para cada uma das seguintes propriedades de segurança que estão sendo alteradas:
Para alterar a conta do Windows sob a qual o agente é executado ou apenas a senha dessa conta, especifique um valor de distrib_job_password para
@propertye uma nova senha para@value. Ao alterar a conta em si, repita a etapa 2 especificando um valor de distrib_job_login para@propertye a nova conta do Windows para@value.Para alterar o modo de segurança usado ao se conectar ao Distribuidor, especifique um valor de distributor_security_mode para
@propertye um valor de 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 Autenticação do SQL Server ou ao alterar as informações de logon da Autenticação do SQL Server, especifique um valor de distributor_password para
@propertye a nova senha para@value. Repita a etapa 2, especificando um valor de distributor_login para@propertye o novo login para@value.
Observação
Depois de alterar um login ou senha de agente, você deve parar e reiniciar o agente antes que a alteração entre em vigor.
Para alterar as configurações de segurança do Merge Agent para uma assinatura push
No Publisher no banco de dados de publicação, execute sp_helpmergesubscription, especificando
@publication,@subscriber,e@subscriber_db. Isso retorna propriedades de assinatura, incluindo configurações de segurança para o Merge Agent em execução no Distribuidor.No Publisher no 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.Repita a etapa 2 para cada uma das seguintes propriedades de segurança que estão sendo alteradas:
Para alterar a conta do Windows sob a qual o agente é executado, ou apenas a senha dessa conta, especifique um valor de merge_job_password para
@propertye uma nova senha para@value. Ao alterar a conta em si, repita a etapa 2 especificando um valor de merge_job_login para@propertye a nova conta do Windows para@value.Para alterar o modo de segurança usado ao se conectar ao Assinante, especifique um valor de subscriber_security_mode para
@propertye um valor de 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 Autenticação do SQL Server ou, se estiver alterando as informações de logon da Autenticação do SQL Server, especifique um valor de subscriber_password para
@propertye a nova senha para@value. Repita a etapa 2, especificando um valor de subscriber_login para@propertye o novo login para@value.Para alterar o modo de segurança usado ao se conectar ao Editor, especifique um valor de publisher_security_mode para
@propertye um valor de 1 (Autenticação Integrada do Windows) ou 0 (Autenticação do SQL Server) para@value.Ao alterar o modo de segurança do Publisher para Autenticação do SQL Server ou se alterar as informações de logon da Autenticação do SQL Server, especifique um valor de publisher_password para
@propertye a nova senha para@value. Repita a etapa 2, especificando um valor de publisher_login para@propertye o novo login para@value.
Observação
Depois de alterar um login ou senha de agente, você deve parar e reiniciar o agente antes que a alteração entre em vigor.
Importante
Ao configurar um Publicador com um Distribuidor remoto, os valores fornecidos para todas as propriedades, incluindo merge_job_login e merge_job_password, são enviados ao Distribuidor como texto sem formatação. Você deve criptografar a conexão entre o Editor e seu Distribuidor remoto antes de executar este procedimento armazenado. Para obter mais informações, consulte Habilitar conexões criptografadas com 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
No Assinante, execute sp_helpmergepullsubscription, especificando
@publication. Isso retorna propriedades de assinatura, incluindo configurações de segurança para o Merge Agent em execução no Assinante.No Assinante no 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.Repita a etapa 2 para cada uma das seguintes propriedades de segurança que estão sendo alteradas:
Para alterar a conta do Windows sob a qual o agente é executado ou apenas a senha dessa conta, especifique um valor de merge_job_password para
@propertye nova senha para@value. Ao alterar a própria conta, repita a Etapa 2 especificando um valor de merge_job_login para@propertye a nova conta do Windows para@value.Para alterar o modo de segurança usado ao se conectar ao Distribuidor, especifique um valor de distributor_security_mode para
@propertye um valor de 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 Autenticação do SQL Server ou ao alterar as informações de logon da Autenticação do SQL Server, especifique um valor de distributor_password para
@propertye a nova senha para@value. Repita a etapa 2, especificando um valor de distributor_login para@propertye o novo login para@value.Para alterar o modo de segurança usado ao se conectar ao Editor, especifique um valor de publisher_security_mode para
@propertye um valor de 1 (Autenticação Integrada do Windows) ou 0 (Autenticação do SQL Server) para@value.Ao alterar o modo de segurança do Publisher para Autenticação do SQL Server ou ao alterar as informações de logon da Autenticação do SQL Server, especifique um valor de publisher_password para
@propertye a nova senha para@value. Repita a etapa 2, especificando um valor de publisher_login para@propertye o novo login para@value.
Observação
Depois de alterar um login ou senha de agente, você deve parar e reiniciar o agente antes que a alteração entre em vigor.
Para alterar as configurações de segurança do Snapshot Agent para gerar um snapshot filtrado para um Assinante
No servidor do Publisher, execute sp_helpdynamicsnapshot_job, especificando
@publication. No conjunto de resultados, observe o valor de job_name relacionado com a partição do Assinante que deve ser alterada.No Publicador, execute sp_changedynamicsnapshot_job, especificando
@publication, o valor obtido na etapa 1 paradynamic_snapshot_jobname, e uma nova palavra-passe para@job_passwordou nome de utilizador e palavra-passe para a conta do Windows sob a qual o agente é executado para@job_logine@job_password.Importante
Ao configurar um Publicador com um Distribuidor remoto, os valores fornecidos para todos os parâmetros, incluindo job_login e job_password, são enviados ao Distribuidor como texto simples. Você deve criptografar a conexão entre o Editor e seu Distribuidor remoto antes de executar este procedimento armazenado. Para obter mais informações, consulte Habilitar conexões criptografadas com o Mecanismo de Banco de Dados (SQL Server Configuration Manager).
Para alterar as configurações de segurança do Queue Reader Agent
No Distribuidor, execute sp_helpqreader_agent. Isso retorna a conta atual do Windows sob a qual o Queue Reader Agent é executado.
- No Distribuidor, execute sp_changeqreader_agent, especificando as configurações da conta do Windows para
@job_logine@job_password.
Observação
Depois de alterar um login ou senha de agente, você deve parar e reiniciar o agente antes que a alteração entre em vigor. Há um Queue Reader Agent para cada banco de dados de distribuição. A alteração das configurações de segurança do agente afeta as configurações de todas as publicações em todos os Editores que usam esse banco de dados de distribuição.
- No Distribuidor, execute sp_changeqreader_agent, especificando as configurações da conta do Windows para
O Queue Reader Agent faz conexões com o Assinante usando o mesmo contexto de conexão que o Distribution Agent para a assinatura.
Para alterar o modo de segurança usado por um Subscritor de atualização imediata ao ligar-se ao Publicador
Execute sp_link_publication no Assinante, no banco de dados de assinatura. Especifique
@publisher,@publication, o nome do banco de dados de publicação para@publisher_db, e especifique um dos seguintes valores para@security_mode:0 para usar a Autenticação do SQL Server ao fazer atualizações no Publicador. Esta opção requer que você especifique um login válido no Editor para
@logine@password.1 para usar o contexto de segurança do utilizador que faz alterações no Subscritor ao ligar-se ao Editor. Consulte sp_link_publication para obter restrições relacionadas com este modo de segurança.
2 para usar um login de servidor vinculado existente e definido pelo usuário criado usando sp_addlinkedserver (Transact-SQL).
Para alterar a palavra-passe de um Distribuidor remoto
No Distribuidor no banco de dados de distribuição, execute sp_changedistributor_password, especificando a nova senha para este login para
@password.Importante
Não altere a senha de distributor_admin diretamente.
Em cada Publicador que usa esse Distribuidor remoto, execute sp_changedistributor_password, especificando a senha da etapa 1 para
@password.
Usando RMO (Replication Management Objects, objetos de gerenciamento de replicação)
Importante
Quando possível, solicite que os usuários insiram credenciais de segurança em tempo de execução. Se você precisar armazenar credenciais, use os serviços de criptografia fornecidos pelo Microsoft Windows .NET Framework.
Para alterar todas as instâncias de uma senha armazenada em um servidor de replicação
Crie uma conexão com o servidor de replicação usando a ServerConnection classe.
Crie uma instância da ReplicationServer classe usando a conexão da etapa 1.
Chame o método ChangeReplicationServerPasswords. Especifique os seguintes parâmetros:
security_mode - um ReplicationSecurityMode valor que especifica o tipo de autenticação para o qual todas as instâncias da senha estão sendo alteradas.
login - o login para o 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 credenciais de segurança em tempo de execução. Se você precisar armazenar credenciais, use os serviços de criptografia fornecidos pelo Windows .NET Framework.
Observação
Somente um membro da função de servidor fixa sysadmin pode chamar esse método.
Repita as etapas 1 a 3 em cada servidor na topologia de replicação em que a senha deve ser atualizada.
Para alterar as configurações de segurança do Distribution Agent para uma assinatura push de uma publicação transacional
Crie uma conexão com o Publisher usando a classe ServerConnection.
Crie uma instância da TransSubscription classe.
Defina as propriedades PublicationName, DatabaseName, SubscriberName e SubscriptionDBName para a subscrição e defina a conexão da etapa 1 para a propriedade ConnectionContext.
Chame o método LoadProperties para obter as propriedades do objeto. Se esse método retornar false, as propriedades da assinatura na etapa 3 foram definidas incorretamente ou a assinatura não existe.
Defina uma ou mais das seguintes propriedades de segurança na instância de TransSubscription:
Para alterar as credenciais da conta do Windows sob a qual o agente é executado, defina os campos Login e Password de SynchronizationAgentProcessSecurity.
Para especificar a Autenticação Integrada do Windows como o tipo de autenticação que o agente usa quando se conecta ao Assinante, defina o WindowsAuthenticationSubscriberSecurity campo da propriedade como true.
Para especificar a Autenticação do SQL Server como o tipo de autenticação que o agente utiliza ao se conectar ao Assinante, defina o campo da propriedade WindowsAuthentication como "falso", e especifique as credenciais de login do Assinante para os campos SubscriberSecurity e .
Observação
A conexão do agente com o Distribuidor é sempre feita usando as credenciais do Windows especificadas pelo SynchronizationAgentProcessSecurity. Essa conta também é usada para fazer conexões remotas usando a Autenticação do Windows.
(Caso tenha especificado um valor de true para CachePropertyChanges, chame o método CommitPropertyChanges para confirmar alterações no servidor.) Se você especificou um valor false paraCachePropertyChanges (o padrão), as alterações são enviadas para o servidor imediatamente.
Para alterar as configurações de segurança do Distribution Agent para uma assinatura pull de uma publicação transacional
Crie uma conexão com o Assinante usando a ServerConnection classe.
Crie uma instância da TransPullSubscription classe.
Defina as propriedades PublicationName, DatabaseName, PublisherName e PublicationDBName para a subscrição e defina a conexão da etapa 1 para a propriedade ConnectionContext.
Chame o método LoadProperties para obter as propriedades do objeto. Se esse método retornar false, as propriedades da assinatura na etapa 3 foram definidas incorretamente ou a assinatura não existe.
Defina uma ou mais das seguintes propriedades de segurança na instância de TransPullSubscription:
Para alterar as credenciais da conta do Windows sob a qual o agente é executado, defina os campos Login e Password de SynchronizationAgentProcessSecurity.
Para especificar a Autenticação Integrada do Windows como o tipo de autenticação que o agente usa quando se conecta ao Distribuidor, defina o WindowsAuthenticationDistributorSecurity campo da propriedade como true.
Para especificar a Autenticação do SQL Server como o tipo de autenticação que o agente usa quando se conecta ao Distribuidor, defina o campo da propriedade WindowsAuthenticationDistributorSecurity como false e especifique as credenciais de logon do Distribuidor para os campos SqlStandardLogin e SqlStandardPassword.
Observação
A conexão do agente com o Assinante é sempre feita usando as credenciais do Windows especificadas pelo SynchronizationAgentProcessSecurity. Essa conta também é usada para fazer conexões remotas usando a Autenticação do Windows.
(Caso tenha especificado um valor de true para CachePropertyChanges, chame o método CommitPropertyChanges para confirmar alterações no servidor.) Se você especificou um valor false paraCachePropertyChanges (o padrão), as alterações são enviadas para o servidor imediatamente.
Para alterar as configurações de segurança do Merge Agent para uma assinatura pull para uma publicação de mesclagem
Crie uma conexão com o Assinante usando a ServerConnection classe.
Crie uma instância da MergePullSubscription classe.
Defina as propriedades PublicationName, DatabaseName, PublisherName e PublicationDBName para a subscrição e defina a conexão da etapa 1 para a propriedade ConnectionContext.
Chame o método LoadProperties para obter as propriedades do objeto. Se esse método retornar false, as propriedades da assinatura na etapa 3 foram definidas incorretamente ou a assinatura não existe.
Defina uma ou mais das seguintes propriedades de segurança na instância de MergePullSubscription:
Para alterar as credenciais da conta do Windows sob a qual o agente é executado, defina os campos Login e Password de SynchronizationAgentProcessSecurity.
Para especificar a Autenticação Integrada do Windows como o tipo de autenticação que o agente usa quando se conecta ao Distribuidor, defina o WindowsAuthenticationDistributorSecurity campo da propriedade como true.
Para especificar a Autenticação do SQL Server como o tipo de autenticação que o agente usa quando se conecta ao Distribuidor, defina o campo da propriedade WindowsAuthenticationDistributorSecurity como false e especifique as credenciais de logon do Distribuidor para os campos SqlStandardLogin e SqlStandardPassword.
Para especificar a Autenticação Integrada do Windows como o tipo de autenticação que o agente usa quando se conecta ao Editor, defina o WindowsAuthenticationPublisherSecurity campo da propriedade como true.
Para especificar a Autenticação do SQL Server como o tipo de autenticação que o agente usa quando se conecta ao Editor, defina o campo da propriedade WindowsAuthenticationPublisherSecurity como false e especifique as credenciais de logon do Editor para os campos SqlStandardLogin e SqlStandardPassword.
Observação
A conexão do agente com o Assinante é sempre feita usando as credenciais do Windows especificadas pelo SynchronizationAgentProcessSecurity. Essa conta também é usada para fazer conexões remotas usando a Autenticação do Windows.
(Caso tenha especificado um valor de true para CachePropertyChanges, chame o método CommitPropertyChanges para confirmar alterações no servidor.) Se você especificou um valor false paraCachePropertyChanges (o padrão), as alterações são enviadas para o servidor imediatamente.
Para alterar as configurações de segurança do Merge Agent para uma assinatura push de uma publicação de mesclagem
Crie uma conexão com o Publisher usando a classe ServerConnection.
Crie uma instância da MergeSubscription classe.
Defina as propriedades PublicationName, DatabaseName, SubscriberName e SubscriptionDBName para a subscrição e defina a conexão da etapa 1 para a propriedade ConnectionContext.
Chame o método LoadProperties para obter as propriedades do objeto. Se esse método retornar false, as propriedades da assinatura na etapa 3 foram definidas incorretamente ou a assinatura não existe.
Defina uma ou mais das seguintes propriedades de segurança na instância de MergeSubscription:
Para alterar as credenciais da conta do Windows sob a qual o agente é executado, defina os campos Login e Password de SynchronizationAgentProcessSecurity.
Para especificar a Autenticação Integrada do Windows como o tipo de autenticação que o agente usa quando se conecta ao Assinante, defina o WindowsAuthenticationSubscriberSecurity campo da propriedade como true.
Para especificar a Autenticação do SQL Server como o tipo de autenticação que o agente utiliza ao se conectar ao Assinante, defina o campo da propriedade WindowsAuthentication como "falso", e especifique as credenciais de login do Assinante para os campos SubscriberSecurity e .
Para especificar a Autenticação Integrada do Windows como o tipo de autenticação que o agente usa quando se conecta ao Editor, defina o WindowsAuthenticationPublisherSecurity campo da propriedade como true.
Para especificar a Autenticação do SQL Server como o tipo de autenticação que o agente usa quando se conecta ao Editor, defina o campo da propriedade WindowsAuthenticationPublisherSecurity como false e especifique as credenciais de logon do Editor para os campos SqlStandardLogin e SqlStandardPassword.
Observação
A conexão do agente com o Distribuidor é sempre feita usando as credenciais do Windows especificadas pelo SynchronizationAgentProcessSecurity. Essa conta também é usada para fazer conexões remotas usando a Autenticação do Windows.
(Caso tenha especificado um valor de true para CachePropertyChanges, chame o método CommitPropertyChanges para confirmar alterações no servidor.) Se você especificou um valor false paraCachePropertyChanges (o padrão), as alterações são enviadas para o servidor imediatamente.
Para alterar as informações de login usadas por um assinante com atualização imediata quando se conecta ao editor transacional.
Crie uma conexão com o Assinante usando a ServerConnection classe.
Crie uma instância da ReplicationDatabase classe para o banco de dados de assinatura. Especifique Name e ServerConnection da etapa 1 para ConnectionContext.
Chame o método LoadProperties para obter as propriedades do objeto. Se esse método retornar false, as propriedades do banco de dados na etapa 2 foram definidas incorretamente ou o banco de dados de assinatura não existe.
Chame o LinkPublicationForUpdateableSubscription método, passando os seguintes parâmetros:
Publisher - o nome do Editor.
PublisherDB - o nome do banco de dados de publicação.
Publicação - o nome da publicação à qual o Subscritor de atualização imediata está subscrito.
Distribuidor - o nome do Distribuidor.
PublisherSecurity - Um 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 login para a conexão.
Exemplo (RMO)
Este exemplo verifica o valor de logon fornecido e altera todas as senhas para o logon do Windows fornecido ou o logon do SQL Server armazenado pela 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 occurred 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 occurred when changing agent login " + _
" credentials on {0}.", serverName), ex)
Finally
conn.Disconnect()
End Try
Acompanhamento: Depois de modificar as configurações de segurança de replicação
Depois de alterar um login ou senha de agente, você deve parar e reiniciar o agente antes que a alteração entre em vigor.
Conteúdo relacionado
- Conceitos de objetos de gerenciamento de replicação
- Scripts de atualização de replicação (Programação de replicação Transact-SQL)
- Controle de identidade e acesso para replicação
- Modelo de segurança do agente de replicação
- Práticas recomendadas de segurança de replicação
- Conceitos de procedimentos armazenados do sistema de replicação