配置业务端和容灾端容灾关系
- 在主数据库上,右键单击需要进行备份的数据库实例(以“testa”为例),选择 ,弹出“Database Properties”界面。
- 在“Database Properties”中单击 ,勾选“Enable this as a primary database in a log shipping configuration”,再单击“Backup Settings”,如图1所示。
- 在事务日志备份设置窗口,配置下述参数,如图2所示,设置完成后,单击“OK”。
- 主服务器中设置的共享文件夹路径。
- 本地路径,例如“c:\Logback3”。
由于备份文件夹位于主服务器上,需要键入该文件夹的本地路径。
需要指出的是,必须将此文件夹的读写权限授予此服务器实例的SQL Server服务账号,而且还必须将读权限授予该复制作业的代理帐户,通常是辅助服务器实例上的SQL Server代理服务账号。
- 配置“Delete files older than”和“Alert if no backup occurs within”参数。
- 单击“Schedule”并根据需要调整SQL Server代理计划。
这里主要是用来设定在主服务器端多长时间向主服务器共享文件夹中刷新一次日志,默认是15分钟。
对于多久向文件夹中刷日志是对在灾备场景中RPO性能的一个很重要因素,即刷新时间越短,恢复时损失的数据可能会越少,比如设置15分钟,则当主数据库发生故障以后,通过辅助数据库恢复数据时,则在故障前15分钟以内对主数据库做的更改将丢失,不过这个也跟后面将日志多久刷新到辅助数据库中时间设置有关。需要考虑到与多久删除文件时间相协调,避免因为磁盘中累计文件过多。
- 选择是否对日志文件进行压缩处理,用户根据需求进行设置。
设置备份压缩有3种方式,包括使用默认服务器设置,压缩备份和不压缩备份。可以自由选择。一般选择压缩备份,实现数据的快速传送备份恢复。
- 在“Database Properties”中单击“Add”,连接辅助数据库,如图3所示。
- 在弹出的“Secondary Database Settings”中,单击“Connect”,弹出“Connect to Server”窗口,然后选择一个数据库,例如:“192.168.250.54\SQLSERVERTEST”,单击“Connect”,连接辅助数据库,如图4所示。
- 在“Secondary Database Settings”中,确认数据库实例的名称无误后,勾选“Yes, generate a full backup of the primary database and restore it into the secondary database (and create the secondary database if it dosen't exist) ”,“Restore Options”可以保持默认,如图5所示。
- 单击“Copy Files”,在界面填写辅助服务器上的共享文件夹路径,例如“\\192.168.250.54\LogData”,并根据需求配置“Delete copied files after”,以及在“Schedule中”设置向辅助服务器共享文件夹复制日志的时间间隔,需要和主数据库保持一致,如图6所示。
- 单击“Restore Transaction Log”,配置恢复模式后,如图7所示,单击“OK”。
- 无恢复模式(No recovery mode):既不前滚也不回滚未提交的事务,数据不可读。选择此模式,则在辅助服务器上的灾备数据库会一直呈现“restoring”状态,直到主数据库出现灾难需要手动去恢复。
- 备用模式(Standby mode):在恢复日志期间回滚所有未提交的事务,并且将所有未提交的事务保存为一个单独的TUF(Transaction Undo File)文件,
恢复过程通过该文件来维护事务的完整性。备用模式中的复选框勾选则当日志恢复的时候,断开所有用户的连接,如果有一个用户没有断开,则还原无法进行。选择此模式,则在辅助数据库上会呈现 “standby/read-only”状态,并且会在还原作业发生后恢复和主数据库一样的状态。
一般情况下选择“Standby mode”,以及设置“Delay restoring backups at least”(默认为零),或者当恢复计划未执行时的报警时间“Alert if no restore occurs within”以及在“Schedule”中设置多久执行恢复计划时间(即通过辅助服务器共享文件夹中日志来进行还原任务)。
- 如图8所示,连接建立。主数据库会定时将日志复制到本地共享文件夹,同时辅助数据库也会将日志文件拷贝到自己本地的共享文件夹中,辅助数据库会呈现 “Standby / Read-Only”状态。最后,在辅助数据库上进行还原作业。