sqlserver恢复delete数据(SQL Server数据库的三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢)
sqlserver恢复delete数据
SQL Server数据库的三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢如何图形界面下修改恢复模式
找到你想修改的数据库 右键 > 属性 > 左侧 选项既可看到
1.Simple 简单恢复模式,
Simple模式的旧称叫”Checkpoint with truncate log“,其实这个名字更形象,在Simple模式下,SQL Server会在每次checkpoint或backup之后自动截断log,也就是丢弃所有的inactive log records,仅保留用于实例启动时自动发生的instance recovery所需的少量log,这样做的好处是log文件非常小,不需要DBA去维护、备份log,但坏处也是显而易见的,就是一旦数据库出现异常,需要恢复时,最多只能恢复到上一次的备份,无法恢复到最近可用状态,因为log丢失了。 Simple模式主要用于非critical的业务,比如开发库和测试库,但是道富这边的SQL Server(即使是生产库)大都采用Simple模式,是因为这边的SQL Server大都用于非critical的业务(critical的数据库大都采用Oracle和DB2),可以忍受少于1天的数据丢失(我们的job每天都会定时备份全库)。
如果需要压缩数据库日志(Shrink语句),将数据库模式切换到简单恢复模式后压缩率才是最高的,如果你的数据库在完整恢复模式或大容量日志回复模式下采用日志压缩,压缩后的日志大小并不会很理想。
2.Full 完整恢复模式,
和Simple模式相反,Full模式的旧称叫”Checkpoint without truncate log“,也就是SQL Server不主动截断log,只有备份log之后,才可以截断log,否则log文件会一直增大,直到撑爆硬盘,因此需要部署一个job定时备份log。Full的好处是可以做point-in-time恢复,最大限度的保证数据不丢失,一般用于critical的业务环境里。缺点就是DBA需要维护log,增加人员成本(其实也就是多了定时备份log这项工作而已)。
3.Bulk-logged 大容量日志恢复
Bulk-logged模式和full模式类似,唯一的不同是针对以下Bulk操作,会产生尽量少的log: 1) Bulk load operations (bcp and BULK INSERT). 2) SELECT INTO. 3) Create/drop/rebuild index 众所周知,通常bulk操作会产生大量的log,对SQL Server的性能有较大影响,bulk-logged模式的作用就在于降低这种性能影响,并防止log文件过分增长,但是它的问题是无法point-in-time恢复到包含bulk-logged record的这段时间。 Bulk-logged模式的最佳实践方案是在做bulk操作之前切换到bulk-logged,在bulk操作结束之后马上切换回full模式。
以下是补充更简单易懂
SQL Server 2008 支持三种恢复模式,即简单恢复模式、完整恢复模式和大容量日志恢复模式。
1、简单恢复:无日志备份。自动回收日志空间以减少空间需求,实际上不再需要管理事务日志空间。 最新备份之后的更改不受保护。在发生灾难时,这些更改必须重做。 只能恢复到备份的结尾。
2、完整恢复:需要日志备份。数据文件丢失或损坏不会导致丢失工作。可以恢复到任意时点(例如应用程序或用户错误之前)。
3、大容量日志恢复:需要日志备份。是完整恢复模式的附加模式,允许执行高性能的大容量复制操作。通过使用最小方式记录大多数大容量操作,减少日志空间使用量。
如果在最新日志备份后发生日志损坏或执行大容量日志记录操作,则必须重做自该上次备份之后所做的更改。否则不丢失任何工作。可以恢复到任何备份的结尾。不支持时点恢复。
其中,如果符合下列任一要求,则使用完整恢复模式:
• 您必须能够恢复所有数据。
• 数据库包含多个文件组,并且您希望逐段还原读/写辅助文件组(以及可选地还原只读文件组)。
• 您必须能够恢复到故障点。
• 您希望可以还原单个页。
• 您愿意承担事务日志备份的管理开销。
因此还原单个数据页是完整恢复模式功能。
- mysql怎么设置存储记录(MySQL 的一行记录是怎么存储的?)
- mysql不兼容问题(解决mysql 组合AND和OR带来的问题)
- mysql完整教程(MySql新手入门的基本操作汇总)
- SQL SERVER ErrorLog文件
- mysql的字符串截取函数(MySQL实现字符串的拼接,截取,替换,查找位置的操作)
- visual studio怎么连接数据库(使用Visual Studio Code连接MySql数据库并进行查询)
- mysql如何操作日期
- sql2012登录失败(详解安装sql2012出现错误could not open key...解决办法)
- mysqldump导入导出(MySQL官方导出工具mysqlpump的使用)
- mysql命令输入行在哪(MySQL命令行操作时的编码问题详解)
- sparksql的string转日期格式(将string类型的数据类型转换为spark rdd时报错的解决方法)
- sql字母通配符(详解SQL 通配符)
- mysql将字符串转换为日期的函数(Mysql中时间戳转为Date的方法示例)
- python实现sql脚本规范(基于Python的SQL Server数据库实现对象同步轻量级)
- SQL中的with as的使用
- sparksql项目实战(Spark SQL的整体实现逻辑解析)
- 网坛停摆三巨头亏损惨重,费德勒跌幅88 纳达少赚2400万(网坛停摆三巨头亏损惨重)
- Beyond 版本《无人深空》主线任务攻略 阿特拉斯之道(版本无人深空主线任务攻略)
- 全球科技界最有钱大佬TOP 15 你知道几位(全球科技界最有钱大佬TOP)
- 2主力后腰缺阵 泰山队奇兵有望获重用,赛季0出场,迎来中超首秀(泰山队奇兵有望获重用)
- 三分71 生死战爆发 篮网旧将丁威迪今天成奇兵,助队赢球(三分71生死战爆发)
- 《红 雄安》系列广播剧第一集 水上奇兵雁翎队(雄安系列广播剧第一集)
热门推荐
- python如何安装requests模块(Python常用模块之requests模块用法分析)
- apache服务配置详解(Apache Web服务器的完全安装指南)
- laravel接口请求模拟(Laravel框架控制器的request与response用法示例)
- iis7如何创建ftp(在win7系统下IIS搭建FTP服务器图文教程介绍)
- Python实现FTP弱口令扫描器的方法示例(Python实现FTP弱口令扫描器的方法示例)
- mysql修改复杂密码设置(MySQL修改密码的几种方式)
- mysql拼接多字段作为查询条件(Mysql 实现字段拼接的三个函数)
- html5淘汰的标签(浅谈HTML5新增和废弃的标签)
- Request.Url的值有可能会带端口号
- mysql有哪些约束(MySQL完整性约束的定义与实例教程)