4

我有两台运行 SQL Server 2005 Enterprise 的数据库服务器,我想将其中一台用作镜像数据库服务器。

我需要的是;在镜像服务器上从主服务器创建一个精确的副本数据库,因此当主服务器关闭时,我们可以将应用程序上的数据库 IP 切换为使用镜像服务器。

我检查了 SQL Server 2005 上的“镜像”功能,并基于这篇文章:
http ://aspalliance.com/1388_Database_Mirroring_in_Microsoft_SQL_Server_2005.all

不能直接访问镜像数据库;但是,可以为只读目的拍摄镜像数据库的快照。(先决条件 4)

那么当主服务器关闭时我无法访问它时,它有什么用处呢?

我一直在考虑在主服务器上创建一个定期备份,并每小时在镜像服务器上恢复它,但这非常低效(慢),特别是如果我想要一个精确的副本(因为每分钟添加一次数百个数据)。

还有什么建议吗?

编辑:
也许我的意思是复制的东西,而不是镜子(感谢 JP 的评论)

4

4 回答 4

2

他们指的是您无法对镜像副本执行查询这一事实,但您可以通过创建镜像数据库的快照来绕过该限制。通常这样做是为了创建用于报告用途的只读数据库副本。如果主服务器发生故障,您将拥有镜像的完全访问权限,但它不会自动进行故障转移。

日志传送是另一种选择,它允许您查询(只读)备用数据库,而无需创建快照。

于 2009-04-09T19:49:55.193 回答
1

如果我正确理解你的问题,你不应该这样做。您可以使用多种角色切换表格来让您的镜像接管为主。您无需在应用程序级别更改 IP 地址,集群本身有一个虚拟 IP 地址,允许在任何给定时间访问数据(给定从主故障切换到镜像的合理时间) . 镜子会自行保持同步。:)这里这里都有关于集群的好文章。

编辑:好的,根据评论,检查复制的各种选项。

于 2009-04-07T06:10:33.537 回答
1

您的困惑很常见 - 有很多方法可以使用 SQL Server 进行灾难恢复计划。我录制了一个10 分钟的 SQL Server 灾难恢复选项视频教程,包括日志传送、镜像、复制等。如果你喜欢那个,我们在 Quest 有一个更长的,叫做灾难恢复技术,但是那个需要注册。

您可能想要做的是告诉我们您的需求是什么,而不是在这里研究特定技术,然后我们可以帮助您找出适合您的选项。这些视频将让您了解在选择特定解决方案之前需要了解哪些类型的信息。

于 2009-04-14T12:41:20.347 回答
1

仅使用两个 SQL Server 时,您需要手动进行故障转移。完成两件事后,“备份”数据库将可用;

  1. 禁用镜像
  2. 使用 RECOVERY 恢复数据库(但没有备份文件,这将使数据库可用)。

因此以这种方式镜像确实可以,但是很难维护;

从备份数据库移回主数据库是一种“痛苦”,因为您必须使用冗余服务器的备份再次设置完整的镜像。这是使主备份恢复速度所必需的。

我的建议是让第三个 SQL Server 加入到可以充当见证人的画面中。见证人将监控镜像数据库的状态。您的奖金;您将获得自动故障转移,并且不会出现故障转移(以及故障转移后)问题。

如果我没记错的话,见证服务器可以运行 SQL Express,所以这三个服务器上都不需要企业版——只有两个会发生实际镜像。

让我知道您是否需要 Transact SQL 以在两个服务器方案中执行故障转移和“反故障转移”命令,我可以将它们挖掘出来。

于 2009-04-29T15:58:25.303 回答