Temos um servidor SQL Server 2008 que migrei com sucesso para um novo computador com o SQL Server 2019.
O nome do servidor SQL Server 2008 é 123.123.123.123.
Ele tem duas instâncias denominadas: 123.123.123.123 e 123.123.123.123\ABC.
O nome do servidor SQL Server 2019 é CMP123456.
As instâncias são nomeadas: CMP123456 e CMP123456\ABC.
Gostaria de usar aliases no servidor de 2019 porque, infelizmente, alguns programadores codificaram os nomes das instâncias em seu código.
Criei dois apelidos:
[123.123.123.123 TCP 1433 localhost]
[123.123.123.123\ABC TCP 1433 localhost\ABC]
Quando uso o SSMS para fazer login, no entanto, ambos os aliases me conectam ao CMP123456. Não consigo criar um alias que me conecte a CMP123456\ABC.
Estes são os aliases que eu tentei.
Todos eles falham como erros "servidor não encontrado":
[123.123.123.123\ABC TCP 1434 localhost\ABC]
[123.123.123.123\ABC TCP 1433 CMP123456\ABC]
[123.123.123.123\ABC TCP 1433 ABC]
[(Sem Alias) Nesse caso, eu esperava que o único alias localhost funcionasse para ambas as instâncias.]
Alguma ideia? Não permitir dois aliases é um bug/recurso do SQL Server 2019?
Para os dois primeiros aliases, você aponta ambos para 1433, que é a instância padrão. Isso explica por que ambos vão para a instância padrão (o número da porta tem precedência sobre o nome da \instance).
Em sua configuração de alias, especifique uma barra invertida com o nome da instância ou especifique o nome da porta para o alias que deve apontar para a instância nomeada.
Além disso, lembre-se de que o SSMS é um aplicativo de 32 bits, portanto, o SSMS verifica as configurações de alias de 32 bits (não as configurações de 64 bits).
Alias é uma configuração de cliente, então você terá que fazer isso em todas as suas máquinas clientes (que precisam desses aliases). A informação está no registro, então você pode enviar essas entradas de registro por alguns meios automatizados. Observe que você provavelmente deseja enviar as entradas de registro de 32 e 64 bits (para que os aliases existam para os dois tipos de aplicativos). As entradas de registro de 32 e 64 bits estão em locais diferentes no registro.
O DNS não o ajudará aqui, pois uma entrada DNS não pode ter um nome \Instance. É por isso que algumas pessoas têm cada instância com um endereço IP separado e, em seguida, têm todas as instâncias listadas na porta 1433 (em seu IP), para facilitar o "reencaminhamento" através da configuração do DNS. Isso não o ajudará aqui, pois você já tem clientes incluindo o nome da instância na string de conexão.
Existe uma convenção de nomenclatura
no seu caso
ver mais
https://learn.microsoft.com/en-us/troubleshoot/windows-server/identity/naming-conventions-for-computer-domain-site-ou
Também não nomeie um computador localhost, é realmente muito ruim, pois você não segue a convenção
veja wikipédia
em resumo, o localhost é ruim e o segundo nome é contra a nomeação e não funcionará