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

我正在评估SQL Server 2008镜像(asynchronous),以提供更好的可用性。 我想知道,根据你的经验,如果SQL Server镜像是一个可靠和成熟的技术。 自动故障转移不是强制性的,但是很好。 因此,我正在分别评估镜像机制和自动故障转移机制。

  • 镜像机制是否可靠? 是否需要连续configuration和调整?

  • 自动故障切换选项是否可靠? 是否需要连续configuration和调整?

问候,

是的,数据库镜像是一项可靠的技术,目前已被许多企业客户使用。 我已经帮助人们在微软内部和外部build立了镜像 – 当我负责SQL Server存储引擎时,我曾经拥有数据库镜像。

与任何HA技术一样,在select技术来帮助实施HA策略之前,您需要了解您的要求和限制。 如果您在做这件事情之前select了技术,并尝试将其改造成您的要求,那么您将无法获得成功的策略。

我刚刚写完了一份35页的HA SQL Server白皮书,它将在SQL PASS之前发布。 同时,想了解一下自己想问什么问题,请看我的博客文章: HA:您在select高可用性解决scheme时从哪里开始? 。 对于数据库镜像,您需要考虑:

  • 应用程序生态系统中有多less个数据库? 即什么资源都需要立即失败。 超过2-3个,您可能会考虑使用SAN复制进行故障转移群集。
  • 在单个应用程序生态系统之外,您想要镜像多less个数据库? 超过10,你会看到工作线程,内存和共享镜像发送缓冲区等问题。
  • 什么是事务日志生成率?
  • 什么是networking带宽和延迟? 这两件事决定镜像是否与委托人同步 – 以及您可能以asynchronous模式(从大型发送队列中)查看多less数据丢失或工作负载吞吐量退化,而不必等待事务的硬化镜像(用于同步模式)

等等。

一旦你build立了镜像,你需要监视它,以确保它在你想要的参数下工作 – 最重要的事情是监视SEND和REDO队列,这些队列可以测量镜子背后的距离,故障转移将分别花费很多时间。 它不需要在常见情况下进行连续调整,而是需要与任何技术一样的YMMV。

自动故障切换 – 取决于。 有哪些场景需要考虑,哪些networking连接断开,哪些镜像合作伙伴closures以及实际失败是什么。 检出这个博客文章的失败列表: search引擎问答#3:数据库镜像故障转移types和合作伙伴超时 。

这一切都是一个大脑转储,但总而言之,是的,镜像是可靠的,不应该需要过度的调整和监控。 SQL Server 2008添加了一些很酷的新东西来帮助 – 日志stream压缩和自动页面修复 – 这两个我已经在我的数据库镜像博客post类别中的博客。

最后 – 你应该看一堆很好的白皮书(参见我们的白皮书uber-links页面上的数据库镜像链接 – 我在SS2008中编写了一个将数据库镜像与事务复制相结合的链接)和一本新书“ Pro SQL Server镜像” 。

希望这可以帮助!