SQL Server 镜像是否可靠(高可用性)?

SQL Server 镜像是否可靠(高可用性)?

我正在评估 SQL Server 2008 镜像(异步),以便提供更好的可用性。根据您的经验,我想知道 SQL Server 镜像是否是一种可靠且成熟的技术。自动故障转移不是强制性的,但最好有。因此,我正在分别评估镜像机制和自动故障转移机制。

  • 镜像机制是否可靠?是否需要持续的配置和调整?

  • 自动故障转移选项可靠吗?是否需要持续配置和调整?

问候,

答案1

是的,数据库镜像是一种可靠的技术,目前许多企业客户都在使用它。我在 Microsoft 内部和外部都帮助人们设置镜像 - 当我负责 SQL Server 存储引擎时,我曾经拥有数据库镜像。

与任何 HA 技术一样,在选择帮助您实施 HA 策略的技术之前,您需要了解您的要求和限制。如果您在此之前选择技术并尝试根据您的要求进行改进,那么您将无法获得成功的策略。

我刚刚为 SQL 团队撰写了一份 35 页的关于 SQL Server HA 的白皮书 - 它将会在 SQL PASS 之前发布。与此同时,要了解自己应该问哪些问题,请参阅我的这篇博客文章:HA:选择高可用性解决方案时从哪里开始?对于数据库镜像,需要考虑:

  • 您的应用程序生态系统中有多少个数据库?即哪些资源需要一次性全部故障转移。如果超过 2-3 个,您可能需要考虑使用 SAN 复制的故障转移群集。
  • 在单一应用程序生态系统之外,您想要镜像多少个数据库?如果超过 10 个,您就会开始看到工作线程、内存和共享镜像发送缓冲区等待的问题。
  • 事务日志生成率是多少?
  • 网络带宽和延迟是多少?这两个因素决定了镜像是否与主服务器同步 - 以及在异步模式下可能丢失多少数据(来自大型发送队列)或由于必须等待镜像上的事务强化而导致的工作负载吞吐量下降(对于同步模式)

等等。

设置镜像后,您需要对其进行监控,以确保其在所需的参数范围内工作 - 需要监控的最重要的事情是 SEND 和 REDO 队列 - 它们分别可以衡量镜像落后了多少以及故障转移需要多长时间。它不会需要在常见场景中会进行持续调整,但与任何技术一样,YMMV 可能有所不同。

自动故障转移 - 视情况而定。需要考虑多种情​​况,包括哪些网络链接发生故障、哪些镜像伙伴发生故障以及实际故障是什么。查看此博客文章了解故障列表:搜索引擎问答#3:数据库镜像故障转移类型和合作伙伴超时

这些都是脑力劳动,但总结一下,是的,镜像是可靠的,不需要过多的调整和监控。SQL Server 2008 添加了一些很酷的新功能来提供帮助 - 日志流压缩和自动页面修复 - 这两项我都在我的博客中提到过数据库镜像博客文章类别。

最后,您应该查看一些优秀的白皮书(请参阅我们网站上的数据库镜像链接)白皮书 uber-links 页面- 我写了一篇关于在 SS2008 中结合数据库镜像和事务复制的文章)和一本新书专业 SQL Server 镜像

希望这可以帮助!

相关内容