Mik*_* S. 5 ms-access sql-server odbc mirroring failover
背景/上下文
我们正在将我们的 SQL Server 2000 数据库移动到具有见证和自动故障转移的镜像 SQL Server 2008 R2 服务器。我们在这些数据库上运行了 .Net 和 Access 应用程序,并且正在测试服务器故障转移事件上的客户端重定向。
在我向连接字符串添加“故障转移伙伴”后,.Net 应用程序正确响应。在故障转移时,应用程序将在下一个数据库请求中失败,然后在我们重新启动应用程序时移动到镜像服务器。
题
对于通过 ODBC 的 Access 应用程序,我们尝试使用 SQL Server Native Client 10.0 驱动程序(看起来标准驱动程序不支持镜像?)并在设置中提供镜像服务器。
我在这里指定了数据库和故障转移服务器名称。在故障转移事件中,即使在应用程序重新启动后,Access 应用程序似乎也不会重定向到镜像服务器。我还应该在这里做些什么来强制 ODBC 切换到镜像服务器,还是我没有正确指定镜像服务器名称?
我维护一个 Access 2003 应用程序,该应用程序连接到一对设置有镜像的 SQL Server 2005 服务器。我使用以下连接字符串,允许应用程序在应用程序重新启动后连接到镜像:
昏暗的工作空间 Dim db 作为数据库 调暗只要 设置 ws = DBEngine.CreateWorkspace("MyODBCWorkspace", "admin", "", dbUseJet) 设置 db = ws.OpenDatabase("C:\[数据库路径]", True, False, "MS Access;") 对于 a = 0 到 db.TableDefs.Count - 1 Me.ProgressBar1.Value = a 举办活动 如果 db.TableDefs(a).Connect "" 那么 db.TableDefs(a).Attributes = TableDefAttributeEnum.dbAttachSavePWD db.TableDefs(a).Connect = "ODBC;DRIVER=SQL Native Client;SERVER=[PrimaryServerName];Trusted_Connection=Yes;APP=[MyAppName];WSID=[MyWorkstationName];DATABASE=[SQLServerDatabase];Failover_Partner=[MirrorSQLServerName ];” db.TableDefs(a).RefreshLink 万一 下一个 数据库关闭 ws.关闭 设置数据库=无 设置 ws = 无
我在创建的 VB 启动器应用程序中使用此代码,用户双击该应用程序即可启动 Access MDB/MDE。
或者,这是我们有时用来完成相同任务的 DSN 文件的内容:
[ODBC] DRIVER=SQL 本机客户端 APP=微软数据访问组件 Trusted_Connection=是 SERVER=[服务器完全限定域名] FAILOVER_PARTNER=[MirrorFullyQualifiedDomainName] DATABASE=[数据库名称]