日志传送功能可自动复制数据库的交易日志文件并回存到备援服务器 (standby server) 的另外一个数据库因此可大幅提高SQL Server数据库之可用性因为备援数据库完整地接收来源数据库的异动情况所以它就是一份来源数据库的复本 差别仅在于资料复制与加载过程所产生的时间差然而当主要服务器停摆时您就可以将备援服务器更改为新的主要服务器如果原来的主要服务器可重新上线使用那么您可以将其设定为新的备援服务器 事实上就是对调两台服务器的角色
在SQL Server 企业版或开发版之中Microsoft在Enterprise Manager内提供了一项日志传送(Log Shipping)的功能 为数据库维护计划精灵的其中一部份在使用之前的SQL Server时您需要自行建立日志传送系统
设定日志传送
主要服务器(primary server) 即是实际处理资料的正式服务器;此服务器内拥有来源数据库次要服务器(secondary server)上存放目的数据库用来复制与回存来源数据库的交易日志文件监控服务器(monitor server)用来监控主要服务器与次要服务器与SQL Server 不同的是(SQL Server 是在次要服务器上监控日志传送动作)SQL Server 使用Enterprise Manager的日志传送监控工具来监控每一组传送中的日志资料Microsoft建议您在另外一台监控用服务器安装这个工具程序
您可以利用Enterprise Manager的数据库维护计划精灵设定SQL Server 的日志传送但是在您激活精灵之前您必须先进行某些准备工作一开始请先遵循下列步骤
决定一组要设定日志传送的服务器(即日志传送过程之中主要服务器与次要服务器为何)
选择一台监控服务器最好不同于主要服务器或次要服务器
设定所有服务器之安全性您用来设定日志传送的Windows帐号必须拥有所有服务器上SQL Server系统管理者(sa)的权限
在主要/次要服务器上建立分享资料夹首先将来源数据库交易日志文件所在的目录设定为分享目录接着在次要服务器上将您打算回存交易日志文件的目录也分享出来为了清楚辨别各分享目录请在分享名称内注明服务器与数据库之名称如果分享目录名称已存在您可能需要从分享目录中删除或是搬移其它档案特别是旧的日志备份文件然后再将这些分享目录的权限开放给每一台服务器上SQL Agent所使用的Windows帐号
决定如何建立并初始化目的地数据库您可以在日志传送设定过程就先建立与初始同步化目的地数据库否则您必须手动进行初始数据库之回存动作
在Enterprise Manager注册此三台服务器(即主要次要与监控服务器)
在您完成这些准备动作时您就可以准备激活数据库维护计划精灵来设定日志传送您可以先检视日志传送过程的五个连续步骤如图所示
图SQL Server 日志传送的设定步骤
前两个为选择性(optional)步骤如果您尚未同步化来源与目的数据库则步骤会为您先备份来源数据库然后执行同步化动作在步骤时精灵会将备份文件复制到次要服务器并回存到目的地数据库
精灵一定会执行其余三项步骤在步骤时精灵将在主要服务器上建立一个SQL Agent工作(job)此工作将会周期性地把交易日志文件内容备份到磁盘档案内精灵也会在次要服务器上建立一个传送日志的数据库维护计划;此计画包含两个SQL Agent工作一个是将交易日志文件复制到次要服务器(步骤)另一个则是将交易日志文件回存到目的数据库(步骤)这些步骤将建立一组日志传送服务器(互相有日志传送关系的两个数据库)如果您想要额外提供容错功能或是设定一台报表服务器那么您可以将主要服务器与另外一台次要服务器组合在一起再设定一组日志传送配对服务器
准备工作
准备 Primary Server (以下为Ztao) 及 Secondary Server (以下为IntronTest)
将要作 Log Shipping 的数据库(以下为IntronERP)之还原模型(Recovery Model)设定为完整(FULL)
将两台计算机的SQL Server服务账号加入Administrator群组
建立Primary Server 备份Log的数据夹
a 建立C:\Logfile以存放Primary Server数据库Transaction Log的备份
b 将C:\Logfile作数据分享分享目录的权限开放给SQL Agent所使用的Windows帐号
建立 Secondary Server 还原的数据夹(在Secondary Server)
a 建立C:\Shippedlog数据夹以存放从Primary Server传送过来的Transaction log 的备份
b 建立 C:\Logfile数据夹当角色交换后可存放新Primary Server的数据库Transaction Log
c 将C:\Logfile数据夹作资源共享分享目录的权限开放给SQL Agent所使用的Windows帐号
在Primary Server中新增 Secondary Server的注册信息
逐步设定
在Primary Server中设定Standby Server及Log shipping
开启Enterprise Manager由工具中点选数据库维护计划
欢迎画面
选取数据库勾选Log shipping
更新数据最佳化信息维持预设不用选择!
数据库完整性检查维持预设不用选择!
指定数据库备份计划一般不用选择!
指定交易记录文件备份磁盘目录储存备份文件的目录指向Primary Server上存放资料日志文件的目录位置!
指定交易记录共享在此窗口中您必须指定主服务器上的分享目录名称可以按下【…】按钮后浏览目录名称
指定记录传送目的地点选【Add】按钮后可开启『新增目的数据库』对话框
新增目的数据库输入所有Secondary Server的相关信息
【伺服务器名称】下拉式选单会列出您在先前准备工作中曾利用Enterprise Manager所注册的Secondary Server名称在【目录】文字字段里请输入Secondary Server的目录名称用以接收来源数据库交易日志文件复本;此名称为本地端路径名称而不是分享目录名称
有关数据库的加载状态您有两种选项可以设定不复原模式(No recovery mode)与待命模式(Standby mode)所谓的『不复原模式』表示使用者将无法进行资料查询唯一可执行的动作只有回存交易日志文件而『待命模式』则是将数据库设定成只读状态;只要不是在回存数据库的时候您都可以查询资料窗口内还有一个【终止数据库中的使用者(建议选项)】选项会在回存数据库或是回存交易日志文件时发生动作在回存数据库或是交易日志文件时『回存程序』将是数据库内唯一的使用者所以Microsoft建议您勾选此选项否则其它使用者可能会影响回存动作的进行
指定记录传送目的地该设定完成
初始化目的服务器可以挑选最近一次的备份资料;或是建立一份新的备份资料对大型数据库而言使用既有的备份资料会比较有效率然而从那次备份之后的所有交易日志文件都必须存在于主要服务器上交易日志文件的分享目录之中精灵才有办法复制与回存到次要服务器如果数据库不是很大那么让精灵产生新的备份将会比较简单
记录传送排程可以设定来源数据库上交易日志文件的备份频率;也可以设定次要服务器上SQL Agent工作 (由精灵建立的用来复制与加载交易日志文件) 的频率日志传送的频率可粗略设定为一分钟一次;但以大型数据库来说