位置: 编程技术 - 正文

SQL Server恢复模型之批量日志恢复模式(sqlserver恢复模式简单和完整)

编辑:rootadmin

推荐整理分享SQL Server恢复模型之批量日志恢复模式(sqlserver恢复模式简单和完整),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:sql server 恢复,sql server如何恢复数据库,sqlserver恢复模式简单和完整,sql server恢复模式,sqlserver恢复模式改简单,sqlserver恢复模式改简单,sqlserver恢复模式从简单模式修改完整模式的影响,sqlserver恢复模式改简单,内容如对您有帮助,希望把文章链接给更多的朋友!

你是否想知道为什么事务日志文件会变得越来越大?事务日志有时候甚至会比你的实际数据库文件还要大,尤其是在应用数据仓库的情况下。为什么会发生这种情况呢?如何控制其大小?数据库恢复模型如何控制事务日志增长?在本系列文章中,我们就将一一给出解答。

批量日志恢复模式

批量日志恢复模式与完整恢复模式类似,都预期会有大批量的数据修改操作(例如,创建索引,SELECT INTO,INSERT SELECT,BCP,BULKINSERT),在这种情况下可以最小化日志记录量,因此它降低了性能影响。但是同时代价就是你可能不能做任何时点的恢复了。作为一种推荐的实践,批量日志恢复模式可以与完整恢复模式一起使用,例如,你通常应该在常规操作时设置为完整恢复模式,然后在偶尔发生大批量操作时临时切换到批量日志恢复模式。最后在完成大批量操作以后,再回到完整恢复模式。如果时间点恢复很重要的话,我们非常推荐在切换回到完整恢复模式以后做一次事务日志备份。

与完整恢复模式类似,事务日志文件将会持续增长,因此你需要频繁做事务日志备份。如果没有大批量操作,批量日志模式与完整恢复模式是一样的,你可以恢复到任何时点,只要事务日志包含对数据库后续做的所有变更记录。

优点:通过对一些事务做最小化日志记录优化大批量操作的性能。不会让事务日志由于这些大批量数据操作而显著增长。

缺点:如果日志损坏,或者在最近日志备份之后发生大批量数据操作,存在数据丢失的可能性。因此自最后一次备份后的变化必须被重做。

何时采用:推荐在偶尔发生的大批量数据操作之前切换到批量日志恢复模式,然后在完成大批量数据操作之后切换回到完整恢复模式。采用这种方式你仍然可以恢复到任何时间点,只是你最后一次事务日志备份不包含大批量数据操作,同时可以将大批量数据操作的日志量最小化。

要注意的是,最小化日志记录意味着只记录恢复事务需要的信息,而不支持时间点恢复。在最小化日志的情况下,事务日志基于大批量变更映射(MCP)页做的大批量数据变更记录页轨迹,而不是对每次变化做日志。这种方式数据库日志会更小,但是在你备份事务日志时,它包括了所有变更页,因此即使事务日志非常小,事务日志备份也可能比它更大。

SQL Server恢复模型之批量日志恢复模式(sqlserver恢复模式简单和完整)

大容量日志恢复模式bulk_logged recovery model

The bulk-logged recovery model minimally logs bulk operations, although fully logging other transactions. The bulk-logged recovery model protects against media failure and, for bulk operations(bcp,BULK INSERT,SELECT INTO), provides the best performance and least log space usage.

The bulk-logged recovery model increases the risk of data loss for these bulk-copy operations, because bulk logging operations prevents recapturing changes on a transaction-by-transaction basis. If a log backup contains any bulk-logged operations, you cannot restore to a point-in-time within that log backup; you can restore only the whole log backup.

Bulk Changed Map (BCM) tracks the extents that have been modified by bulk logged operations since the last BACKUP LOG statement.If using the bulk-logged recovery model, only details of the modified data pages are logged, allowing for better performance.Tail Log backupIf your database is using the bulk-logged recovery model, and the transaction log contains minimally logged transactions, the data files which contain the modified pages must also be available. If those data files are unavailable, you will not be able to back up the tail of the transaction log. This is another point to consider when using the bulk-logged recovery model.

However, please note that the situation with the bulk-logged recovery model is identical to the full recovery model if no minimally logged transactions are created in the database

大容量日志恢复模式的工作原理

与完整恢复模式(完全记录所有事务)相比,大容量日志恢复模式只对大容量操作进行最小记录(尽管会完全记录其他事务)。大容量日志恢复模式保护大容量操作不受媒体故障的危害,提供最佳性能并占用最小日志空间。但是,大容量日志恢复模式会增加这些大容量复制操作丢失数据的风险,因为大容量日志操作阻止再次捕获对每个事务逐一所做的更改。如果日志备份包含大容量日志操作,则无法还原到该日志备份中的时点,而只能还原整个日志备份。在大容量日志恢复模式下,如果日志备份覆盖了任何大容量操作,则日志备份包含由大容量操作所更改的日志记录和数据页。这对于捕获大容量日志操作的结果至关重要。合并的数据区可使日志备份变得非常庞大。此外,备份日志需要访问包含大容量日志事务的数据文件。如果无法访问任何受影响的数据库文件,则事务日志将无法备份,并且在此日志中提交的所有操作都会丢失。为跟踪数据页,日志备份操作依赖于位图页的大容量更改,位图页针对每个区包含一位。对于自上次日志备份后由大容量日志操作所更新的每个区,在位图中将每个位都设置为 1。数据区将复制到日志中,后跟日志数据。下图显示了日志备份的构造方式。

重要提示:

在完整或大容量日志恢复模式下,如果没有其他因素使日志记录保持为活动状态,则到进行第一次完整备份时,自动检查点才会截断事务日志的未使用部分。第一次完整备份后,截断要求备份事务日志。有关截断延迟因素的信息,请参阅可能延迟日志截断的因素。

SQL Server 提取数字、提取英文、提取中文的sql语句 --SQL判断字段值是否有中文createfunctionfun_getCN(@strnvarchar())returnsnvarchar()asbegindeclare@wordnchar(1),@CNnvarchar()set@CN=''whilelen(@str)0beginset@word=left(@str,1)ifunic

SQL Server 监控磁盘IO错误,msdb.dbo.suspect_pages suspect_pages表位于msdb数据库中,是在SQLServer中引入的。用于维护有关可疑页的信息的suspect_pages数据库管理员负责管理表(主要通过删除旧的行实现)

SQL Server中发送HTML格式邮件的方法 sqlserver发送html格式的邮件,参考代码如下:DECLARE@tableHTMLNVARCHAR(MAX);--获取当前系统时间,和数据统计的时间set@d_nowdate=convert(datetime,convert(varchar(),dateadd(d

标签: sqlserver恢复模式简单和完整

本文链接地址:https://www.jiuchutong.com/biancheng/348070.html 转载请保留说明!

上一篇:SQL Server中调用C#类中的方法实例(使用.NET程序集)(sqlcipher c#)

下一篇:SQL Server 提取数字、提取英文、提取中文的sql语句(sql提取指定字符串)

  • 公司代缴个人所得税做账
  • 年度应纳税所得额计算公式
  • 有形动产租赁服务税收分类编码
  • 非居民劳务个税怎么计算
  • 股东入股的标准
  • 房地产收入成本确认
  • 非财政补助结余分配借贷方向
  • 利润属于所有者权益类科目吗
  • 增值税一般纳税人是什么意思
  • 如何在电子税务局开发票
  • 增值税的简易计税是什么意思
  • 收到别人的承兑怎么入账
  • 按工人工资比例结转制造费用的科目
  • 企业利息收入会计分录怎么做
  • 小规模纳税人的税率是多少(含国、地税)
  • 增值税期末留抵税额的账务处理
  • 关于银行借贷的法律知识
  • 应纳税额计算举例
  • 购买股权支付的相关税费怎么处理
  • 什么是红字信息表编号
  • 建筑企业员工培训
  • 涉农贷款损失
  • 样品开发费用怎么记账
  • 母公司拨款给子公司的账务处理
  • 调整暂估有差价怎么办
  • 关于递延所得税资产负债的表述
  • 分公司注销分配表
  • 小型微利企业核定征收
  • 开电脑店几年搞活动好吗
  • linux 网络故障
  • 预缴税款怎么做账务处理
  • 总公司欠分公司钱不偿还了怎么做账
  • 应收账款的主要功能包括哪些
  • 结转未交增值税为什么是零
  • 单目测距精度
  • ChatDoctor本地部署应用的实战方案
  • 资产评估属于什么科目
  • 代理业务怎么记账
  • html不能运行
  • 银行存款利息收税吗
  • 境外捐赠入账
  • 一字节的范围
  • 学习笔记——Servlet
  • oracle与mysql的优缺点对比
  • mac安装mysql8.0
  • mongo创建db
  • 出口退税单机版是什么意思
  • 吸收合并和新设合并哪个更好
  • 金税盘购买的会计分录
  • 生产成本和营业成本的区别和联系
  • 商品盘点短缺
  • 主播工资不发应该到哪里投诉
  • 企业职工福利费支出包括哪些内容
  • 冲销销售收入分录
  • 收据可不可以做账
  • 增值税版本升级
  • sqlserver全文检索
  • windowsxp无法格式化
  • linux 清理
  • win7 win8.1双系统安装教程
  • Linux系统防火墙的命令
  • 安装yum的命令
  • win10剪贴板怎么调出来
  • 在Linux系统中安装虚拟window
  • win7电脑开机蓝屏无法进入系统怎么办
  • unityai寻路
  • javascript面向对象编程
  • 2014年最火的英文歌
  • android开发最全教程
  • vue+node+webpack环境搭建教程
  • oracle中提取日期时间的特定部分
  • gpu解码视频
  • python怎么做脚本
  • js进行表单验证的目的是什么
  • json convert
  • js类的定义方法
  • 发票代码如何查询公司
  • 国家税务局总局河南官网
  • 百旺税控客服电话
  • 杭州地税局办事大厅
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设