Configurar contas de logon para espelhamento de banco de dados ou para grupos de disponibilidade AlwaysOn (SQL Server)

Para que duas instâncias de servidor se conectem ao ponto de extremidade de espelhamento de banco de dados entre si, é necessário acesso mútuo entre as conta de logon de cada instância. Além disso, cada conta de logon exige permissão de conexão com o ponto de extremidade do espelhamento de banco de dados da outra instância.

O impacto desse requisito depende das instâncias de servidor executadas como a mesma conta de usuário do domínio:

  • Se as instâncias de servidor forem executadas como a mesma conta de usuário do domínio, os logons de usuário corretos existirão automaticamente em ambos os bancos de dados mestres. Isso simplifica a configuração da segurança para Espelhamento de Banco de Dados e Grupos de Disponibilidade AlwaysOn.

  • Se as instâncias de servidor forem executadas como contas de usuário diferentes, os logons de usuário na instância de servidor que hospeda o servidor principal ou a réplica principal deverão ser reproduzidos manualmente na instância de servidor que hospeda o servidor espelho ou em todas as instâncias de servidor que hospedem uma réplica secundária. Para obter mais informações, consulte Criar um logon para uma conta diferente e Conceder permissão de conexão, posteriormente neste tópico.

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

    Para criar um ambiente mais seguro, considere o uso de contas de domínio separadas para cada instância de servidor.

Criar um logon para uma conta diferente

Se duas instâncias de servidor forem executadas como contas diferentes, o administrador do sistema deverá usar a instrução CREATE LOGIN Transact-SQL para criar um logon para a conta de serviço de inicialização da instância remota na tabela syslogins do banco de dados master de cada instância de servidor. Para obter mais informações, consulte CREATE LOGIN (Transact-SQL).

Observação importanteImportante

Se você executar o SQL Server em uma conta fora do domínio, deverá usar certificados. Para obter mais informações, consulte Usar certificados para um ponto de extremidade de espelhamento de banco de dados (Transact-SQL).

Por exemplo, para a instância de servidor sqlA, executada no logonA, conectar-se com a instância de servidor sqlB, executada no logonB, o logonA deve estar na tabela syslogins no sqlB e o logonB deve estar na tabela syslogins no sqlA. Além disso, para uma sessão de espelhamento de banco de dados que inclui uma instância de servidor testemunha (sqlC) e na qual as três instâncias de servidor são executadas em contas de domínio diferentes, devem ser criados os seguintes logons:

Na instância...

Crie logons para e conceda permissão de conexão para ...

sqlA

sqlB e sqlC

sqlB

sqlA e sqlC

sqlC

sqlA e sqlB

ObservaçãoObservação

É possível conectar-se com a conta de serviço de rede usando a conta da máquina em vez de um usuário de domínio. Se a conta da máquina for usada, ela deve ser adicionada como um usuário na outra instância de servidor.

Conceder permissão de conexão

Quando um logon tiver sido criado em uma instância de servidor, deve ser concedida permissão para que ele se conecte com o ponto de extremidade de espelhamento de banco de dados da instância de servidor. O administrador do sistema concede a permissão de conexão usando uma instrução GRANT Transact-SQL. Para obter mais informações, consulte GRANT (Transact-SQL).

Tarefas relacionadas

Consulte também

Conceitos

O ponto de extremidade de espelhamento de banco de dados (SQL Server)

Solução de problemas de configuração de espelhamento de banco de dados (SQL Server)

Solucionar problemas de configuração de grupos de disponibilidade AlwaysOn (SQL Server)