位置: 编程技术 - 正文

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

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

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

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

  • 增值税和附加税一共几个点
  • 计提城市维护建设费和教育费附加的会计分录
  • 报税界面
  • 进口增值税抵扣信息委托核查函
  • 居民个人根据各项所得的收入 公益捐赠
  • 买什么样的房子可以贷款
  • 房产企业土地增值税税率
  • 售后回租涉税
  • 风险纳税人还能开发票吗
  • 交易性金融资产的交易费用计入哪里
  • 收了公司的款项不拿回公司属于什么行为
  • 企业的管理人
  • 安装工程中安装工程与市政路灯工程界定不正确的是
  • 个人出租仓库需交税吗
  • 开专用发票的地址有错会有影响吗?
  • 替票和代票的区别是什么
  • 相互调转总分公司的原料物资 是视同销售吗?
  • 电话费补贴属于免税收入吗
  • 为什么公司信用代码不对
  • 发票开出多久可以作废
  • 进料加工分配率是什么意思
  • 零申报逾期未申报怎么补报
  • 版权许可授权书
  • 公司员工结婚礼金规定
  • 公司开办期间账务处理
  • win10怎么看已安装的驱动
  • 如何限制某台设备上网
  • 为什么windows10关机后自动开机
  • 蝾螈白话怎么读
  • 试乘试驾车好不好
  • 公司邮票报销
  • 小规模企业没有成本票怎么办
  • 待摊费用每月怎么摊
  • 未签订销售合同
  • 宣泄不能消除不健康的情绪
  • 全资子公司取得注册证可以免临床
  • 销售下脚料所收的费用
  • 旅客运输服务进项税额的计算公式
  • mongodb4.4安装
  • vue路由跳转携带参数怎么接收
  • thinkphp6.0完全开发手册
  • 应收账款出售给银行账务处理
  • 融资租赁的利息进项税可以抵扣吗
  • 回购股票并注销影响所有者权益吗
  • 免费学电脑网站
  • 织梦安装完要删除哪个文件
  • 企业预付账款科目设置
  • 财务上大写数字420.1怎么写
  • 商业收入税收怎么收费
  • 速达建账套期初数据
  • 以前年度计提的存货跌价准备本年销售了
  • 企业所得税的步骤
  • 没有收入如何做账
  • 固定资产报废废料收入要发票吗
  • 销售费用主要账户包括
  • 拼多多里的多多付款安全吗
  • 试算不平衡的原因是什么
  • 当月支付当月租金需要计提吗
  • 应收账款周转率范围多少合适
  • 主营业务收入是含税还是不含税
  • 转账时转错账号怎么办
  • 房地产开发企业销售自行开发的房地产项目
  • 什么是资产减值准备计提
  • mysql错误处理
  • mysql改造
  • 怎么把u盘两个盘合并到一起
  • 电脑主板bios设置图解
  • windows8怎么打开开始菜单
  • win10剪贴板怎么调出来
  • android图片全屏显示
  • linux shell函数
  • linux常用shell操作指令
  • js布局与css布局
  • android打包v1v2
  • 如何用python写自动化脚本
  • javascript与java
  • javascript教程代码
  • 电脑上怎样安装word文档
  • 省级税务机关是什么
  • 应交税金包含企业所得税吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设