|
<!--[if !supportLists]-->第一章 <!--[endif]-->测试背景
SQL SERVER日志传送功能可自动复制数据库的日志文件,并回存到备份服务器 (standby server) 的另外一个数据库。因此可大幅提高SQL Server数据库的可用性。因为备份数据库完整地接收来源数据库的变化情况,所以它就是一份来源数据库的复本。它们之间的差别仅在于日志复制与加载过程所产生的时间差。然而,当主服务器因故障停机时,您就可以将备份服务器更改为新的主服务器。如果原来的主服务器可重新上线使用,那么您可以将其设定为新的备份服务器 - 事实上就是对调两台服务器的角色。
<!--[if !supportLists]-->第二章 <!--[endif]-->测试目的
主要测试SQL SERVER企业版日志自动传送、自动装载功能、主运行服务器与备份服务器的角色切换功能及通过监视服务器对日志传送及备份服务器进行维护。
<!--[if !supportLists]-->第三章 <!--[endif]-->测试结果评判标准
将SQL SERVER主服务器上数据库的内容自动传送并应用到备份服务器的数据库上。
<!--[if !supportLists]-->第四章 <!--[endif]-->测试环境
WINDOWS 2000,<chmetcnv tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="512" unitname="m" w:st="on"><span lang="EN-US">512M</span></chmetcnv> Mem,1CPU,局域网,IP:172.17.8.222以下简称222
WINDOWS 2000,<chmetcnv tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="512" unitname="m" w:st="on"><span lang="EN-US">512M</span></chmetcnv> Mem,1CPU,局域网,IP:172.17.8.220以下简称220
SQL SERVER2000企业版
<!--[if !supportLists]-->第五章 <!--[endif]-->日志传送和加载的测试过程
<!--[if !supportLists]-->5.1 <!--[endif]-->设定日志传送的各种服务器:
主服务器(primary server) 即是实际处理业务的主运行服务器。这里设定222为主服务器。备份服务器(secondaryserver)上存放日志传送的目的数据库,用来复制与回存来主运行数据库的日志文件。这里设定220为备份服务器。监控服务器(monitorserver)用来监控主服务器与备份服务器。这里设定220为备份服务器。SQLServer 2000使用EnterpriseManager的日志传送监控工具来监控每一组传送中的日志资料。Microsoft建议将监控用服务器安装在另一台服务器。
<!--[if !supportLists]-->5.2 <!--[endif]-->日志传送工具:
在SQL SERVER2000中日志传送的配置工作只能由向导完成,不能使用编码实现。
开始前要做的一些检查或操作:
1.检查所有服务器的权限设置,用来设定日志传送的Windows帐号必须拥有所有服务器上SQL Server系统管理者(sa)的权限。
2.在主/备份服务器上建立共享文件夹。首先,将来主运行数据库日志文件所在的目录设定为共享目录。接着在备份服务器上,将打算回存日志文件的目录也共享出来。并将这两个共享目录的权限开放给每一台服务器上SQL Agent所使用的Windows帐号。这里采用administrator登录,将SQLAgent服务指定给administrator用户。
3.建立并初始化备份数据库。
在主数据库上建立备份:
backup database pubs todisk='c:/pubs'
backup log pubs to disk='c:/pubslog'
在备份数据库上:
alter database pubs set single_user
USE master
GO
RESTORE DATABASE pubs
FROM disk='c:/pubs'
WITH STANDBY = 'c:/undopubs.ldf'
RESTORE LOG PUB FROM disk=’c:/pubslog’
WITH STANDBY = 'c:/undopubs.ldf'
alter database pubs set multi_user
4.在Enterprise Manager注册此222和220这两台服务器。
<!--[if !supportLists]-->5.3 <!--[endif]-->测试过程:
在完成上面的准备动作后,可以打开数据库维护计划向导来设定日志传送。依据下列步骤完成:
欢迎画面:
<!--[if gte vml 1]><v:shapetype id="_x0000_t75"coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe"filled="f" stroked="f"><v:stroke joinstyle="miter"/><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"/><v:f eqn="sum @0 1 0"/><v:f eqn="sum 0 0 @1"/><v:f eqn="prod @2 1 2"/><v:f eqn="prod @3 21600 pixelWidth"/><v:f eqn="prod @3 21600 pixelHeight"/><v:f eqn="sum @0 0 1"/><v:f eqn="prod @6 1 2"/><v:f eqn="prod @7 21600 pixelWidth"/><v:f eqn="sum @8 21600 0"/><v:f eqn="prod @7 21600 pixelHeight"/><v:f eqn="sum @10 21600 0"/></v:formulas><v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/><o:lock v:ext="edit" aspectratio="t"/></v:shapetype><v:shape id="_x0000_i1028" type="#_x0000_t75" style='width:281.25pt;height:229.5pt'><v:imagedata src="file:///C:/DOCUME~1/user/LOCALS~1/Temp/msohtml1/01/clip_image001.png"o:title="未命名"/></v:shape><![endif]--><!--[if !vml]-->http://onexin.iyunv.com/source/plugin/onexin_bigdata/file:///C:/DOCUME~1/user/LOCALS~1/Temp/msohtml1/01/clip_image003.png<!--[endif]-->
下列这三个步骤什么都不选:即连点三下“下一步“
在下面的存储事务日志的对话框中选择共享的目录。
<!--[if gte vml 1]><v:shape id="_x0000_i1030"type="#_x0000_t75" style='width:373.5pt;height:287.25pt'><v:imagedata src="file:///C:/DOCUME~1/user/LOCALS~1/Temp/msohtml1/01/clip_image005.gif"o:title="6"/></v:shape><![endif]--><!--[if !vml]-->http://onexin.iyunv.com/source/plugin/onexin_bigdata/file:///C:/DOCUME~1/user/LOCALS~1/Temp/msohtml1/01/clip_image006.gif<!--[endif]-->
接下来选择指定记录传送目的地:点选【Add】按钮后可开启『新增目的数据库』对话框。
里面的信息都是关于备份服务器的信息:
【服务器名称】下拉式选单会列出您在先前准备工作中曾利用Enterprise Manager所注册的Secondary Server名称。在【目录】文字字段里,请输入Secondary Server的目录名称,用以接收来源数据库日志文件复本。注意此名称为本地端路径名称,而不是分享目录名称。
有关数据库的装载状态,您有两种选项可以设定:无恢复模式(No recovery mode)与备用模式(Standby mode)。所谓的『无恢复模式』表示使用者将无法进行备份数据库的查询,唯一可执行的动作只有回存日志文件。而『备用模式』则是将数据库设定成只读状态只要不是在回存数据库的时候,您都可以查询备份数据库中的内容。窗口内还有一个【终止数据库中的使用者(建议选项)】选项,会在回存数据库或是回存日志文件时发生动作。在回存数据库或是日志文件时,『回存程序』将是数据库内唯一的使用者。所以,Microsoft建议您勾选此选项,否则其他使用者可能会影响回存动作的进行。这里选择此选项。
<!--[if gte vml 1]><v:shape id="_x0000_i1032"type="#_x0000_t75" style='width:303pt;height:363pt'><v:imagedata src="file:///C:/DOCUME~1/user/LOCALS~1/Temp/msohtml1/01/clip_image007.gif"o:title="9"/></v:shape><![endif]--><!--[if !vml]-->http://onexin.iyunv.com/source/plugin/onexin_bigdata/file:///C:/DOCUME~1/user/LOCALS~1/Temp/msohtml1/01/clip_image008.gif<!--[endif]-->
在下面这两个对话框中可以查看在主运行服务器上的事务日志备份情况和在备份服务器上日志复制和日志装载的情况。
<!--[if gte vml 1]><v:shape id="_x0000_i1035"type="#_x0000_t75" style='width:310.5pt;height:306.75pt'><v:imagedata src="file:///C:/DOCUME~1/user/LOCALS~1/Temp/msohtml1/01/clip_image009.png"o:title="b"/></v:shape><![endif]--><!--[if !vml]-->http://onexin.iyunv.com/source/plugin/onexin_bigdata/file:///C:/DOCUME~1/user/LOCALS~1/Temp/msohtml1/01/clip_image011.png<!--[endif]-->
<!--[if !supportLists]-->第七章 <!--[endif]-->日志传送角色转变的测试过程
日志传送支持角色转变,而角色转变需要下列基本步骤:
一、创建数据转换服务 (DTS) 包,将当前的主服务器复制到当前的辅助服务器。
二、创建作业,从当前的主服务器备份 syslogins,并将文件复制到当前的辅助服务器的某个目录下,然后执行该 DTS 包。
三、执行角色更改,使当前的辅助服务器成为当前的主服务器。
在执行日志传送角色更改前,该日志传送对的维护计划必须在辅助服务器上已经存在。可以使用数据库维护计划向导创建维护计划,或者通过使用主数据库维护计划用户界面上的"添加辅助服务器"对话框来添加辅助服务器。
<!--[if !supportLists]-->7.1 <!--[endif]-->创建 DTS 包
使用 DTS 设计器在当前的主服务器上创建DTS 包。将登录从当前的主服务器复制到当前的辅助服务器。该包应使用位于设计器任务列表中的"传输登录任务"。
在"源"服务器列表中的"源"选项卡上的"传输登录"对话框内,输入源服务器(当前的主服务器)。
<!--[if gte vml 1]><v:shape id="_x0000_i1037"type="#_x0000_t75" style='width:372.75pt;height:240.75pt'><v:imagedata src="file:///C:/DOCUME~1/user/LOCALS~1/Temp/msohtml1/01/clip_image013.png"o:title="1"/></v:shape><![endif]--><!--[if !vml]-->http://onexin.iyunv.com/source/plugin/onexin_bigdata/file:///C:/DOCUME~1/user/LOCALS~1/Temp/msohtml1/01/clip_image015.png<!--[endif]-->
<!--[if gte vml 1]><v:shape id="_x0000_i1027"type="#_x0000_t75" style='width:449.25pt;height:240.75pt'><v:imagedata src="file:///C:/DOCUME~1/user/LOCALS~1/Temp/msohtml1/01/clip_image017.png"o:title="2"/></v:shape><![endif]--><!--[if !vml]-->http://onexin.iyunv.com/source/plugin/onexin_bigdata/file:///C:/DOCUME~1/user/LOCALS~1/Temp/msohtml1/01/clip_image019.png<!--[endif]-->
在"类型"列表中,选择"操作系统命令 (CmdExec)"选项。在"命令"文本框内输入如下命令:
bcp master..syslogins outlocalpath/syslogins.dat /N /S current_primary_servername /U sa /P sa_password
单击"高级"选项卡,然后在"成功时操作"列表中选择"转到下一步"。在"失败时操作"列表中选择"退出报告失败的作业"。
复制文件
<!--[if gte vml 1]><v:shape id="_x0000_i1026"type="#_x0000_t75" style='width:366pt;height:264pt'><v:imagedata src="file:///C:/DOCUME~1/user/LOCALS~1/Temp/msohtml1/01/clip_image021.png"o:title="12"/></v:shape><![endif]--><!--[if !vml]-->http://onexin.iyunv.com/source/plugin/onexin_bigdata/file:///C:/DOCUME~1/user/LOCALS~1/Temp/msohtml1/01/clip_image023.png<!--[endif]-->
在"类型"列表中,选择"操作系统命令 (CmdExec)"选项。在"命令"文本框内输入如下命令:
DTSRun /Scurrent_primary_server/Uuser_nName /Ppassword /Npackage_name /Mpackage_password
在"新建作业属性"对话框中单击"调度"选项卡,然后创建运行一次或反复运行的作业调度。
<!--[if !supportLists]-->7.3 <!--[endif]-->执行角色转变
必须由 SQL Server 管理员执行服务器角色转变。在标记为当前主服务器的 SQL Server 实例上运行 sp_change_primary_role。下例显示如何使主数据库不再是主数据库。current_primary_dbname 是当前主数据库的名称。
EXEC sp_change_primary_role
@db_name = 'current_primary_dbname',
@backup_log = 1,
@terminate = 0,
@final_state = 2,
@access_level = 1
GO
在标记为当前辅助服务器的 SQL Server 实例上运行 sp_change_secondary_rol。下例显示如何使辅助数据库成为主数据库。current_secondary_dbname 是当前辅助数据库的名称。
EXEC sp_change_secondary_role
@db_name = 'current_secondary_dbname',
@do_load = 1,
@force_load = 1,
@final_state = 1,
@access_level = 1,
@terminate = 1,
@stopat = NULL
GO
在标记为监视器的 SQL Server 实例上运行 sp_change_monitor_role。下例显示如何更改监视器以反映新的主数据库。new_source_directory 是主服务器转储事务日志的位置的路径。
EXEC sp_change_monitor_role
@primary_server = 'current_primary_server_name',
@secondary_server = 'current_secondary_server_name',
@database = 'current_secondary_dbname',
@new_source = 'new_source_directory'
GO
在现在标记为主服务器(从前的辅助服务器)的 SQL Server 实例上运行 sp_resolve_logins。必须从目标数据库运行存储过程。
下例显示如何用从前的主服务器中的登录解析新的主服务器上的登录。destination_path 是在复制文件作业步骤中指定的目的共享。filename 与 BCP 输出作业步骤中指定的相同,dbname为新主数据库的名称。
EXEC sp_resolve_logins
@dest_db = 'dbname',
@dest_path = 'destination_path',
@filename = 'filename'
GO
<!--[if !supportLists]-->第八章 <!--[endif]-->测试结论
根据对SQL SERVER日志传送功能的测试情况,可以看出SQL SERVER2000企业版中大大加强了数据库可用性这方面的功能。备份数据库不但增加了数据库的可用性,而且在主运行数据库处于高峰时也可以分担一些查询方面的业务。但目前SQL SERVER2000企业版中的日志传送功能还只能利用数据库维护计划向导来完成,出现错误不容易调试。另外主服务器和备份服务器进行角色切换的过程比较复杂,且不易成功。当切换成功后,从前的辅助服务器现在是当前的主服务器,并准备承担主服务器的功能。而从前的主服务器已不再是日志传送对的一方了。必须将从前的主服务器作为辅助服务器添加到新的主服务器,才能在两个数据库之间建立日志传送对。目前,原主服务器变化备份服务器一过程并不能自动切换。
<!--[if !supportLists]-->第九章 <!--[endif]-->附件
无
|
|
|