预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

配置SQLServer2005镜像1.0版 /NUMPAGES5 配置SQLServer2005镜像 SQLServer2005相对于SQLServer2000来说,无论是性能还是功能都有一个相当大的提高,甚至可以用“革命”来形容这一次升级。SQLServer2005使SQLServer跻身于企业级数据库行列。在数据高可用性方面,SQLServer2005为用户提供了数据镜像、复制、故障转移群集、日志传送功能。本文向读者简单介结SQLServer2005镜像功能。 镜像简介 数据库镜像是一个高可用性软件解决方案,为客户端提供小于10秒故障转移。每个数据库镜像配置均包含一个主体服务器(包含主体数据库)、一个镜像服务器(包含镜像数据库)和一个见证服务器,其中见证服务器是可选的。主体服务器和镜像服务器要求是独立的服务器实例。主体服务器和镜像服务器的角色是相对的,可以自动或者手动地将主体服务器设置为镜像服务器,镜像服务器设置为主体服务器。与主体服务器和镜像服务器不同的是,见证服务器并不能用于数据库。见证服务器监视主体服务器和镜像服务器,确保在给定的时间内这两个故障转移服务器中有且只有一个作为主体服务器,从而支持自动故障转移。如果存在见证服务器,同步会话将以“高可用性模式”运行,如果主体服务器出现故障,可以实现故障自动转移。如果见证服务器不存在,同步会话将以“高级别保护模式”运行,出现故障需要手动故障转移,并且有可能丢失数据。 图1:两台服务器镜像 图2:两台服务器镜像,一台见证服务器 数据库准备结束,端点创建完成,用户便可以启用数据库镜像。镜像启动后,每个伙伴都将开始维护所在数据库中有关其数据库,以及另一个伙伴和见证服务器的状态信息。这些状态信息允许服务器实例维护称为“数据库镜像会话”的当前关系。在数据库镜像会话过程中,服务器实例将通过彼此定期交换PING消息来互相监视。 镜像会话启动后,镜像服务器将识别镜像数据库上最新完成的事务的日志序列号(LSN),并要求主体服务器提供所有后续事务的事务日志,主体服务器向像镜像服务器发生一份当前活动的事务日志,镜像服务器会立即将传入日志镜像到磁盘。主体服务器继续让客户端连接使用主体数据库,每次客户端更新主体数据库时,主体服务器都会在写入到日志时,并将得到的事务日志发送给镜像服务器,镜像服务器会将其镜像到磁盘。同时,镜像服务器将从最早的事务日志开始,将事务应用到镜像数据库中,从而实现主体数据库和镜像数据库同步。 配置实例 了解数据库镜像的基本知识之后,看一看怎样去配置镜像。(使用镜像功能请确保安装了SQLServer2005SP1)。 为做镜像实验,在同一个服务器上同时装三个实例:SERVER01、SERVER02、SERVER03。其中,SERVER01将作为主体服务器、SERVER02作为镜像服务器、SERVER03作为见证服务器。 在完成本实验的第一步需要将主体服务器的DBMirror数据库,完全备份出来,然后在SERVER02上还原,在还原的时候注意使用NORECOVERY,使用镜像数据处于还原状态。在备份之前请将DBMirror数据库的日志模式设置为完整。 完成了上面的准备之后就可以设置镜像。 创建端点 在SERVER01上运行下面的SQL: CREATEENDPOINTDbMirroringSTATE=STARTEDASTCP(LISTENER_PORT=5011)FORDATABASE_MIRRORING(ROLE=PARTNER,ENCRYPTION=SUPPORTED)go 在SERVER02上运行下面的SQL:CREATEENDPOINTDbMirroringSTATE=STARTEDASTCP(LISTENER_PORT=5022)FORDATABASE_MIRRORING(ROLE=PARTNER,ENCRYPTION=SUPPORTED)go 在SERVER03上执行下面的SQL,创建见证服务器。CREATEENDPOINTDbMirroringSTATE=STARTEDASTCP(LISTENER_PORT=5033)FORDATABASE_MIRRORING(ROLE=WITNESS,ENCRYPTION=SUPPORTED)go启动镜像 在前面的规划中SERVER01将作为主体服务器、SERVER02作为镜像服务器,首先在主体服务器上执行下面的SQL: ALTERDATABASEDBMirrorSETPARTNER='TCP://jeffery:5022'--(注:笔记的机器名称是jeffery)go指定SERVER01的通讯伙伴是SERVER02(因为前面定义端点的时候SERVER02的端口号为5022)。 在SERVER02的上执行下面的SQL,指定