A seguir estão os detalhes do ambiente:
Servidor de banco de dados: SQL SERVER 2012 Sistema operacional: Windows Server 2012
A instância única do SQL SERVER 2012 é instalada na configuração de cluster com 2 nós. Tenho 3 endereços IP, um para cada nó do SQL SERVER e outro para o cluster.
Consigo me conectar a esta configuração fornecendo o nome da instância do SQL SERVER ao DataSource da string de conexão, mas não consigo me conectar usando o nome do cluster como fonte de dados
então o seguinte está funcionando
<add name="Default" connectionString="Data source=SQLInstanceName;Initial Catalog=DatabaseNAme;User Id=userid;Password=password;Connection Timeout=120;" providerName="System.Data.SqlClient" />
mas alterar SQLInstanceName para endereço IP/Nome do cluster não funciona
<add name="Default" connectionString="Data source=clustername;Initial Catalog=DatabaseNAme;User Id=userid;Password=password;Connection Timeout=120;" providerName="System.Data.SqlClient" />
Isso é por Design?
Meu entendimento é que o aplicativo cliente precisa se conectar ao cluster e não a uma instância específica.
Nenhum dos dois deve funcionar. Se for uma instância nomeada, deve ser:
Se for uma instância padrão, apenas:
Você está sempre se conectando a uma instância do SQL Server, esteja ela em cluster ou não. O cluster saberá qual nó no cluster está hospedando a instância no momento, e isso não deve ser uma preocupação sua, pelo menos em termos da cadeia de conexão - esse é o ponto principal, um failover para um nó diferente no cluster não deve exigir que seu aplicativo altere nada.