SQLServer数据事务日志操作
日志备份 (log backup)
包括以前日志备份中未备份的所有日志记录的事务日志备份。 (完整恢复模式)
使用SSMS数据库管理工具备份事务日志
1、连接数据库,选择数据库-》右键点击-》选择任务-》选择备份。
2、在备份数据库弹出框中-》备份类型选择事务日志备份-》删除系统自动生成的文件名-》点击添加。
3、在选择备份目标弹出框中选择备份路径。
4、在定位数据库文件弹出框中-》选择备份文件路径-》输入文件名(注意添加后缀名)-》点击确定。
5、弹出框都点击确定。
6、示例结果:
使用SSMS数据库管理工具还原事务日志
数据库事务日志还原分为两步,第一步为还原数据库,第二步为还原数据库事务日志
第一步还原数据库
1、连接数据库,选择要还原的数据库-》右键点击-》选择任务-》选择还原-》选择数据库。
2、在还原数据库弹出框中-》选择设备-》选择要还原的文件的路径。
3、在选择备份设备弹出框中-》点击添加。
4、在定位备份文件弹出框中-》选择文件所在文件夹-》选择要还原的文件。
5、在还原数据库弹出框中-》点击选项选择恢复模式。
6、在还原数据库弹出框中-》如果要还原的数据库已存在,选择覆盖现有数据库,如果不存在,不必选择-》选择数据库恢复模式为RESTORE WITH NORECOVERY。
7、点击确定。
8、此时数据库状态为正在还原。
第二步还原事务日志文件
1、选择正在还原数据库-》右键点击-》选择任务-》选择还原-》选择事务日志。
2、在还原事务日志弹出框中-》选择备份介质-》选择路径。
3、在选择备份设备弹出框中-》点击添加。
4、在定位备份文件弹出框中-》选择文件所在路径-》选择要还原的文件-》点击确定。
5、在还原事务日志弹出框-》选择选项-》选择要还原的恢复模式。
6、在还原事务日志弹出框中-》选择回滚未提交的事务-》点击确定。
7、还原结果。
8、数据库状态。
使用T-SQL脚本备份数据库事务日志
备份语法:backup log 数据库名 to disk=文件完整路径;
示例:backup log testss to disk='D:\SqlTest\backup\sw3.bak';
使用T-SQL脚本还原数据库事务日志
如果要还原的数据库不存在
还原语法:
第一步还原数据库:restore database 数据库名 from disk=文件完整路径 with norecovery;
第二步还原事务日志:restore log 数据库名 from disk=文件完整路径 with recovery;
示例:
第一步还原数据库:restore database testss from disk='D:\SqlTest\backup\sw1.bak' with norecovery;
第二步还原日志文件:restore log testss from disk='D:\SqlTest\backup\sw11.bak' with recovery;
如果要还原的数据库存在
还原语法:
第一步还原数据库:restore database 数据库名 from disk=文件完整路径 with norecovery,replace;
第二步还原事务日志:restore log 数据库名 from disk=文件完整路径 with recovery;
示例:
第一步还原数据库:restore database testss from disk='D:\SqlTest\backup\sw1.bak' with norecovery,replace;
第二步还原日志文件:restore log testss from disk='D:\SqlTest\backup\sw11.bak' with recovery;
总结
优点:
1、日志备份会节约更多的时间,恢复起来也更快可以及时恢复,数据丢失少。
2、在SQL Server中,事务日志备份是增量备份,它捕获的是自上一次事务日志备份以来的变化,而差异备份则包含了自上一次完整备份以来所有变化的页。
3、日志备份可以恢复到相应的时间点。
缺点:恢复过程比较慢,需要恢复多个备份包括完整备份和日志备份。