SQL Server 完整or大容量模式下的事务日志
2015-10-08 14:11
316 查看
SQL Server 完整模式下的事务日志
1.在完整恢复模式下,日志作为恢复数据的重要组成部分,日志的管理和对日志空间使用的管理则需要重视
2.在完整恢复模式下,CheckPoint不会截断日志。只有对日志的备份才会将MinLSN向后推并截断日志
3.从日志恢复数据的原理是Redo,也就是将日志中记载的事务再重做一遍。这个开销和从完整或差异备份中恢复相比,要大很多。因此尽可能的减少利用日志的恢复量。
而使用完整或者差异备份来恢复更多的数据
SQL Server 大容量模式下的事务日志
1.微软推荐的最佳实践是在进行大量数据操作时(比如索引的创建和rebuilt,select into操作等)
暂时由完整恢复模式切换到大容量恢复模式来节省日志,这个转换并不会破坏日志链!
两种情况会破坏你的日志链
1.数据库的恢复模型被切换到了简单(SIMPLE)后,再次被切换回完整或是批量日志。
2.Backup log命令运行时,附带了TRUNCATE_ONLY/NO_LOG选项。
实例:
一个完整备份 DB.BAK
两个事务日志备份 DB1.TRN DB2.TRN
还原时,先还原完整备份DB.BAK,然后依次还原DB1.TRN DB2.TRN,具体的t-sql 操作 可以看我另外一篇文章(sqlserver 备份还原)
[b] 这里指的注意的是:如果在中途将完整模式切换成简单模式,又切换成完整模式~~那么你完蛋了,你无法恢复备份了![/b]
尾部日志备份:
在DB_1处做了完整备份,并且接下来两次分别做了两次日志备份(Log_1和Log_2),在Log_2备份完不久服务器由于数据所在磁盘损坏。这时如果日志文件完好,则可以通过备份
尾部日志(Tail of log)后,从DB_1开始恢复,依次恢复Log_1,Log_2,尾部日志来将数据库恢复到灾难发生时的时间点。理论上可以使数据的损失为0。
[b]
[/b]
如理利用尾部日志恢复数据库呢?你可以看我的这篇文章
SQL Server中结尾日志的两种方法
[b]参考文献:[/b]
/article/4677383.html
/article/1694797.html
1.在完整恢复模式下,日志作为恢复数据的重要组成部分,日志的管理和对日志空间使用的管理则需要重视
2.在完整恢复模式下,CheckPoint不会截断日志。只有对日志的备份才会将MinLSN向后推并截断日志
3.从日志恢复数据的原理是Redo,也就是将日志中记载的事务再重做一遍。这个开销和从完整或差异备份中恢复相比,要大很多。因此尽可能的减少利用日志的恢复量。
而使用完整或者差异备份来恢复更多的数据
SQL Server 大容量模式下的事务日志
1.微软推荐的最佳实践是在进行大量数据操作时(比如索引的创建和rebuilt,select into操作等)
暂时由完整恢复模式切换到大容量恢复模式来节省日志,这个转换并不会破坏日志链!
两种情况会破坏你的日志链
1.数据库的恢复模型被切换到了简单(SIMPLE)后,再次被切换回完整或是批量日志。
2.Backup log命令运行时,附带了TRUNCATE_ONLY/NO_LOG选项。
实例:
一个完整备份 DB.BAK
两个事务日志备份 DB1.TRN DB2.TRN
还原时,先还原完整备份DB.BAK,然后依次还原DB1.TRN DB2.TRN,具体的t-sql 操作 可以看我另外一篇文章(sqlserver 备份还原)
[b] 这里指的注意的是:如果在中途将完整模式切换成简单模式,又切换成完整模式~~那么你完蛋了,你无法恢复备份了![/b]
尾部日志备份:
在DB_1处做了完整备份,并且接下来两次分别做了两次日志备份(Log_1和Log_2),在Log_2备份完不久服务器由于数据所在磁盘损坏。这时如果日志文件完好,则可以通过备份
尾部日志(Tail of log)后,从DB_1开始恢复,依次恢复Log_1,Log_2,尾部日志来将数据库恢复到灾难发生时的时间点。理论上可以使数据的损失为0。
[b]
[/b]
如理利用尾部日志恢复数据库呢?你可以看我的这篇文章
SQL Server中结尾日志的两种方法
[b]参考文献:[/b]
/article/4677383.html
/article/1694797.html
相关文章推荐
- Oracle创建表空间、创建用户以及授权、查看权限
- oracle建表、序列、触发器
- DBvisualizer中SQL Commander出现中文乱码
- MySQL 数据库导出
- (1) SQL简介
- SQL Server 简单模式下的事务日志
- 执行数据库操作失败: 连接未关闭。 连接的当前状态为打开
- Memcached深度分析
- SQl格式化日期时间
- SQL 注入
- Mysql字符串处理函数详细介绍、总结
- C#操作ACCESS数据库
- mysql innobackupex 备份及恢复
- RHEL6.5编译安装MySQL5.6.26教程
- MySQL存储过程详解 mysql 存储过程
- 数据库不支持中文解决方案(mysql)
- MySQL 获得当前日期时间(以及时间的转换)
- SQLite SQLITE_MASTER
- mysql workbench建表时PK,NN,UQ,BIN,UN,ZF,AI的含义
- Oracle统一访问代理层方案