位置: 编程技术 - 正文

记一次公司仓库数据库服务器死锁过程及解决办法(仓库记录)

编辑:rootadmin

推荐整理分享记一次公司仓库数据库服务器死锁过程及解决办法(仓库记录),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:仓库记录,仓管怎么记仓库东西,公司仓库库存明细表格范本,公司仓库库存明细表格范本,仓库如何记账,仓库记录,公司仓库库存明细表格范本,仓库记录,内容如对您有帮助,希望把文章链接给更多的朋友!

死锁的四个必要条件:

互斥条件(Mutual exclusion):资源不能被共享,只能由一个进程使用。

请求与保持条件(Hold and wait):已经得到资源的进程可以再次申请新的资源。

非剥夺条件(No pre-emption):已经分配的资源不能从相应的进程中被强制地剥夺。

循环等待条件(Circular wait):系统中若干进程组成环路,该环路中每个进程都在等待相邻进程正占用的资源。

仓库拣货卡死,排查了数据库的很多地方,都没有头绪,最后到SQL Server 错误日志里查看,终于发现了蛛丝马迹

咋一看上面的错误信息,可以发现两条相同的语句造成的死锁,但是这么短的语句不可能持有排他锁太久

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_ac5e.jpg" alt="查看图片" />

再仔细分析一下错误日志,发现都死锁在同一个非聚集索引上,再问了一下开发,开发那边说,这条语句是在一个大事务里面,这个事务会做7、8件事

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_acec2f8.jpg" alt="查看图片" />

索引属性

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_aedc3.png" alt="查看图片" />

还有索引里面的数据,发现很多重复值

记一次公司仓库数据库服务器死锁过程及解决办法(仓库记录)

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_aed.jpg" alt="查看图片" />

SQL语句是这样的

下图为语句生成的执行计划

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_aee.jpg" alt="查看图片" />

当时的情况是大量SQL语句被阻塞,而阻塞的语句正是下面这条语句

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_ac.jpg" alt="查看图片" />

解决方法

上面得出几个症状

1、update语句是在一个大事务里面,事务太大导致其他session等待排他锁的时间变长

2、大家都在使用同一个非聚集索引,并扫描PricingExpressProductCode字段

3、索引里的重复值很多

从上面的症状基本可以判断,这个非聚集索引无啥用,可以禁用之

禁用之后,死锁消失,问题解决,仓库的怨气也随之消失

这一次排查过程时间有点长,但是很好定位,SQL Server错误日志给出了足够的信息定位死锁问题,所以遇到问题的时候一定要分析清楚日志

实用的银行转账存储过程和流水号生成存储过程 银行转账存储过程USE[BankInfor]GOSETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOALTERPROCEDURE[dbo].[Transfer](@inAccountint,@outAccountint,@amountfloat)asdeclare@totalDepositfloat;beginselect@totalD

asp.net中如何调用sql存储过程实现分页 首先看下面的代码创建存储过程1、创建存储过程,语句如下:CREATEPROCP_viewPage@TableNameVARCHAR(),--表名@FieldListVARCHAR(),--显示列名,如果是全部字段则

SQL Server 附加数据库时Read-Only错误的解决方案 SQLServer附加数据库文件时出现了Read-Only错误,附加的时候,系统提示mdf文件为只读,可是打开文件属性,这个属性不为只读。该怎么解决呢?本文我

标签: 仓库记录

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

上一篇:开窗函数有浅入深详解(一)(开窗函数窗口范围)

下一篇:实用的银行转账存储过程和流水号生成存储过程(实用的银行转账怎么转)

  • 小规模30万免税包括30万吗
  • 分配税后利润需交个人所得税吗
  • 金税四期对企业的六点影响
  • 劳务派遣小规模纳税人税率是多少
  • 减免房产税土地使用税 账务处理
  • 能从科目余额表入账吗
  • 房地产开发企业预收款预缴增值税
  • 用银行存款支付罚款
  • 外购自用需要缴纳增值税吗
  • 现金解款单是什么业务
  • 生产质量问题报告怎么写
  • 一般企业和行政事业单位的资产负债表是否一样
  • 预付款发票可以入费用吗
  • 残保金所属期与税款所属期
  • 个人缴纳的公积金可以贷款吗
  • 税控盘服务费每年都可以抵吗
  • 购买股权属于什么科目
  • 哪些税费不适用征管法?
  • 税务发票原件
  • 退税收入要不要交所得税?
  • 合并报表的范围
  • 电脑右下角弹出网页没有×怎么关闭
  • 减税降费是针对个人还是企业
  • excel2019文件加密
  • os x 10.10 yosemite自动纠正怎么关?os x yosemite自动纠正功能关闭教程
  • 预提的奖金需要缴纳个人所得税吗
  • php流程引擎
  • 简单了解航天员的生活
  • 自产产品用于应税项目为什么不考虑偷税
  • html可以描述什么
  • tensorflow2安装
  • laravel调试
  • php功能模块
  • 七姐妹悬崖是怎样形成
  • 支付员工交通费怎么入账
  • 异常处理流程为哪几个部分
  • ps中文字复制粘贴
  • 专票认证对企业有影响吗
  • 土地增值税预征税率一览表
  • 进项转出了还能再转进去吗
  • sQlite常用语句以及sQlite developer的使用与注册
  • 税控盘上月未清卡去税务带什么
  • 发票已交税如何退税
  • 工商企业年报网上申报流程
  • 个人销售商品交什么税
  • 小企业会计准则和企业会计准则的区别
  • 计提所得税后再结转本年利润吗
  • 企业哪些账户可以取现金
  • 小规模纳税人能开6%增值税专用发票吗
  • 关联交易现金流
  • 用银行承兑汇票购买原材料会计分录
  • 年报中纳税总额是本年实际缴纳的还是应纳税额
  • 减值损失和减值损失区别
  • 应收的借方和应付的贷方相等
  • mysql 5.6新特性
  • 分类不同
  • winXP运行内存查看
  • 趣谈linux系统
  • linux中vim命令详解
  • linux中使用fdisk命令进行硬盘分区
  • 怎么彻底关闭windows更新
  • win8系统崩溃无法开机
  • 苹果mac太卡
  • linux nyy
  • windows移动中心英文怎么写
  • windows xp
  • win7旗舰版系统激活密钥
  • linux系统修复
  • 页面模板排序
  • perl的正则表达式语法
  • opengl es应用开发实践指南(android卷)pdf
  • shell包含文件
  • unity 协作
  • nodejs co
  • node.js中使用文件流进行文件复制,首先需要创建一个
  • jquery教程 csdn
  • jquery的实现原理
  • 深圳国税服务
  • 民办非企业单位登记管理暂行条例
  • 上报汇总之后怎么申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设