如何保持 Ms-SQL 数据库始终处于运行状态:镜像还是复制?

如何保持 Ms-SQL 数据库始终处于运行状态:镜像还是复制?

我在 Windows Server 2008 中有几个 Tb 数据库。当服务器出现故障或需要重建 raid 时,我想保持服务正常运行。

选择复制还是镜像?如何设置活跃服务器接管死机服务器?

谢谢阿尔曼。

答案1

在高安全模式下设置的镜像,并有见证服务器,可以无缝切换活动数据库实例。问题是每次发生事务时,它都是同步操作……这意味着必须在事务完成之前在两个节点上都提交它。因此,延迟会增加。

使用复制时,应用程序必须意识到并准备好在检测到节点未启动时进行切换。这不是自动的,而且对于应用程序来说肯定不是无缝的。但是,您没有事务延迟,因为它不是同步的(更改会尽快复制,但在提交事务之前不会在所有节点上确认)。

答案2

啊,这才是终极问题!毫无疑问,你会得到 101 个答案,但如果你的问题实际上是问这些技术中哪一种最适合使数据库可用,那么我每次都会选择镜像。复制对于扩展数据和提高数据子集的可用性非常有用。

如果您的问题是我可以采用什么样的基础设施来实现 5 个 9 或更好的可用性,那么我会开始谈论集群、虚拟化和对等复制(最后我只会在 SQL 2008 R2 中使用)。

回到镜像,对于自动故障转移,您将需要一个见证服务器,并且需要解决您的服务器名称解析(一种解决方案是您可以在连接字符串中使用故障转移伙伴)。

查看网址数据库镜像

相关内容