【发布时间】:2023-03-25 08:25:02
【问题描述】:
执行 SQL Server 数据库镜像时,您有两台服务器
您有 1 个主数据库和 1 个镜像数据库
您是否需要对 Web 应用程序进行任何更改以告诉它您正在使用数据库镜像?如果不是,您的 Web 应用程序如何知道在主数据库出现故障时使用哪个数据库?
【问题讨论】:
标签: c# asp.net sql-server sql-server-2005
执行 SQL Server 数据库镜像时,您有两台服务器
您有 1 个主数据库和 1 个镜像数据库
您是否需要对 Web 应用程序进行任何更改以告诉它您正在使用数据库镜像?如果不是,您的 Web 应用程序如何知道在主数据库出现故障时使用哪个数据库?
【问题讨论】:
标签: c# asp.net sql-server sql-server-2005
可以在连接字符串中设置。参见“数据库镜像”示例here
【讨论】:
您是否需要对 Web 应用程序进行任何更改以告诉它您正在使用数据库镜像?
是的,使用 IP 或实例名称将 Failover Partner 参数添加到您的连接字符串。 IE:(为了便于阅读,换行)
数据源 = myServerAddress; 故障转移伙伴 = myMirrorServerAddress; 初始目录 = myDataBase; 集成安全 = True;
镜像不必存在来测试故障转移 - 您可以使用虚拟地址作为数据源并观察我们的应用程序使用故障转移合作伙伴中的有效配置。
但镜像确实不涵盖登录或作业 - this link provides a script for cloning logins from SQL Server 2005 to other 2005+ instances。如果主体和镜像上的 SID 不相同,您将不得不使用 ALTER USER 或 sp_change_users_login 来同步登录。
【讨论】: