位置: 编程技术 - 正文

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

编辑: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 转载请保留说明!

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

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

  • 房地产企业什么时候开具正式发票
  • 完税价格是含税价格吗?
  • 承兑汇票可以当现金用吗
  • 反结账只能反结上月的账吗
  • 怎么查自己是否
  • 转让金融商品的会计分录
  • 专票只有抵扣联发票联丢失怎么办
  • 收到前欠销货款290000元,存入银行的会计分录怎么写
  • 车辆购置附加税证丢了能过户吗
  • 企业所得税收入是什么意思
  • 有现金折扣方式有哪些
  • 外出经营许可证办理流程
  • 离职未收回货款要我承担
  • 补交税金怎么做账
  • 用银行存款缴纳各种税费所引起的变动为
  • 开具的发票是否为印花税的应税凭证?
  • 报名费发票开什么项目
  • 个人代垫公司费用微信转账如何报销
  • 库存商品做账
  • 企业所得税税前扣除政策
  • 实收资本的印花税减半征收吗
  • 总分公司、母子公司:三流不一致情况下,如何抵扣增值税?
  • 建筑业小规模纳税人税率是3%还是5%
  • 公司装修期间物业怎么办
  • 托收凭证的会计科目
  • 去年进项税没有抵扣了
  • 建筑测量水准仪怎么读数
  • win11卓越性能模式
  • 所得税费用是什么账户类型
  • chrome内核的浏览器是什么意思
  • 借款人约定分期还款中途可以起诉吗
  • 应付票据开出票据的会计分录
  • alibabapritect
  • 免税有那些
  • 最高成本的手机是哪款
  • 红字发票什么作用
  • 企业应付账款的会计分录
  • 请假扣款怎么做账
  • echarts y轴设置
  • python2打包
  • 生产过程半成品报废
  • 应付职工薪酬包括哪些二级科目
  • 董事会会议中的会议内容
  • 平行结转的约当约当怎么计算
  • 公司食堂吃饭没钱怎么办
  • phpcms技术
  • 数据结构—python语言描述
  • python time. time
  • mysql5.7免安装版
  • 固定资产已提完折旧报废后如何处理
  • 外来原始凭证审核内容
  • 不符合无形资产摊销条件
  • 企业收到财政拨付的专项资金账务处理
  • 受托机构名称填什么
  • 发票冲红和作废有啥区别
  • 复印件可以作为会计原始凭证吗
  • 其他综合收益为什么不影响利润
  • 本年利润要结转吗为什么
  • 销售做不动 应该做什么
  • 回购股票会导致所有者权益减少吗
  • 留存收益和未分配利润一样吗
  • 现金支票办理电话
  • windows启动失败是怎么回事
  • 电脑windows怎么查
  • Windows Server 2008关闭闲置状态的IDE通道
  • xp系统安装版合集
  • windows8 enterprise
  • win7系统开机无限重启
  • window10如何设置访客权限
  • win8外接显示器没反应怎么办
  • ExtJs事件机制基本代码模型和流程解析
  • 应用框架的设计方法
  • javascript如何输出变量
  • jquery 滑块
  • linux归档文件什么意思
  • linux中使用最多的命令
  • 安卓多线程有几种实现方法
  • jquery $each
  • 征管法第六十九条
  • 个人股和公司股
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设