Exibir e modificar configurações de segurança de replicação
Este tópico descreve como exibir e modificar configurações de segurança de replicação no SQL Server 2012 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 Modelo de segurança do agente de replicação.
Neste tópico
Antes de começar:
Limitações e restrições
Segurança
Para exibir e modificar configurações de segurança de replicação, usando:
SQL Server Management Studio
Transact-SQL
RMO (Replication Management Objects)
Acompanhamento: Depois de modificar configurações de segurança de replicação
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
[Top]
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 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.
A página Segurança do Agent da caixa de diálogo Propriedades de Publicação - <Publicação>. Para obter mais informações sobre como acessar essa caixa de diálogo, consulte Visualizar e modificar as propriedades da publicação.
A caixa de diálogo Propriedades de Assinatura - <Assinatura>. Para obter mais informações sobre como acessar essa caixa de diálogo, consulte Exibir e modificar propriedades de assinatura push e Exibir e modificar propriedades de assinatura 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 de Publicador e Distribuidor.
A caixa de diálogo Propriedades do Publicador - <Publicador>. Para obter mais informações sobre como acessar essa caixa de diálogo, consulte Exibir e modificar propriedades de Publicador e Distribuidor.
Para alterar a senha para 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 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.
Conecte-se ao servidor no SQL Server Management Studio e expanda o nó do servidor.
Clique com o botão direito do mouse na pasta Replicação e, então, clique em Atualizar Senhas de Replicação.
Na caixa de diálogo Atualizar Senhas de Replicação, especifique a conta e a nova senha.
Clique em OK.
Para alterar as configurações de segurança do Agente de Instantâneo
Na página Segurança do Agente da caixa de diálogo Propriedades de Publicação – <Publicação>, clique no botão Configurações de Segurança próximo à caixa de texto Agente de Instantâneo.
Na caixa de diálogo Segurança do Agente de Instantâneo, 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.
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 Editor 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.
Clique em OK.
Para alterar as configurações de segurança para o Agente de Leitor de Log
Na página Segurança do Agente da caixa de diálogo Propriedades de Publicação – <Publicação>, clique no botão Configurações de Segurança próximo à caixa de texto Agente de Leitor de Log.
Na caixa de diálogo Segurança do Agente de Leitor de Log, 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.
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 Editor 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.
Clique em OK.
Observação Há um Agente de Leitor de Log 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 Agente de Instantâneo e o Agente de Leitor de Log de um Editor Oracle fazem conexões com o Publicador
Na página Publicador da caixa de diálogo Propriedades do Distribuidor - <Distribuidor> clique no botão (…) próximo ao Publicador.
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 Configurar um publicador Oracle.
Clique em OK.
Para alterar configurações de segurança do Agente de Distribuição para uma assinatura push
Na caixa de diálogo Propriedades de 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 Agente de Leitor de Fila também usará o contexto especificado aqui para conexões com o Assinante.
Clique em OK.
Para alterar as configurações de segurança do Agente de Distribuição para uma assinatura pull
Na caixa de diálogo Propriedades de Assinatura - <Assinatura> no Assinante, você poderá 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 Agente de Leitor de Fila 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.
Clique em OK.
Para alterar as configurações de segurança do Agente de Mesclagem para uma assinatura push
Na caixa de diálogo Propriedades de 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.
Clique em OK.
Para alterar as configurações de segurança do Agente de Mesclagem para uma assinatura pull
Na caixa de diálogo Propriedades de Assinatura - <Assinatura> no Assinante, você poderá 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.
Clique em OK.
Para alterar a conta sob a qual o Agente de Leitor de Fila é executado
Na página Geral da caixa de diálogo Propriedades do Distribuidor - <Distribuidor> clique no botão (…) próximo ao banco 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 próximo à caixa de texto Conta de processo de agente.
Na caixa de diálogo Segurança do Agente de Leitor de Fila, 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.
Clique em 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 Agente de Leitor de Fila faz conexões com o Publicador
Na página Publicadores da caixa de diálogo Propriedades do Distribuidor - <Distribuidor> clique no botão (…) de propriedades próximo ao Publicador.
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.
Clique em 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 Agente de Leitor de Fila faz conexões com o Assinante
- O Agente de Leitor de Fila usa o mesmo contexto de conexão que o Agente de Distribuição para a assinatura. Para obter mais informações, veja os procedimentos acima para o Agente de Distribuição.
Para alterar as configurações de segurança para uma assinatura pull de atualização imediata
Na caixa de diálogo Propriedades de Assinatura – <Assinatura> no Assinante, clique na linha Conexão do Publicador e, em seguida, clique no botão (…) de propriedades na linha.
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 essa opção se você definiu um servidor vinculado ou remoto entre o Assinante e o Publicador usando sp_addserver (Transact-SQL), sp_addlinkedserver (Transact-SQL), 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.
Clique em 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 Agente de Distribuição 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 push, use o procedimento armazenado do sp_link_publication (Transact-SQL). |
Para alterar a senha para a conexão administrativa do Publicador para o Distribuidor
Na página Publicadores da caixa de diálogo Propriedades do Distribuidor - <Distribuidor>, digite uma senha forte nas caixas de texto Senha e Confirmar Senha.
Clique em OK.
Na página Geral da caixa de diálogo Propriedades do Publicador - <Publicador>, digite uma senha forte nas caixas de texto Senha e Confirmar Senha.
Clique em OK.
[Top]
Usando Transact-SQL
Observaçã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
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çã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.
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 Agente de Instantâneo
No Publicador, execute sp_helppublication_snapshot, especificando @publication. Isso retorna as atuais configurações de segurança do Agente de Instantâneo.
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 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çã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. Você deve criptografar a conexão entre o Publicador e seu Distribuidor remoto antes de executar esse procedimento armazenado. Para obter mais informações, consulte Habilitar conexões criptografadas no Mecanismo de Banco de Dados (SQL Server Configuration Manager).
Para alterar as configurações de segurança para o Agente de Leitor de Log
No Publicador, execute sp_helplogreader_agent, especificando @publisher. Isso retorna as atuais configurações de segurança para o Agente de Leitor de Log.
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çã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.
Observaçã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. Você deve criptografar a conexão entre o Publicador e seu Distribuidor remoto antes de executar esse procedimento armazenado. Para obter mais informações, consulte Habilitar conexões criptografadas no Mecanismo de Banco de Dados (SQL Server Configuration Manager).
Para alterar configurações de segurança do Agente de Distribuição para uma assinatura push
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 Agente de Distribuição em execução no Distribuidor.
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.
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 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çã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.
Observaçã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. Você deve criptografar a conexão entre o Publicador e seu Distribuidor remoto antes de executar esse procedimento armazenado. Para obter mais informações, consulte Habilitar conexões criptografadas no 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 pull
No Assinante, execute sp_helppullsubscription, especificando @publication. Isto retornará propriedades de assinatura, inclusive configurações de segurança para o Agente de Distribuição que é executado no Assinante.
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.
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çã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 Agente de Mesclagem para uma assinatura push
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 Agente de Mesclagem em execução no Distribuidor.
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.
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çã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.
Observaçã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. Você deve criptografar a conexão entre o Publicador e seu Distribuidor remoto antes de executar esse procedimento armazenado. Para obter mais informações, consulte Habilitar conexões criptografadas no Mecanismo de Banco de Dados (SQL Server Configuration Manager).
Para alterar as configurações de segurança do Agente de Mesclagem para uma assinatura pull
No Assinante, execute sp_helpmergepullsubscription, especificando @publication. Isso retornará propriedades de assinatura, inclusive configurações de segurança para o Agente de Mesclagem que executa no Assinante.
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.
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çã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 Agente de Instantâneo para gerar um instantâneo filtrado para um Assinante
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.
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ç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. Você deve criptografar a conexão entre o Publicador e seu Distribuidor remoto antes de executar esse procedimento armazenado. Para obter mais informações, consulte Habilitar conexões criptografadas no Mecanismo de Banco de Dados (SQL Server Configuration Manager).
Para alterar as configurações de segurança para o Agente de Leitor de Fila
Para o Distribuidor, execute sp_helpqreader_agent. Isso retorna a conta do atual em que o Agente de Leitor de Fila é executado.
- No Distribuidor, execute sp_changeqreader_agent, especificando as configurações da conta do Windows para @job_login e @job_passwsord.
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.
O Agente de Leitor de Fila faz conexões com o Assinante usando o mesmo contexto de conexão do Agente de Distribuição 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
No Distribuidor, no banco de dados de distribuição, execute sp_changedistributor_password, especificando uma nova senha desse logon para @password.
Importante Não altere diretamente a senha para distributor_admin.
Em todos os Publicadores que usam esse Distribuidor remoto, execute sp_changedistributor_password, especificando a senha da Etapa 1 para @password.
[Top]
Usando o RMO (Replication Management Objects)
Observação sobre segurança |
---|
Quando possível, solicite aos usuários que 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
Crie uma conexão com o servidor de replicação usando a classe ServerConnection.
Crie uma instância da classe ReplicationServer usando a conexão da Etapa 1.
Chame o método ChangeReplicationServerPasswords. Especifique os seguintes parâmetros:
O valor security_mode - a ReplicationSecurityModeque 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.
Observação sobre segurança 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.
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 Agente de Distribuição de uma assinatura push para uma publicação transacional
Crie uma conexão com o Publicador usando a classe ServerConnection.
Crie uma instância da classe TransSubscription.
Defina o PublicationName, DatabaseName, SubscriberName, e as propriedades SubscriptionDBName para a assinatura, 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 de 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 para a conta do Windows sob a qual o agente é executado, defina a Login e os campos Password de SynchronizationAgentProcessSecurity.
Para especificar a Autenticação Integrada do Windows como o tipo de autenticação que o agente usa ao conectar-se ao Assinante, defina o campo de WindowsAuthenticationSubscriberSecurity propriedade para true.
Para especificar a Autenticação do SQL Server como o tipo de autenticação que o agente usa ao conectar-se ao Assinante, defina o campo de WindowsAuthentication da propriedade SubscriberSecurity para false, e especifique as credenciais de logon do Assinante para os campos SqlStandardLogin e SqlStandardPassword.
Observação A conexão de agente para o Distribuidor sempre é feita usando as credenciais de Windows especificadas por SynchronizationAgentProcessSecurity. Essa conta é também usada para fazer conexões remotas que usam a Autenticação do Windows.
(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 Agente de Distribuição de uma assinatura pull para uma publicação transacional
Crie uma conexão com o Assinante usando a classe ServerConnection.
Crie uma instância da classe TransPullSubscription.
Defina o PublicationName, DatabaseName, PublisherName, e as propriedades PublicationDBName para a assinatura, 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 de 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 para a conta do Windows sob a qual o agente é executado, defina a Login e os campos Password de SynchronizationAgentProcessSecurity.
Para especificar a Autenticação Integrada do Windows como o tipo de autenticação que o agente usa ao conectar-se ao Distribuidor, defina o campo WindowsAuthentication da propriedade DistributorSecurity para true.
Para especificar a Autenticação do SQL Server como o tipo de autenticação que o agente usa ao conectar-se ao Distribuidor, defina o campo de WindowsAuthentication da propriedade DistributorSecurity para false, e especifique as credenciais de logon do Distribuidor para os campos SqlStandardLogin e SqlStandardPassword.
Observação A conexão de agente para o Assinante sempre é feita usando as credenciais de Windows especificadas por SynchronizationAgentProcessSecurity. Essa conta é também usada para fazer conexões remotas que usam a Autenticação do Windows.
(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 Agente de Mesclagem para uma assinatura pull para uma publicação de mesclagem
Crie uma conexão com o Assinante usando a classe ServerConnection.
Crie uma instância da classe MergePullSubscription.
Defina o PublicationName, DatabaseName, PublisherName, e as propriedades PublicationDBName para a assinatura, 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 de 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 para a conta do Windows sob a qual o agente é executado, defina a Login e os campos Password de SynchronizationAgentProcessSecurity.
Para especificar a Autenticação Integrada do Windows como o tipo de autenticação que o agente usa ao conectar-se ao Distribuidor, defina o campo WindowsAuthentication da propriedade DistributorSecurity para true.
Para especificar a Autenticação do SQL Server como o tipo de autenticação que o agente usa ao conectar-se ao Distribuidor, defina o campo de WindowsAuthentication da propriedade DistributorSecurity para 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 ao se conectar ao Publicador, defina o campo WindowsAuthentication da propriedade PublisherSecurity como true.
Para especificar a Autenticação do SQL Server como o tipo de autenticação que o agente usa ao se conectar ao Publicador, defina o campo WindowsAuthentication da propriedade PublisherSecurity como false, e especifique as credenciais de logon do Publicador para os campos SqlStandardLogin e SqlStandardPassword.
Observação A conexão de agente para o Assinante sempre é feita usando as credenciais de Windows especificadas por SynchronizationAgentProcessSecurity. Essa conta é também usada para fazer conexões remotas que usam a Autenticação do Windows.
(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 Agente de Mesclagem para uma assinatura push para uma publicação de mesclagem
Crie uma conexão com o Publicador usando a classe ServerConnection.
Crie uma instância da classe MergeSubscription.
Defina o PublicationName, DatabaseName, SubscriberName, e as propriedades SubscriptionDBName para a assinatura, 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 de 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 para a conta do Windows sob a qual o agente é executado, defina a Login e os campos Password de SynchronizationAgentProcessSecurity.
Para especificar a Autenticação Integrada do Windows como o tipo de autenticação que o agente usa ao conectar-se ao Assinante, defina o campo de WindowsAuthenticationSubscriberSecurity propriedade para true.
Para especificar a Autenticação do SQL Server como o tipo de autenticação que o agente usa ao conectar-se ao Assinante, defina o campo de WindowsAuthentication da propriedade SubscriberSecurity para false, e especifique as credenciais de logon do Assinante para os campos SqlStandardLogin e SqlStandardPassword.
Para especificar a Autenticação Integrada do Windows como o tipo de autenticação que o agente usa ao se conectar ao Publicador, defina o campo WindowsAuthentication da propriedade PublisherSecurity como true.
Para especificar a Autenticação do SQL Server como o tipo de autenticação que o agente usa ao se conectar ao Publicador, defina o campo WindowsAuthentication da propriedade PublisherSecurity como false, e especifique as credenciais de logon do Publicador para os campos SqlStandardLogin e SqlStandardPassword.
Observação A conexão de agente para o Distribuidor sempre é feita usando as credenciais de Windows especificadas por SynchronizationAgentProcessSecurity. Essa conta é também usada para fazer conexões remotas que usam a Autenticação do Windows.
(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
Crie uma conexão com o Assinante usando a classe ServerConnection.
Crie uma instância da classe ReplicationDatabase para o banco de dados de assinatura. Especifique Name e o 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 de banco de dados na etapa 2 foram definidas incorretamente ou o banco de dados não existe.
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[1] = @"\";
// 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
[Top]
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.
[Top]
Consulte também
Tarefas
Atualizar scripts de replicação (Programação Transact-SQL de replicação)
Conceitos
Conceitos de Replication Management Objects
Modelo de segurança do agente de replicação
Práticas recomendadas em relação à segurança de replicação
Conceitos dos procedimentos armazenados do sistema de replicação