SQL Server死锁问题:事务(进程 ID x)与另一个进程被死锁在 锁 | 通信缓冲区资源上并且已被选作死锁牺牲品。请重新运行该事务。
2023-09-11 14:22:43 时间
### The error occurred while setting parameters
### SQL: update ERP_SCjh_zzc_pl set IF_TONGBU=1 where (IF_TONGBU=0 or IF_TONGBU is null) and djno=? and djlb=?
### Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 事务(进程 ID 191)与另一个进程被死锁在 锁 | 通信缓冲区 资源上,并且已被选作死锁牺牲品。请重新运行该事务。
; SQL []; 事务(进程 ID 191)与另一个进程被死锁在 锁 | 通信缓冲区 资源上,并且已被选作死锁牺牲品。请重新运行该事务。; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: 事务(进程 ID 191)与另一个进程被死锁在 锁 | 通信缓冲区 资源上,并且已被选作死锁牺牲品。请重新运行该事务。
[2019-08-24 17:26:52,077] [qtp1891502635-26] [ERROR] [ExceptionController.java:26] ==>Exception Msg:
感觉这篇文章写的不错,读了三遍不是太明白,记录下来:
https://www.cnblogs.com/happyhippy/archive/2008/11/14/1333922.html
解决办法:
- SQLServer自动选择一条SQL作死锁的牺牲品;
- 按同一顺序访问对象;
- SELECT语句加with (onlock)提示;
- 使用较低的隔离级别
- 在SQL前加SET LOCK_TIMEOUT timeout_period,当请求锁超过设定的timeout_period时间后,就会终止当前SQL的执行
- 使用基于行版本控制的隔离级别
- 使用绑定连接
锁相关:https://www.cnblogs.com/wynn0123/p/4633776.html
相关文章
- Mysql 的异常:The last packet successfully received from the server was 90 milliseconds ago. The last packet sent successfully to the server was 43,603,303 milliseconds ago. is longer than the server con
- SQL SERVER 重组含有特殊字符的索引时遇到“关键字 'with' 附近有语法错误.”
- ArcGIS 10.1 for Server安装教程系列—— Linux下的单机安装
- 快速查看SQL Server 中各表的数据量以及占用空间大小
- SQL SERVER全面优化-------Expert for SQL Server 诊断系列
- Sql Server substring(expression, start, length)函数
- Embedded web server initialization - jar file default-mimetypes.properties
- SQL Server数据库多种方式查找重复记录
- Sql Server 常用命令小结
- Eclipse里选择Servlet Run As Server后,自动生成了哪些资源?
- eclipse tomcat add时提示The Tomcat server configuration at ServersTomcat v6.0 Server at localhost-
- 【Unity3d】【项目学习心得】从资源server下载资源(一)
- SQL Server未找到或无法訪问server问题解决
- 安装CDH6.3版本的时候遇到 ‘ERROR main:com.cloudera.server.cmf.Main: Server failed’的解决方案
- Windows系统卡顿,CPU占用率高,C/C++ IntelliSense Server for Visual Studio Code