Eu tenho um aplicativo que usa DSNs de arquivos para se conectar a um servidor de banco de dados central. Esse servidor de banco de dados é espelhado em um servidor secundário e, no caso de um failover, entendo que adicionar uma linha no arquivo DSN "Failover_Partner=" permitirá que o aplicativo se conecte automaticamente ao secundário.
No entanto, isso parece não funcionar. Abaixo estão os conteúdos dos meus DSNs nos servidores de aplicativos.
[ODBC]
DRIVER=SQL Server Native Client 10.0
UID="username"
failover_partner="secondary server"
Network=DBMSSOCN
DATABASE="database name"
APP=Microsoft Open Database Connectivity
SERVER="primary server"
Eu testei a falha nos bancos de dados e alguns de nossos aplicativos que usam cadeias de conexões com um parceiro de failover especificado em seus arquivos app.config ou web.config estão bem. Eles automaticamente pegam o servidor secundário e continuam trabalhando. Eles usam os mesmos bancos de dados e os mesmos nomes de usuários, então sei que não é um problema de permissão.
As aplicações que continuam a funcionar estão na mesma sub-rede que as que não funcionam, por isso sei que não é um problema de rede.
Eu posso conectar-me aos bancos de dados relevantes manualmente no SSMS com os nomes de usuário / senhas corretos.
Eu estou perdido aqui. Não consigo encontrar qualquer razão para que isso não funcione. Eu só posso supor que há algo errado com o DSN, mas eu não sei o que é, e só parece falhar quando o parceiro de failover precisa ser usado. Quando eu inicializo o aplicativo e o primário está disponível, tudo bem.