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相关推荐

  1. 一次查找sqlserver死锁的经历

    查找bug是程序员的家常便饭,我身边的人喜欢让用户来重现问题.当然他们也会从正式服务器上下载错误log,然后尝试分析log,不过当错误不是那种不经思考就可识别的情况,他们就会将问题推向用户,甚至怪罪程 ...

  2. 分析及解决SQLServer死锁问题

    死锁,简而言之,两个或者多个trans,同时请求对方正在请求的某个对象,导致双方互相等待.简单的例子如下: trans1 trans2 -------------------------------- ...

  3. sqlserver 死锁原因及解决方法

    其实所有的死锁最深层的原因就是一个:资源竞争 表现一: 一个用户A 访问表A(锁住了表A),然后又访问表B,另一个用户B 访问表B(锁住了表B),然后企图访问表A,这时用户A由于用户B已经锁住表B,它 ...

  4. com.microsoft.sqlserver.jdbc.SQLServerException: 索引 1 超出范围

    在做一个小的学生信息管理系统,涉及到jdbc的运用,在完成查询功能时,查询语句为 1 public static final String SELECT_STUDENT = "select ...

  5. jdbc连接数据库失败,com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。

    创建数据库连接失败! com.microsoft.sqlserver.jdbc.SQLServerException: 到主机  的 TCP/IP 连接失败. java.net.ConnectExce ...

  6. 异常:com.microsoft.sqlserver.jdbc.SQLServerException: 将截断字符串或二进制数据。

    com.microsoft.sqlserver.jdbc.SQLServerException: 将截断字符串或二进制数据.  at com.microsoft.sqlserver.jdbc.SQLS ...

  7. [ERR]com.microsoft.sqlserver.jdbc.SQLServerException: 结果集没有当前行

    java获取结果集,if(rs!=null),和while(rs.next())区别  com.microsoft.sqlserver.jdbc.SQLServerException: 结果集没有当前 ...

  8. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 关键字 'user' 附近有语法错误

    org.apache.ibatis.exceptions.PersistenceException:  ### Error querying database.  Cause: com.microso ...

  9. com.microsoft.sqlserver.jdbc.SQLServerException: 对象名 'Monkey' 无效。

    主要代码 package chp13;import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLExc ...

最新文章

  1. 《微信公众平台应用开发实战(第2版)》一导读
  2. 有互感的电感的串并联
  3. 如何评价百度造车?字很少,事很大
  4. 【Samba】安装与配置
  5. 前端学习(1912)vue之电商管理系统电商系统之调用api完成删除操作
  6. oracle 字段除以1000,ORACLE常用}1000(之一)_oracle
  7. 乒乓球(洛谷-P1042)
  8. 安装paddle(飞桨)
  9. 大学计算机试题在线,大学计算机基础试题选择题.pdf
  10. 网页跳转代码的三种方法
  11. 【连载】穿越计算机的迷雾——读书笔记
  12. 完善计算机 实践性教学,计算机基础实践性教学分析论文
  13. APPLE 知识模块初步设计
  14. MOOC有效沟通技巧答案(全)
  15. 传奇3服务器配置文件,分享传奇三架设的全部详细攻略
  16. SpringCloud客户端Client启动时自动停止
  17. 离散数学复习:二元关系
  18. 逐鹿中“各显神通”,金融服务发力新市民,受益者终究是谁?
  19. 电脑中显示dns服务器可能不可用,Win7网络诊断“DNS服务器可能不可用”怎么解决?-电脑自学网...
  20. 万能计算机作文,万能通用作文600字

热门文章

  1. uni-app中的样式
  2. JavaWeb项目中解决中文乱码方法
  3. 安装win10和ubuntu双系统启动不了解决
  4. 使用PowerShell和T-SQL在多服务器环境中规划SQL Server备份和还原策略
  5. sql 获取数据库字段信息_使用DBATools获取SQL数据库详细信息
  6. sql聚集索引和非聚集索引_SQL Server中非聚集索引概述
  7. 基于SQL Server策略的管理–类别和数据库订阅
  8. SQL Server中的基数估计过程
  9. Fabric1.4源码解析:Peer节点启动过程
  10. 表单中的日期 字符串和Javabean中的日期类型的属性自动转换