SqlServer死锁com.microsoft.sqlserver.jdbc.SQLServerException: Transaction (Process ID 52) was deadlock
Java多线程操作SqlServer数据库,执行update的操作 ;报错:
com.microsoft.sqlserver.jdbc.SQLServerException: Transaction (Process ID) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
首先查看数据库 具体死锁的程序,以及临时使用数据 杀掉死锁进程。
--查询数据库的死锁连接
SELECT REQUEST_SESSION_ID,OBJECT_NAME(RESOURCE_ASSCOIATED_ENTITY_ID) FROM SYS.DM_TRAN_LOCKS WHERE RESOURCE_TYPE='OBJECT'--查出死锁的进程ID,使用如下脚本杀掉死锁进程
Declare @SPID INTSET @SPID=进程ID
Declare @SQL VARCHAR(1000)SET @SQL='KILL '+CAST(@SPID AS VARCHAR)EXEC(@SQL)
但是,上面处理之后,程序依然会出现死锁的情况。后来,发现是数据库表设置的问题。
--如下的更新语句,多线程执行 造成TABLE死锁
UPDATE TABLE SET NAME='TEST' WHERE ID='12345'
解决方法:在数据库中将TABLE表的ID字段设置为主键 Primary Key,然后问题得到解决。
SqlServer死锁com.microsoft.sqlserver.jdbc.SQLServerException: Transaction (Process ID 52) was deadlock相关推荐
- 一次查找sqlserver死锁的经历
查找bug是程序员的家常便饭,我身边的人喜欢让用户来重现问题.当然他们也会从正式服务器上下载错误log,然后尝试分析log,不过当错误不是那种不经思考就可识别的情况,他们就会将问题推向用户,甚至怪罪程 ...
- 分析及解决SQLServer死锁问题
死锁,简而言之,两个或者多个trans,同时请求对方正在请求的某个对象,导致双方互相等待.简单的例子如下: trans1 trans2 -------------------------------- ...
- sqlserver 死锁原因及解决方法
其实所有的死锁最深层的原因就是一个:资源竞争 表现一: 一个用户A 访问表A(锁住了表A),然后又访问表B,另一个用户B 访问表B(锁住了表B),然后企图访问表A,这时用户A由于用户B已经锁住表B,它 ...
- com.microsoft.sqlserver.jdbc.SQLServerException: 索引 1 超出范围
在做一个小的学生信息管理系统,涉及到jdbc的运用,在完成查询功能时,查询语句为 1 public static final String SELECT_STUDENT = "select ...
- jdbc连接数据库失败,com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。
创建数据库连接失败! com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败. java.net.ConnectExce ...
- 异常:com.microsoft.sqlserver.jdbc.SQLServerException: 将截断字符串或二进制数据。
com.microsoft.sqlserver.jdbc.SQLServerException: 将截断字符串或二进制数据. at com.microsoft.sqlserver.jdbc.SQLS ...
- [ERR]com.microsoft.sqlserver.jdbc.SQLServerException: 结果集没有当前行
java获取结果集,if(rs!=null),和while(rs.next())区别 com.microsoft.sqlserver.jdbc.SQLServerException: 结果集没有当前 ...
- Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 关键字 'user' 附近有语法错误
org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: com.microso ...
- com.microsoft.sqlserver.jdbc.SQLServerException: 对象名 'Monkey' 无效。
主要代码 package chp13;import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLExc ...
最新文章
- 《微信公众平台应用开发实战(第2版)》一导读
- 有互感的电感的串并联
- 如何评价百度造车?字很少,事很大
- 【Samba】安装与配置
- 前端学习(1912)vue之电商管理系统电商系统之调用api完成删除操作
- oracle 字段除以1000,ORACLE常用}1000(之一)_oracle
- 乒乓球(洛谷-P1042)
- 安装paddle(飞桨)
- 大学计算机试题在线,大学计算机基础试题选择题.pdf
- 网页跳转代码的三种方法
- 【连载】穿越计算机的迷雾——读书笔记
- 完善计算机 实践性教学,计算机基础实践性教学分析论文
- APPLE 知识模块初步设计
- MOOC有效沟通技巧答案(全)
- 传奇3服务器配置文件,分享传奇三架设的全部详细攻略
- SpringCloud客户端Client启动时自动停止
- 离散数学复习:二元关系
- 逐鹿中“各显神通”,金融服务发力新市民,受益者终究是谁?
- 电脑中显示dns服务器可能不可用,Win7网络诊断“DNS服务器可能不可用”怎么解决?-电脑自学网...
- 万能计算机作文,万能通用作文600字