SQLServer数据事务日志操作

邮差的信 提交于 2020-02-21 01:31:37

日志备份 (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、日志备份可以恢复到相应的时间点。

缺点:恢复过程比较慢,需要恢复多个备份包括完整备份和日志备份。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!