日志传送功能可自动复制数据库的交易日志文件,并回存到备援服务器 (standby server) 的另外一个数据库。因此可大幅提高SQL Server数据库之可用性。因为备援数据库完整地接收来源数据库的异动情况,所以它就是一份来源数据库的复本 - 差别仅在于资料复制与加载过程所产生的时间差。然而,当主要服务器停摆时,您就可以将备援服务器更改为新的主要服务器。如果原来的主要服务器可重新上线使用,那么您可以将其设定为新的备援服务器 - 事实上就是对调两台服务器的角色。
在SQL Server 2000企业版或开发版之中,Microsoft在Enterprise Manager内提供了一项日志传送(Log Shipping)的功能 - 为数据库维护计划精灵的其中一部份。在使用之前的SQL Server时,您需要自行建立日志传送系统。
设定日志传送
主要服务器(primary server) 即是实际处理资料的正式服务器;此服务器内拥有来源数据库。次要服务器(secondary server)上存放目的数据库,用来复制与回存来源数据库的交易日志文件。监控服务器(monitor server)用来监控主要服务器与次要服务器。与SQL Server 7.0不同的是(SQL Server 7.0是在次要服务器上监控日志传送动作),SQL Server 2000使用Enterprise Manager的日志传送监控工具来监控每一组传送中的日志资料。Microsoft建议您在另外一台监控用服务器安装这个工具程序。
您可以利用Enterprise Manager的数据库维护计划精灵设定SQL Server 2000的日志传送。但是在您激活精灵之前,您必须先进行某些准备工作。一开始请先遵循下列步骤:
1.决定一组要设定日志传送的服务器(即日志传送过程之中,主要服务器与次要服务器为何)。
2. 选择一台监控服务器。最好不同于主要服务器或次要服务器。
3. 设定所有服务器之安全性。您用来设定日志传送的Windows帐号必须拥有所有服务器上SQL Server系统管理者(sa)的权限。
4. 在主要/次要服务器上建立分享资料夹。首先,将来源数据库交易日志文件所在的目录设定为分享目录。接着在次要服务器上,将您打算回存交易日志文件的目录也分享出来。为了清楚辨别各分享目录,请在分享名称内注明服务器与数据库之名称。如果分享目录名称已存在,您可能需要从分享目录中删除或是搬移其它档案,特别是旧的日志备份文件。然后再将这些分享目录的权限开放给每一台服务器上SQL Agent所使用的Windows帐号。
5. 决定如何建立并初始化目的地数据库。您可以在日志传送设定过程就先建立与初始同步化目的地数据库,否则您必须手动进行初始数据库之回存动作。
6. 在Enterprise Manager注册此三台服务器(即主要、次要与监控服务器)。
在您完成这些准备动作时,您就可以准备激活数据库维护计划精灵来设定日志传送。您可以先检视日志传送过程的五个连续步骤,如图1所示:
图1:SQL Server 2000日志传送的设定步骤。
前两个为选择性(optional)步骤。如果您尚未同步化来源与目的数据库,则步骤1会为您先备份来源数据库,然后执行同步化动作。在步骤2时,精灵会将备份文件复制到次要服务器,并回存到目的地数据库。
精灵一定会执行其余三项步骤。在步骤3时,精灵将在主要服务器上建立一个SQL Agent工作(job)。此工作将会周期性地把交易日志文件内容备份到磁盘档案内。精灵也会在次要服务器上建立一个传送日志的数据库维护计划;此计画包含两个SQL Agent工作:一个是将交易日志文件复制到次要服务器(步骤4),另一个则是将交易日志文件回存到目的数据库(步骤5)。这些步骤将建立一组日志传送服务器(互相有日志传送关系的两个数据库)。如果您想要额外提供容错功能或是设定一台报表服务器,那么您可以将主要服务器与另外一台次要服务器组合在一起,再设定一组日志传送配对服务器。
准备工作
1. 准备 Primary Server (以下为Ztao-1) 及 Secondary Server (以下为IntronTest)
2. 将要作 Log Shipping 的数据库(以下为IntronERP)之还原模型(Recovery Model)设定为完整(FULL)。
3. 将两台计算机的SQL Server服务账号加入Administrator群组
4. 建立Primary Server 备份Log的数据夹
a. 建立C:\Logfile,以存放Primary Server数据库Transaction Log的备份
b. 将C:\Logfile作数据分享,分享目录的权限开放给SQL Agent所使用的Windows帐号。
5. 建立 Secondary Server 还原的数据夹(在Secondary Server)
a. 建立C:\Shippedlog数据夹以存放从Primary Server传送过来的Transaction log 的备份
b. 建立 C:\Logfile数据夹,当角色交换后,可存放新Primary Server的数据库Transaction Log
c. 将C:\Logfile数据夹作资源共享,分享目录的权限开放给SQL Agent所使用的Windows帐号。
6. 在Primary Server中,新增 Secondary Server的注册信息