WEB开发网
开发学院数据库MSSQL Server 数据库镜像调整自动故障转移时间 阅读

数据库镜像调整自动故障转移时间

 2008-10-28 10:09:15 来源:WEB开发网   
核心提示:问题 数据库镜像变成SQL Server 2005中很受欢迎的一个功能,通过下面几个简单步骤,数据库镜像调整自动故障转移时间,使用SQL Server 管理套件或者运行一些T-SQL命令,你可以很容易在你的一个或多个数据库中创建数据库镜像,那么自动故障转移就会基于你设置的值消耗更多的时间,另外,数据库镜像的某一个配置选

问题

数据库镜像变成SQL Server 2005中很受欢迎的一个功能。通过下面几个简单步骤,使用SQL Server 管理套件或者运行一些T-SQL命令,你可以很容易在你的一个或多个数据库中创建数据库镜像。数据库镜像的某一个配置选项是高可用性模式。有了这个选项,主体服务器、镜像服务器、见证服务器三个服务器被放在适当的位置。这是允许自动故障解决故障转移功能的唯一选项。我注意到的一点是当存在定期网络问题时,即使主体服务器没有问题,一个故障转移也会发生。有没有一些选项可以延迟这个故障转移呢?因为我在SQL Server管理套件中什么也没看到。

专家解答

正如上面所说的,通过使用SQL Server管理套件或者执行一些T-SQL命令来在高可用性模式选项中建立数据库镜像是很简单明了的事情。如果你对SQL Server联机帮助做一些挖掘,你会注意到有记录的一些选项在GUI中是不可用的。这些选项的某一员是PARTNER TIMEOUT。

PARTNER TIMEOUT是SQL Server用来确定最大时段的值,这个时段是在确认一个故障转移是否应该发生前,一个实例等待从SQL Server另一个实例发出的”ping”信息的时间。

有了数据库镜像的高可用性模式,这三个服务器的关系如下:

数据库镜像调整自动故障转移时间

这三个服务器不断地ping对方,形成一个保留仲裁,并且如果这三台服务器中的某台不能用,那么其他服务器将确定怎样解决故障转移。考虑到这些机器所处的位置和网络的可靠性,主体服务器将会断开连接,见证服务器和镜像服务器仍然保留仲裁,也正因为如此,这两个服务器会初始化故障转移。

如果有一些问题,比如网络负载或者其他原因导致这三个服务器之间的通信有延迟,那么一个解决方案是更改PARTNER TIMEOUT。默认情况下,这个值设置成10秒,所以如果一个“ping”在10秒的时间段内没有收到,那么一个故障转移将会发生。

要想把这改成一个更长的值,比如20秒,那么下面的命令应该在要镜像的主体服务器数据库中执行。

ALTER DATABASE dbName SET PARTNER TIMEOUT 20

要注意用于这个选项的值。如果这个值被设置成高并且失败确实发生了,那么自动故障转移就会基于你设置的值消耗更多的时间。

另外,“最低的”这个值可以按照在SQL Server联机帮助中提供的信息设置成5秒。

Tags:数据库 镜像 调整

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接