recovery simple

循环日志,空间自动回收,不可备份日志,恢复时仅能恢复到数据库备份时间点;
用于落地数据或测试环境或OLAP,不推荐用于生产OLTP
有时候distribution过大也可置为simple
 
recovery bulk_logged
常规操作日志正常记录,特定操作时仅记录少量日志;
恢复时特定操作将做回滚处理,其他操作正常恢复到当前
 
特定操作:
1、select * into test2 from test1 where 1=1
2、DTS数据导入
3、bulk into
 
注意:特定操作不等于大数据操作,例如:
insert into test2 select * from test1
delete  from test2 where id<100000
将会记录全部日志 
 
 
优化表复制
--1、改为bulk_logged恢复模式
--操作前日志使用率
dbcc sqlperf(logspace)
alter database testdb set recovery bulk_logged
 
--2、推荐将sql1替换sql2
sql1:select * into test2 from test1 where 1=1 
 
sql2:insert into test2 select * from test1
 
--操作后日志使用率,发现变化不大
dbcc sqlperf(logspace)
 
--3、重建索引
create index on test2
 
--4、重新改为full恢复模式
alter database testdb set recovery full
 
即优化了日志空间和插入速度,又优化了索引(大量数据插入,会引起大量索引碎片)
 
full recovery <--> BULK_LOGGED recovery
切换时不会造成日志链断裂,所以也不用担心日志不能备份
 
 
recovery full
通过事务日志将数据库还原到任意的时刻点,
full模式下的空间优化:
 
一、事务内进行大批量的数据删除、更新操作,引起的日志爆满
1.多次少量原则,每次写入一定量的日志
2.手工触发checkpoint,每次发生checkpoint时会自动截断事务日志
 
二、复制时引起的日志爆满
复制可以在simple恢复模式下进行
 
三、完整恢复模式下引起的日志爆满
1.配合备份策略,进行日志归档
2.定期删除历史日志归档文件
 
四、执行备份的时候,可以截断部分事务日志
 
五、大批量数据导入的时引起的日志爆满
将恢复模式暂时改为BULK_LOGGED(仅记录回滚所需日志,不记录插入日志),完成后及时改为full
 
 
六、使用警报,可以实现日志使用率超过一定量自动归档
 
七、查看日志空间使用率dbcc sqlperf(logspace)
 
 
 
各模式间切换时注意点
 
1、SIMPLE->FULL
完成切换后,需要立刻进行差异备份,恢复日志链
 
2、FULL->SIMPLE
先进行日志备份,因为切换会中断日志链
 
3、BULK_LOGGED<->full 自由切换
 
4、simple<->BULK_LOGGED 不常见

sqlserver 恢复模式及避免日志爆满的方法的更多相关文章

  1. SQL Server中的事务日志管理(6/9):大容量日志恢复模式里的日志管理

    当一切正常时,没有必要特别留意什么是事务日志,它是如何工作的.你只要确保每个数据库都有正确的备份.当出现问题时,事务日志的理解对于采取修正操作是重要的,尤其在需要紧急恢复数据库到指定点时.这系列文章会 ...

  2. SQL Server中的事务日志管理(5/9):完整恢复模式里的日志管理

    当一切正常时,没有必要特别留意什么是事务日志,它是如何工作的.你只要确保每个数据库都有正确的备份.当出现问题时,事务日志的理解对于采取修正操作是重要的,尤其在需要紧急恢复数据库到指定点时.这系列文章会 ...

  3. SQL Server数据库的三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式(转载)

    SQL Server数据库有三种恢复模式:简单恢复模式.完整恢复模式和大容量日志恢复模式: 1.Simple 简单恢复模式, Simple模式的旧称叫”Checkpoint with truncate ...

  4. SQL Server数据库有三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式

    SQL Server数据库有三种恢复模式:简单恢复模式.完整恢复模式和大容量日志恢复模式: 1.Simple 简单恢复模式, Simple模式的旧称叫”Checkpoint with truncate ...

  5. SQL Server中的事务日志管理(4/9):简单恢复模式里的日志管理

    当一切正常时,没有必要特别留意什么是事务日志,它是如何工作的.你只要确保每个数据库都有正确的备份.当出现问题时,事务日志的理解对于采取修正操作是重要的,尤其在需要紧急恢复数据库到指定点时.这系列文章会 ...

  6. Sqlserver CheckPoint 在三种恢复模式中的不同表现

    准备: 日志截断在下列情况下发生: 1.执行完 BACKUP LOG 语句时.2.在每次处理检查点时(如果数据库使用的是简单恢复模式).这包括 CHECKPOINT 语句所产生的显式检查点和系统生成的 ...

  7. 浅谈SQL Server中的事务日志(四)----在完整恢复模式下日志的角色

    简介 生产环境下的数据是如果可以写在资产负债表上的话,我想这个资产所占的数额一定不会小.而墨菲定律(事情如果有变坏的可能,无论这种可能性有多小,它总会发生)仿佛是给DBA量身定做的.在上篇文章介绍的简 ...

  8. 浅谈SQL Server中的事务日志(三)----在简单恢复模式下日志的角色

    简介 在简单恢复模式下,日志文件的作用仅仅是保证了SQL Server事务的ACID属性.并不承担具体的恢复数据的角色.正如”简单”这个词的字面意思一样,数据的备份和恢复仅仅是依赖于手动备份和恢复.在 ...

  9. 转 一篇关于sql server 三种恢复模式的文章,从sql server 的机制上来写的,感觉很不错,转了

    简介 SQL Server中的事务日志无疑是SQL Server中最重要的部分之一.因为SQL SERVER利用事务日志来确保持久性(Durability)和事务回滚(Rollback).从而还部分确 ...

随机推荐

  1. PHPMailer使用说明

    PHPMailer是一个用来发送电子邮件的函数包,远比PHP提供的mail()方便易用. 邮件格式说明 一封普通的电子邮件,通常是由发件人.收件人.抄送人.邮件标题.邮件内容.附件等内容构成.以下是一 ...

  2. WebApi在MVC 4中一个Controll多个post方法报错处理

    http://blog.csdn.net/lqh4188/article/details/53542400(原创)

  3. ubuntu16.04 安装 docker-compose

    下载安装 docker-composecurl -L https://github.com/docker/compose/releases/download/1.15.0/docker-compose ...

  4. 又一个设计工具 Framer X Preview

    又一个设计工具 Framer X Preview 所说比 Sketch 和 Figma 都要好用,不知道是不是真的 ~~ To give you a little background, I've b ...

  5. VSCode (Code) 技法

    本人使用插件推荐 indent-rainbow https://marketplace.visualstudio.com/items?itemName=oderwat.indent-rainbow B ...

  6. P2740 [USACO4.2]草地排水Drainage Ditches

    题目背景 在农夫约翰的农场上,每逢下雨,贝茜最喜欢的三叶草地就积聚了一潭水.这意味着草地被水淹没了,并且小草要继续生长还要花相当长一段时间.因此,农夫约翰修建了一套排水系统来使贝茜的草地免除被大水淹没 ...

  7. Core Java(五)

    类和对象&方法 ——类的定义 现实世界的事物 属性:人的身高,体重等 行为:人可以学习,吃饭等 Java中用class描述事物也是如此 成员变量:就是事物的属性 成员方法:就是事物的行为    ...

  8. js点击时关闭该范围下拉菜单之外的菜单

    $(function(){ $(document).bind("click",function(e){ //id为menu的是菜单 if($(e.target).closest(& ...

  9. ListView的Item动画

    1.效果图 2.需求就是点击item歌曲时,实现一种飞入到预约按钮处的效果 3.思路:在布局文件中加入了一个条目布局,和listView的item一样,点击listView的item时,使用给条目布局 ...

  10. Oracle 合并查询

    8).合并查询有时在实际应用中,为了合并多个select语句的结果,可以使用集合操作符号union,union all,intersect,minus.多用于数据量比较大的数据局库,运行速度快.1). ...