O ambiente em questão consiste no domínio AD e 2 VMs AZ SQL. A versão do servidor SQL é SQL 2022 Standard - CU 2. Atualmente, existem três instâncias de banco de dados em cada AZ SQL VM e os bancos de dados nessas instâncias funcionam em AlwaysON AG (básico) para bancos de dados que não são do sistema.
Recentemente, cooperei com a Microsoft para aproveitar toda a hospedagem de servidores SQL no Azure e seus conselhos, para aproveitar totalmente os recursos do agente SQL IaaS do Azure é instalar a instância padrão, além de 3 instâncias nomeadas. O que eu fiz.
Agora, para essas 3 instâncias, a situação é a seguinte:
- As VMs do servidor SQL têm, digamos, endereços A, B em sua sub-rede
- Os ouvintes para cada instância e para cada banco de dados nessa instância têm endereços C,D,E,F....
- Os ouvintes em 2 instâncias são executados em portas TCP > 49152
- Os ouvintes da última instância são executados nas portas 1433, mas em endereços diferentes de A e B
Meu problema Depois de instalar a instância SQL padrão de acordo com o conselho da Microsoft, ao conectar-me ao ouvinte na porta 1433, de alguma forma acabei na instância padrão em vez da instância à qual pertence o ouvinte em execução no TCP 1433.
/* EDIT 01 */ Para responder às valiosas perguntas de Sean:
Para alcançar o ouvinte AG escutando em 1433 (mas em IP diferente do endereço do servidor), usei <Listener's DNS name> e acabei na instância padrão - ambas rodando em 1433, mas com IPs diferentes. Depois que a instância padrão foi desinstalada, tudo começou a funcionar novamente.
Todas as instâncias nomeadas escutam em portas dinâmicas, a instância padrão escuta em 1433. Em 1433, também ouvintes de uma instância nomeada escutam, mas cada um desses ouvintes tem um endereço IP individual. A configuração da rede está de acordo com a diretriz MSFT - balanceador de carga do Azure na frente das VMs AZ SQL para que os AGs funcionem corretamente. Não toquei no balanceador de carga para refletir a instância padrão escutando em 1433, porque essa instância padrão não tinha nenhum AG.
/* Fim da EDIÇÃO 01 */
Alguém tem uma ideia do porquê?
Você está enfrentando o mesmo problema que respondi , desconsidere o aspecto do navegador. Essencialmente, a instância é configurada para escutar em todos os IPs por padrão, e como está configurada dessa forma e você tem várias instâncias, os outros combos de ip/porta não serão capazes de ligar, então quem tiver o combo primeiro é aquele que o tráfego será roteado.
Esses são os problemas que você terá ao usar várias instâncias do SQL Server no mesmo conjunto de servidores, para citar a mim mesmo ...
Você também descobriu que há considerações adicionais ao usar o Azure IaaS com AGs com o ILB (ou fazer o que a AWS exige, ou seja, cada nó precisa estar em sua própria sub-rede), que também requer portas exclusivas, portanto, eu não usaria portas dinâmicas como você tem para as outras instâncias.