Configurar Contas de Login - Espelhamento de Base de Dados Sempre Disponível

Aplica-se a: SQL Server

Para que duas instâncias de servidor se conectem ao ponto final de espelhamento da base de dados uma da outra, a conta de login de cada instância requer acesso à outra instância. Além disso, cada conta de login requer permissão de ligação ao endpoint de espelhamento da base de dados da outra instância.

O impacto deste requisito depende de as instâncias do servidor correrem com a mesma conta de utilizador do domínio:

  • Se as instâncias do servidor correrem com a mesma conta de utilizador do domínio, os logins corretos de utilizador existem automaticamente em ambas as bases de dados mestres . Isto simplifica a configuração de segurança para o espelhamento de bases de dados e os grupos de disponibilidade Always On.

  • Se as instâncias do servidor correrem como contas de utilizador diferentes, os logins do servidor que hospeda o servidor principal ou réplica primária devem ser reproduzidos manualmente na instância do servidor que hospeda o servidor espelho ou em cada instância de servidor que aloja uma réplica secundária. Para mais informações, consulte Criar um Login para uma Conta Diferente e Conceder Permissão de Ligação, mais adiante neste tópico.

    Importante

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

Crie um Login para uma Conta Diferente

Se duas instâncias de servidor funcionarem como contas diferentes, o administrador do sistema deve usar a CREATE LOGIN instrução Transact-SQL para criar um login para a conta de serviço de arranque da instância remota para cada instância de servidor. Para mais informações, vejaCREATE LOGIN (Transact-SQL).

Importante

Se executares o SQL Server numa conta que não pertence ao domínio, tens de usar certificados. Para mais informações, consulte Utilizar Certificados para o Endpoint de Espelhamento de Bases de Dados (Transact-SQL).

Por exemplo, para a instância de servidor sqlA, que é executada com loginA, estabelecer ligação à instância de servidor sqlB, que é executada com loginB, loginA tem de existir em sqlB e loginB tem de existir em sqlA. Além disso, para uma sessão de espelhamento de base de dados que inclua uma instância de servidor de testemunha (sqlC) e na qual as três instâncias do servidor correm sob contas de domínio diferentes, devem ser criados os seguintes logins:

Por exemplo... Crie logins para e conceda permissão de ligação a ...
sqlA sqlB e sqlC
sqlB sqlA e sqlC
sqlC sqlA e sqlB

Note

É possível ligar-se à conta do serviço de rede usando a conta da máquina em vez de um utilizador de domínio. Se a conta da máquina for utilizada, deve ser adicionada como utilizador na outra instância de servidor.

Conceder Permissão de Ligação

Uma vez criado um login numa instância de servidor, o login deve receber permissão para se ligar ao endpoint de espelhamento da base de dados da instância do servidor. O administrador do sistema concede permissão à ligação através de uma GRANT declaração Transact-SQL. Para mais informações, vejaGRANT (Transact-SQL).

Tarefas relacionadas

Ver também

O endpoint de espelhamento de base de dados (SQL Server)
Solucionar problemas de configuração de espelhamento de banco de dados (SQL Server)
Resolver problemas de configuração dos Always On Availability Groups (SQL Server)