SQL Server 2008 数据库镜像部署实例之三 配置见证服务器

2016-02-19 09:58 19 1 收藏

在这个颜值当道,屌丝闪边的时代,拼不过颜值拼内涵,只有知识丰富才能提升一个人的内在气质和修养,所谓人丑就要多学习,今天图老师给大家分享SQL Server 2008 数据库镜像部署实例之三 配置见证服务器,希望可以对大家能有小小的帮助。

【 tulaoshi.com - 编程语言 】

前面已经完成了镜像数据库的配置,并进行那个了故障转移测试。接下来将部署见证服务器,实现自动故障转移。

一、关于见证服务器

1、若要支持自动故障转移,必须在高安全性模式下配置数据库镜像会话,并且还要具有第三个服务器实例(也称为“见证服务器”)。见证服务器是 SQL Server 的可选实例,它能使高安全性模式会话中的镜像服务器识别出是否要启动自动故障转移。与这两个伙伴不同的是,见证服务器并不能用于数据库。见证服务器的唯一角色是支持自动故障转移。

2、为了给数据库设置见证服务器,数据库所有者为见证服务器的角色分配数据库引擎实例。见证服务器实例可以与主体服务器实例或镜像服务器实例运行于同一台计算机上,但这样会明显降低自动故障转移的可靠性。因此建议见证服务器应位于另外一台计算机上。

3、在高性能模式下,见证服务器对可用性会有不利影响。如果见证服务器是针对数据库镜像会话而配置,则主体服务器必须至少连接到一个其他服务器实例,即镜像服务器或见证服务器,或者是连接到这两个服务器。否则,将无法使用数据库,并且不能进行强制服务(可能丢失数据)。因此,对于高性能模式,我们极力建议您始终将见证服务器设置为 OFF。

二、关于自动故障转移

1、只有在高安全性模式(“具有自动故障转移功能的高安全性模式”)下运行并且具有见证服务器的数据库镜像会话支持自动故障转移。在具有自动故障转移功能的高安全性模式下,同步数据库后,如果主体数据库变得不可用,则会发生自动故障转移。自动故障转移将导致镜像服务器接管主体服务器的角色,并使其数据库的副本联机以作为主体数据库。因为每个在主体数据库中提交的事务同时也在镜像数据库中提交,所以需要使数据库保持同步以防止在故障转移过程中丢失数据。

2、自动故障转移所需条件

A、数据库镜像会话必须在高安全性模式下运行,并且必须处理见证服务器。

B、镜像数据库必须已经同步。这将保证发送到镜像服务器的所有日志都已写入磁盘。

C、主体服务器已中断了与其余数据库镜像配置的通信,而镜像服务器和见证服务器将保留仲裁。但是,如果所有服务器实例都已中断通信,而见证服务器和镜像服务器稍后重新建立通信,则不会发生自动故障转移。

D、镜像服务器已检测到丢失了主体服务器

E、镜像服务器检测主体服务器故障的方式取决于故障是硬故障还是软故障。

更多自动故障转移内容参考

http://msdn.microsoft.com/zh-cn/library/ms189590.aspx

三、自动故障转移原理

1、如果主体服务器仍在运行中,则将主体数据库的状态更改为 DISCONNECTED 并断开所有客户端与主体数据库的连接。

2、见证服务器和镜像服务器将主体服务器注册为不可用。

3、如果重做队列中有任何等待的日志,则镜像服务器将完成前滚镜像数据库的操作

4、前一个镜像数据库作为新的联机主体数据库,恢复通过尽快回滚未提交的事务将这些事务全部清除。锁将隔离这些事务。

5、当前一个主体服务器重新联接到会话时,它将认定其故障转移伙伴现在拥有主体角色。前一个主体服务器接管镜像角色,并将其数据库作为镜像数据库。新的镜像服务器会尽快将新的镜像数据库与主体数据库同步。新的镜像服务器重新同步数据库后,就可以再次执行故障转移,但按反向执行。。

下图说明了自动故障转移的一个实例。

四、在见证服务器上看装SQL Server 2008

详见《SQL Server 2008 数据库镜像部署实例之一》

五、配置见证服务器

1、主体数据库服务器上,右键点击数据库,选择任务——镜像

2、在弹出的数据库属性页面中,选定镜像页,点击右侧的配置安全

3、点击下一步,选择包括见证服务器

4、点击下一步,进行见证服务器配置

5、点击两次下一步,填入见证服务器地址或机器名及站点名称

6、填入服务账户

7、查看摘要信息,点击完成

六、测试自动故障转移

1、当前主体服务器为Hytest01,镜像数据库是Hytest02

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

2、将主体服务器Hytest1的网络断开,看数据库是否自动转移到镜像服务器Hytest02上

镜像设置显示,主体服务器、镜像服务器角色也互换了。

有人会说,两个数据库,IP地址都不一样,怎么写连接代码呢?难道出现故障后要手动更改代码吗?其实使用ADO.NET或者SQL Native Client能够自动连接到故障转移后的伙伴,连接字符串如下所示:

  ConnectionString="DataSource= A;Failover Partner=B;Initial Catalog=AdventureWorks;Integrated Security=true;" DataSource= A;

这样设置之后,客户端就可以自动切换数据库了

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

至此SQL Server 2008 的镜像高可用配置实例全部完成。

来源:https://www.tulaoshi.com/n/20160219/1592817.html

延伸阅读
SQL Server 的数据库引擎组件是用于存储、处理数据和保证数据安全的核心服务。数据库引擎提供受控的访问和快速事务处理,以满足企业中要求极高、大量使用数据的应用程序的要求。 SQL Server 支持在同一台计算机上最多存在 50 个数据库引擎实例。对于本地安装,必须以管理员身份运行安装程序。如果从远程共享安装 SQL Server,则必须使用对远程...
SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份。这里的同步备份指的是备份服务器与主服务器进行实时数据同步,正常情况下只使用主数据库服务器,备份服务器只在主服务器出现故障时投入使用。它是一种优于文件备份的数据库备份解决方案。 在选择数据库同步备份解决方案时,我们...
--取得所有数据库名 包括系统数据库 --SELECT name FROM master.dbo.sysdatabases --取得所有非系统数据库名 --select [name] from master.dbo.sysdatabases where DBId6 Order By [Name] --取所有信息,包括数据库文件地址 --select * from master.dbo.sysdatabases where DBId6 Order By [Name]
标签: SQLServer
引言 农业银行总行1998年以来正式推广了新版网络版综合业务统计信息系统,该系统是基于WindowsNT4.0平台,采用客户/服务器模式,以Microsoft SQL Server为基础建立起来的大型数据库应用程序,系统界面友好、操作简便,计算、分析、检索功能非常强大,为保证农业银行系统及时进行纵向和横向业务数据采集、按照不同要求生成统计报表,进行...
标签: 服务器
2013如何选购数据库服务器 随着论坛、电商、ERP等行业迅速发展,数据库变得愈加重要,且在具备一定规模之后,对服务器硬件的设备愈加严苛。对这些企业来讲,服务器、存储设备一旦无法承受数据库所带来的工作压力,将直接造成系统崩溃或多项业务瘫痪,其损失则不言而喻。 2013新年伊始,以数据库为主的企业如何挑选一款可靠的、稳定的...

经验教程

171

收藏

45
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部