欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SQLServer数据事务日志操作

程序员文章站 2022-06-17 21:21:19
日志备份 (log backup) 包括以前日志备份中未备份的所有日志记录的事务日志备份。 (完整恢复模式) 使用SSMS数据库管理工具备份事务日志 1、连接数据库,选择数据库-》右键点击-》选择任务-》选择备份。 2、在备份数据库弹出框中-》备份类型选择事务日志备份-》删除系统自动生成的文件名-》 ......

日志备份 (log backup)

包括以前日志备份中未备份的所有日志记录的事务日志备份。 (完整恢复模式)

使用ssms数据库管理工具备份事务日志

1、连接数据库,选择数据库-》右键点击-》选择任务-》选择备份。

SQLServer数据事务日志操作

2、在备份数据库弹出框中-》备份类型选择事务日志备份-》删除系统自动生成的文件名-》点击添加。

SQLServer数据事务日志操作

3、在选择备份目标弹出框中选择备份路径。

SQLServer数据事务日志操作

4、在定位数据库文件弹出框中-》选择备份文件路径-》输入文件名(注意添加后缀名)-》点击确定。

SQLServer数据事务日志操作

 5、弹出框都点击确定。

SQLServer数据事务日志操作

6、示例结果:

SQLServer数据事务日志操作

使用ssms数据库管理工具还原事务日志

数据库事务日志还原分为两步,第一步为还原数据库,第二步为还原数据库事务日志

第一步还原数据库

1、连接数据库,选择要还原的数据库-》右键点击-》选择任务-》选择还原-》选择数据库。

SQLServer数据事务日志操作

2、在还原数据库弹出框中-》选择设备-》选择要还原的文件的路径。

SQLServer数据事务日志操作

3、在选择备份设备弹出框中-》点击添加。

SQLServer数据事务日志操作

4、在定位备份文件弹出框中-》选择文件所在文件夹-》选择要还原的文件。

SQLServer数据事务日志操作

5、在还原数据库弹出框中-》点击选项选择恢复模式。

SQLServer数据事务日志操作

6、在还原数据库弹出框中-》如果要还原的数据库已存在,选择覆盖现有数据库,如果不存在,不必选择-》选择数据库恢复模式为restore with norecovery。

SQLServer数据事务日志操作

7、点击确定。

SQLServer数据事务日志操作

8、此时数据库状态为正在还原。

SQLServer数据事务日志操作

第二步还原事务日志文件

1、选择正在还原数据库-》右键点击-》选择任务-》选择还原-》选择事务日志。

SQLServer数据事务日志操作

2、在还原事务日志弹出框中-》选择备份介质-》选择路径。

SQLServer数据事务日志操作

3、在选择备份设备弹出框中-》点击添加。

SQLServer数据事务日志操作

4、在定位备份文件弹出框中-》选择文件所在路径-》选择要还原的文件-》点击确定。

 SQLServer数据事务日志操作

5、在还原事务日志弹出框-》选择选项-》选择要还原的恢复模式。

SQLServer数据事务日志操作

6、在还原事务日志弹出框中-》选择回滚未提交的事务-》点击确定。

SQLServer数据事务日志操作

7、还原结果。

SQLServer数据事务日志操作

8、数据库状态。

SQLServer数据事务日志操作

使用t-sql脚本备份数据库事务日志

备份语法:backup log 数据库名 to disk=文件完整路径;

示例:backup log testss to disk='d:\sqltest\backup\sw3.bak';

SQLServer数据事务日志操作

使用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;

SQLServer数据事务日志操作

 

 

 

如果要还原的数据库存在

还原语法:

第一步还原数据库: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;

SQLServer数据事务日志操作

总结

优点:

1、日志备份会节约更多的时间,恢复起来也更快可以及时恢复,数据丢失少。

2、在sql server中,事务日志备份是增量备份,它捕获的是自上一次事务日志备份以来的变化,而差异备份则包含了自上一次完整备份以来所有变化的页。

3、日志备份可以恢复到相应的时间点。

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