在使用SQL Server数据库日志解析方式复制数据库前,需要首先启用数据库完整日志并对数据库进行完整备份。随着业务系统的持续运行,数据库在线日志文件会变得越来越大,需要定期备份收缩在线日志。
1 启用数据库完整日志
打开SQL Server Management Studio,右键点击将要复制的数据库,在弹出的快捷菜单中选择【属性】命令,弹出【数据库属性】对话框,在【选择页】中选择【选项】,界面如下:
在【恢复模式】下拉框中选择【完整】,结果如下:
选择【确定】按钮关闭对话框。
2 备份数据库
当数据库恢复模式由【简单】调整为【完整】后,执行以下数据库完整备份操作,在SQL Server Management Studio中,右键点击将要复制的数据库,在弹出的快捷菜单中选择【任务】【备份】命令,弹出【备份数据库】对话框,确认【备份类型】为完整,指定备份文件路径,界面如下:
选择【确定】按钮,执行数据库备份。
注意:当数据库【恢复模式】由【简单】设置为【完整】,必须对数据库进行完整备份,数据库日志才可以正常记录事务操作。
3 备份并收缩数据库在线日志
定期手动或通过维护计划执行以下命令释放数据库在线日志磁盘空间占用,假定数据库名称为test,对应日志文件名为test_log。
DECLARE @str varchar(100)
--按日备份日志
SET @str='d:\temp\test_log_'+convert(varchar,getdate(),23)+'.log';
backup log test to disk= @str;
--收缩日志
use test;
DBCC SHRINKFILE (test_log, 1);
对于备份日志文件,可以定期在对应目录下手工删除3天前的文件,或者通过维护计划执行相关删除操作。