位置: 编程技术 - 正文

SQL Server误区30日谈 第2天 DBCC CHECKDB会导致阻塞(sql server错误和使用情况报告)

编辑:rootadmin

误区 #2: DBCC CHECKDB会引起阻塞,因为这个命令默认会加锁

这是错误的!

在SQL Server 7.0以及之前的版本中,DBCC CHECKDB命令的本质是C语言实现的一个不断嵌套循环的代码并对表加表锁(循环嵌套算法时间复杂度是嵌套次数的N次方,作为程序员的你懂得),这种方式并不和谐,并且…..

在SQL Server 时代,一个叫Steve Lindell的哥们(现在仍然在SQL Server Team)使用分析事务日志的方法来检查数据库的一致性的方式重写了DBCC CHECKDB命令。DBCC CHECKDB会阻止截断日志。当将日志从头读到尾时,在事务日志内部进行了某种Recovery操作,这实际上是另一种全新的实现Recovery的代码,但是仅限于CHECKDB命令内部。但这种方式依然存在问题,比如这个命令存在检查失败的可能性,如果检查失败,你还需要重新执行它看是否还会出现同样的错误。并且有时候,这个命令还会使用SCH_S锁,索然这个锁仅仅阻塞表扫描和表构架的改变,但通过日志来检查一致性的代码也并不是尽善尽美,并且…..

在SQL Server 时代,一个叫Paul Randal的家伙(译者:也就是本文作者)再次重写了DBCC CHECKDB命令。这次使用数据库快照来检查一致性(因为数据库快照会提供在数据库某一特定时间点的一致性视图),因此不再有事务日志的分析代码,不再有任何的锁--因为访问数据库快照不需要对原数据库加任何的锁,缓冲池会自动处理可能出现的资源争用。

如果想了解更多内幕消息,你可以阅读下面的文章:

CHECKDB From Every Angle: Complete description of all CHECKDB stages

CHECKDB From Every Angle: Why would CHECKDB run out of space?

Database snapshots - when things go wrong

Issues around DBCC CHECKDB and the use of hidden database snapshots

Do transactions rollback when DBCC CHECKDB runs?

Diskeeper Intelliwrite corruption bug

现在,在任何SQL Server版本中,如果你依然使用WITH TABLOCK提示,那将会产生表锁来保证事务的一致性。但我不推荐这种方式。因为这种方式不仅需要更长的时间,还将会尝试对数据库加排他锁,但已经活动在数据库的连接有可能导致这种方式失败。

在SQL Server 中,这个命令阻止事务日志截断将会导致日志不正常增长的相关问题,但对于SQL Server 来说,这个命令就会导致快照相关的问题(具体请看上面的链接)。

但是在默认情况下,自从SQL SERVER 之后,DBCC CHECKDB不会再产生阻塞。

推荐整理分享SQL Server误区30日谈 第2天 DBCC CHECKDB会导致阻塞(sql server错误和使用情况报告),希望有所帮助,仅作参考,欢迎阅读内容。

SQL Server误区30日谈 第2天 DBCC CHECKDB会导致阻塞(sql server错误和使用情况报告)

文章相关热门搜索词:sql server233错误,sql server233错误,sql server233错误,sql server错误和使用情况报告,sql server 1222解决,sql server233错误,sql语句错误提示,sql server 错误,内容如对您有帮助,希望把文章链接给更多的朋友!

SQL Server误区日谈 第3天 即时文件初始化特性可以在SQL Server中开启和关闭 本系列文章是我在sqlskill.com的PAUL的博客看到的,很多误区都比较具有典型性和代表性,原文来自T-SQLTuesday#:Misconceptionsabout....EVERYTHING!!,经过我们团队

SQL Server误区日谈 第4天 DDL触发器就是INSTEAD OF触发器 误区#4:DDL触发器(SQLServer之后被引入)就是INSTEADOF触发器这是错误的DDL触发器的实现原理其实就是一个AFTER触发器。这个意思是先发生DDL操作,然后触

浅谈SQL Server 对于内存的管理[图文] 理解SQLServer对于内存的管理是对于SQLServer问题处理和性能调优的基本,本篇文章讲述SQLServer对于内存管理的内存原理。二级存储(secondarystorage)对于计算

标签: sql server错误和使用情况报告

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

上一篇:SQL Server误区30日谈 第1天 正在运行的事务在服务器故障转移后继续执行(sql server错误和使用情况报告)

下一篇:SQL Server误区30日谈 第3天 即时文件初始化特性可以在SQL Server中开启和关闭(sql语句错误提示)

  • 销售货物的运费计入成本吗
  • 年末是否结转本年利润
  • 出口佣金要交税吗
  • 资源税的征税对象都是原矿和选矿
  • 银行对账单由谁去取
  • 已认证的专票发票在哪里
  • 事业单位固定资产管理办法
  • 持有待售资产是流动资产吗
  • 存货损失
  • 各种收入与应纳税额的比例
  • 外商企业所得税可享受什么优惠政策
  • 印花税计提多了怎样更正
  • 单位月工资总额
  • 上个月少计了成本要怎么办
  • 企业哪些费用属于重要费用
  • 股东出资不做股本做借款该怎么写分录?
  • 如何处理没有录音的人
  • 出口押汇与打包押汇区别
  • 会务费发票税点是多少
  • 水果 增值税专票
  • 工资哪些扣款应该扣税
  • 发票上电话可以写手机号吗
  • 财务审核火车票真伪辨别
  • 一般纳税人企业要交哪些税
  • 应收账款年末余额过大
  • 转正工资和试用工资区别
  • 小微企业增值税优惠政策最新2022
  • 福利费应计入什么费用
  • 鸿蒙系统开发人员选项
  • win10打开游戏老是提示
  • 冲红发票会计分录大全
  • 文化事业建设费2023年是否减免了
  • 苹果手机升级微信版本
  • linux怎么查找
  • 长期待摊费用挂账原因
  • 外资企业出租房产税优惠
  • 挪威 北极熊
  • 公司企业名称变更,银行账号会变吗
  • 万能的python
  • 这可能是最好的144平米小平层户型
  • php递归算法经典题目
  • 开公司车出差违章了谁负责
  • 其他综合收益要结转到本年利润吗
  • 涂料消费税征税范围
  • 土地使用税的征税范围有哪些
  • 员工加班打车费进项可以抵扣吗
  • 长期借款期末余额表示什么
  • 经营结余是指事业单位在本年度经营活动
  • 内账会计的岗位职责
  • 其他综合收益什么情况下转入留存收益
  • 交强险还用开车去吗
  • 怎么处理部分股票流出
  • 分公司是否具有独立承担民事责任的能力
  • 商贸企业 税收 政策规定
  • 一般纳税人退税条件
  • 上月发票如何冲红
  • 广告费收入如何填写增值税申报表
  • 补交增值税和滞纳金怎么入账
  • 职工福利费计提标准
  • 研发加计扣除抵减税额怎么算
  • 企业办公楼房产税如何征收
  • 收到费用报销单怎么做记账凭证
  • 行政单位负债类科目包括
  • 明细账示例图
  • 开业建账到年末怎么做账
  • winds密码忘记了
  • centos7 syslog
  • linux crontab命令详解
  • u盘装win8系统教程图解
  • win7怎样禁用无线网络连接
  • glClearBufferSubData
  • 原生js有用吗
  • js存储
  • 拼图java代码
  • 在android的activity活动中
  • 缓动函数网站
  • js判断网页链接是否可用
  • 地方电子税务局是干嘛的
  • 黑龙江省电子税务局官网下载
  • 青霉素过敏是因为提纯不好吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设