SQL Server 2008 R2 100%的可用性

有没有办法在SQL Server 2008 R2上提供100%的正常运行时间?

根据我的经验,不同复制方法的停机时间是:

  • 日志传送:很多(仅限DR)
  • 镜像w。 NLB:约45秒
  • 聚类:约5-15秒

所有这些解决scheme都涉及从源头上删除的所有连接,所以如果宕机时间过长或者应用程序的网关在任务中间不支持重新连接,那么您是不走运的。

解决这个问题的唯一方法就是把集群抽象出一个层次(通过虚拟化,然后启用VMWare FT.Yeck,把它运行在一个四插槽的32核系统上,祝你好运)。

有没有其他方式提供SQL Server的100%正常运行时间?

SQL Server不可能100%。 几个九,是的。

至于集群:只有一个单独的SQL Server安装可以在任何时间点“拥有”MDF。 所以你有前滚/回滚周期,因为另一个实例接pipe和连接中断。 这决定了集群故障转移的时间:典型情况下可以低于10秒。

您也有同样的镜像问题:只有一个拥有/控制SQL Server实例

您可以对客户端进行编码,以便在超时/死锁情况下重试,从而减less故障切换时间。 并非所有人都同意这一点,但我们发现它有时是有用的。

当我们进行故障转移时(触摸木头,而不是一年左右),那么无状态客户端(例如Web服务)就没有注意到,除非一次调用在错误的时间失败。 看我以前的发言。