我有一个使用文件 DSN 连接到中央数据库服务器的应用程序。此数据库服务器镜像到辅助服务器上,如果发生故障转移,我的理解是,在文件 DSN“Failover_Partner=”中添加一行将允许应用程序自动连接到辅助服务器。
但是,这似乎不起作用。以下是我在应用服务器上的 DSN 的内容。
[ODBC 连接]
驱动程序=SQL Server Native Client 10.0
UID="用户名"
failover_partner="辅助服务器"
网络=DBMSSOCN
DATABASE="数据库名称"
APP=Microsoft 开放数据库连接
SERVER="主服务器"
我已经测试过数据库故障转移,我们的一些应用程序使用连接字符串,并在其 app.config 或 web.config 文件中指定了故障转移伙伴,这些应用程序运行正常。它们会自动选择辅助服务器并继续工作。它们使用相同的数据库和相同的用户名,所以我知道这不是权限问题。
继续运行的应用程序与不运行的应用程序位于同一子网,所以我知道这不是网络问题。
我可以使用正确的用户名/密码在 SSMS 中手动连接到相关数据库。
我在这里不知所措。我找不到任何原因为什么这不应该起作用。我只能假设 DSN 出了问题,但我不知道它是什么,而且它似乎只有在需要使用故障转移伙伴时才会失败。当我启动应用程序并且主服务器可用时,一切都很好。