Como você configura o espelhamento no SQL 2005 com endereços IP para nomes de servidores? (EC2 / no AD)

2

Estou configurando um espelho no Amazon EC2 e tenho todos os servidores com IPs dedicados. Quando tento conectar meu espelho ao meu principal com o seguinte comando

alter database DB_NAME set partner = 'TCP://202.42.3.54:1433'

(IP alterado de real para segurança) recebo um erro dizendo

O endereço de rede do servidor "TCP: //202.42.3.54: 1433" não pode ser alcançado ou não existe. Verifique o nome do endereço de rede e emita novamente o comando.

Tenho certeza de que o servidor existe e é visível do outro servidor. Lembro-me de ter problemas quando o nome do servidor de nó de extremidade não é o mesmo que o servidor conhecido por si mesmo em @@ SERVERNAME, Alguém acha que isso poderia ser o problema?

Dado que não temos nenhuma configuração de domínio, nem o ActiveDirectory a única maneira de usar os nomes reais dos servidores é configurar um arquivo de hosts, mas acho que a solução vai acabar sendo difícil de gerenciar e muito feia .

Quaisquer opções ou ideias?

    
por Jorge Guzman 28.04.2011 / 19:54

1 resposta

3

Com o espelhamento e a replicação do SQL DB, se @@ nome_do_servidor não corresponder ao nome do host real, você terá problemas. Isso normalmente acontecerá se um servidor for renomeado após a instalação do SQL. Além disso, os servidores precisam ser capazes de se comunicar via hostname, seja qual for a alça que é sua (DNS, arquivos hosts, WINS, etc)

Se o seu nome de host não corresponder à consulta @@ nome_do_servidor, existe um script simples e não destrutivo a ser corrigido. No exemplo, "oldhost" será o nome que a consulta retorna. Depois de executar o script, você precisará reiniciar os serviços do SQL.

exec sp_dropserver 'oldhost\instance'
go
exec sp_addserver 'currenthostname\instance',local
go
    
por 28.04.2011 / 19:56