Eu tenho dois servidores SQL, preciso espelhar um banco de dados de um para o outro.
Deve ser direto, dois servidores sem testemunha.
- Os dois servidores estão executando a mesma edição do MS SQL Std 2014
- Os serviços SQL estão sendo executados na mesma conta de domínio
- Conta de domínio é Admin local nos sistemas operacionais do SQL Server
- Conta de domínio é SysAdmin e funções públicas em servidores SQL
- O backup do banco de dados foi feito e restaurado do primário para o secundário, o banco de dados está sendo executado no Secondary
- Os caminhos das pastas são idênticos nos dois servidores. A Instância do SQL está instalada em D: em ambos os
- O Firewall do Windows (para fins de teste) tem uma regra para desbloquear todas as portas TCP em ambas as direções nos dois servidores.
- Os dois bancos de dados estão no modelo de recuperação completa, um nível de compatibilidade é 110 (SQL Server 2012)
O ponto final de espelhamento foi criado no servidor principal e secundário com t-sql da seguinte forma:
CREATE ENDPOINT [Mirror]
STATE = STARTED
AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL )
FOR DATABASE_MIRRORING(ROLE = ALL, AUTHENTICATION = WINDOWS NEGOTIATE, ENCRYPTION = DISABLED)
GO
Eu tentei alterar as seguintes opções
ROLE = PARTNER
ENCRYPTION = REQUIRED ALGORITHM RC4
Todos produzem o mesmo resultado.
Uma mensagem no servidor Princípio [CRM-2016-SQL-W] que é idêntica a esta
O endereço do servidor riscado é TCP: // CRM-2016-SQL-W: 5022. Portanto, o servidor principal está reclamando que é incapaz de se comunicar com o ponto final do espelho local (como eu o entendo).
Telnet de todos os locais (Principle SQL / SQL secundário e em qualquer outro lugar na rede) mostram que a porta 5022 está acessível em ambos os servidores.
Se você excluir a porta do terminal, 5022 rejeitará as conexões.
Eu testei isso com a porta 7022 em ambas as extremidades e obtive os mesmos resultados.
Logs do servidor SQL do Secondary show:
Database mirroring connection error 2 'Connection attempt failed with error: '10060(A connection attempt failed because the connected party did not properly respond after a period of time<c/> or established connection failed because connected host has failed to respond.)'.' for 'TCP://CRM-2016-SQL-W.ncp.co.uk:5022'.
Registros do primário ao mesmo tempo simplesmente mostram:
The database Mirroring endpoint has stopped listening for connections
The database Mirroring endpoint is now listening for connections
Service is listening on ['any' <ipv4>5022]
Service is listening on ['any' <ipv6>5022]
Eu segui as instruções abordadas aqui: link sem sucesso.
Eu deixei esse trabalho para o último minuto, pois não tive problemas para fazer isso da última vez que fiz isso e agora estou correndo o risco de um projeto um pouco embaraçoso para amanhã! Todos os pensamentos apreciados.