1

我有一堆 SQL 服务器,我会定期对其进行维护(Windows 更新补丁等)。现在我想让数据库 24/7 在线,需要为 SQL server 实现高可用性解决方案之一。解决方案必须便宜且易于使用。

我在调整数据库客户端的连接字符串时没有问题,所以目前我正在研究在关闭合作伙伴实例以进行修补等时使用手动故障转移进行数据库镜像。

这是最好的做法,还是有其他不涉及设置故障转移集群的选项?

服务器使用完全冗余的存储解决方案进行虚拟化。

任何提示表示赞赏,在此先感谢!

4

3 回答 3

1

我知道的四个高可用性解决方案是:

  • 故障转移集群
  • 日志运输
  • 镜像
  • 复制

日志传送可能不是 24/7,所以剩下三个。Serverfault 绝对是询问其相对优点的更好地方。

于 2009-11-09T13:48:20.610 回答
1

使用 PARTNER-server 进行镜像可能是最便宜的解决方案(如果您打算手动切换,可以跳过 PARTNER-server)。

故障转移需要共享磁盘 (NAS) 以及支持集群的 Windows 许可证(非常昂贵)。

我不确定复制,或者它与镜像有何不同,但我所做的研究得出的结论是,镜像适合我。但是我不介意在升级时有一些停机时间,我只是保留数据库的镜像实例以防出现严重的硬件故障。

复制可能是针对 SQL 服务器的完整实例,而镜像是针对每个数据库完成的。就我而言,我有 2 台生产服务器,它们都将其数据库复制到第三台备份服务器以进行灾难恢复。我认为复制是不可能的。

于 2009-11-09T13:54:38.720 回答
1

对于自动故障转移,我会选择镜像。您可以在您的应用程序中构建第二个数据库连接字符串,只要首选不可用,它将默认为备份 - 因此为您的应用程序提供 24/7。但是,这有其不利之处,一旦“翻转”到镜像上,您必须接受这种方式,直到另一个维护工作需要镜像再次移回,或者您必须手动交换镜像。

为了使它真正成为 24/7,您需要启用自动而不是手动,也许您需要见证服务器来做出决定......选择中包含很多因素 - 您是否使用服务器在不同的站点、集群、多个 Web/应用程序服务器上……?

正如之前的答案所建议的那样,https://serverfault.com/search?q=sql+mirroring将拥有做出此选择的人,随时准备为您提供更详细的帮助

镜像的一大好处是,如果镜像服务器没有其他活动,它是免费的,如果镜像接管,实时服务器许可证就会转移。microsoft.com 上 SQL 许可页面的完整详细信息

于 2009-11-09T16:49:56.377 回答