记一个sqlserver数据库查询死锁异常

news2024/11/14 19:15:09

一、报错日志:

Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: 事务(进程 ID 117)与另一个进程被死锁在 锁 | 通信缓冲区 资源上,并且已被选作死锁牺牲品。请重新运行该事务。

二、数据库现象

注:下图中最后一条记录是解决后的效果,不要看,不要看!
在这里插入图片描述
附上上面列表的查询sql:

SELECT TOP 10
    [session_id],
    [request_id],
    [start_time] AS '开始时间',
    [status] AS '状态',
    [command] AS '命令',
    dest.[text] AS 'sql语句', 
    DB_NAME([database_id]) AS '数据库名',
    [blocking_session_id] AS '正在阻塞其他会话的会话ID',
    der.[wait_type] AS '等待资源类型',
    [wait_time] AS '等待时间',
    [wait_resource] AS '等待的资源',
    [dows].[waiting_tasks_count] AS '当前正在进行等待的任务数',
    [reads] AS '物理读次数',
    [writes] AS '写次数',
    [logical_reads] AS '逻辑读次数',
    [row_count] AS '返回结果行数'
 FROM sys.[dm_exec_requests] AS der 
 INNER JOIN [sys].[dm_os_wait_stats] AS dows ON der.[wait_type]=[dows].[wait_type]
 CROSS APPLY sys.[dm_exec_sql_text](der.[sql_handle]) AS dest 
 WHERE [session_id]>50  ORDER BY [cpu_time] DESC

三、产生原因:

1)代码不规范,当前表同一事务中既有insert,又有update,又有select,
2)大事务形式,

四、解决方法:

在不改代码的情况下,设置当前库读提交快照开启。如下图设置即可。
官网参考资料:https://learn.microsoft.com/zh-cn/sql/relational-databases/sql-server-deadlocks-guide?view=sql-server-2016
在这里插入图片描述

五、效果

看最后一条:
在这里插入图片描述
锁类型已经变为PAGEIOLATCH_EX了,然后项目再也没出现过xxx被当牺牲品的问题。对于查询速度,感觉还是有点点影响的,有时候一个查询第一次页面刷的会慢些,然后第二次就快了;数据库服务器要是内存够大性能较好的话,感觉应该问题不大!

想深入了解的参考官网,这里我怕我说的也不对,就不多比比了。
官网: https://learn.microsoft.com/zh-cn/sql/relational-databases/sql-server-deadlocks-guide?view=sql-server-2016

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1353757.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

人工智能论文通用创新点(持续更新中...)

1.自注意力机制与卷积结合 论文:On the Integration of Self-Attention and Convolution 1:卷积可以接受比较大的图片的,但自注意力机制如果图片特别大的话,运算规模会特别大,即上图中右边(卷积)会算得比较快&#xf…

SpringMVC学习与开发(三)

注:此为笔者学习狂神说SpringMVC的笔记,其中包含个人的笔记和理解,仅做学习笔记之用,更多详细资讯请出门左拐B站:狂神说!!! 10、ssm整合 问了一下ChatGPT SSM 是一个基于 Java 的开发框架整合,由 Spring、…

以STM32为例,实现按键的短按和长按

以STM32为例,实现按键的短按和长按 目录 以STM32为例,实现按键的短按和长按1 实现原理2 实现代码3 测试结束语 1 实现原理 简单来说就是通过设置一个定时器来定时扫描几个按键的状态,并分别记录按键按下的持续时间,通过时间的长短…

k8s---声明式资源管理(yml文件)

在k8s当中支持两种声明资源的方式: 1、 yaml格式:主要用于和管理资源对象 2、 json格式:主要用于在API接口之间进行消息传递 声明式管理方法(yaml)文件 1、 适合对资源的修改操作 2、 声明式管理依赖于yaml文件,所有的内容都在y…

【致远FAQ】V8.0sp1_门户设置——页面组件中设置列表头的颜色

问题描述 门户设置——页面组件中设置列表头的颜色后,底表数据查看时的列表头颜色没有变呢 解决办法 设置不对cap4生效,只针对原始oa的列表支持(比如协同工作——已办事项、公文等列表项) 设置参考

uni-app 经验分享,从入门到离职(实战篇)——模拟从后台获取图片路径数据后授权相册以及保存图片到本地(手机相册)

文章目录 📋前言⏬关于专栏 🎯需求描述🎯前置知识点🧩uni.showLoading()🧩uni.authorize()🧩uni.downloadFile()🧩uni.saveImageToPhotosAlbum() 🎯演示代码🧩关于图片接…

晓源|算法专栏

文章目录 数据结构1.栈1.1 单调栈1.2括号匹配问题 2.树形结构2.1二叉树2.1.1树形DP 3.动态规划3.1 背包3.2 LIS ERRORheap-buffer-overflow 数据结构 1.栈 1.1 单调栈 单调栈内的元素具有单调性质,要么单调递增,要么单调递减。 1.2括号匹配问题 921…

基于猫群算法优化的Elman神经网络数据预测 - 附代码

基于猫群算法优化的Elman神经网络数据预测 - 附代码 文章目录 基于猫群算法优化的Elman神经网络数据预测 - 附代码1.Elman 神经网络结构2.Elman 神经用络学习过程3.电力负荷预测概述3.1 模型建立 4.基于猫群优化的Elman网络5.测试结果6.参考文献7.Matlab代码 摘要:针…

MySQL中的事务到底是怎么一回事儿

简单来说,事务就是要保证一组数据库操作,要么全部成功,要么全部失败。在MySQL中,事务支持是在引擎层实现的,但并不是所有的引擎都支持事务,如MyISAM引擎就不支持事务,这也是MyISAM被InnoDB取代的…

xlrd.biffh.XLRDError: Can‘t find workbook in 0LE2 compound document

今天在运行之前可以正常运行的程序,解析excel文件,代码简单示例如下: import pandas as pddf pd.read_excel("F:\\1.xlsx")# 解析文件 不过,这次却遇到了一个问题,如下图: 第一次遇到这个错误…

QGIS设计导出Geoserver服务使用的SLD样式

1、打开QGis软件 2、打开shp文件所在所在文件夹,双击添加选中图层 3、编辑shp文件样式 (1)双击“Layers”中需要编辑的图层 (2)选择样式 (3)编辑样式后,选择“应用”—》“确定” 4…

Java经典面试题笔记

一,Java基础 1,说说你对面向对象的理解。 什么是面向对象呢?在所其是什么时,不妨我们先来说说以其不同的一个概念面向过程。面向过程是一个更加注重事情的每一个步骤即顺序,即是强调过程的。而面向对象更加注重有哪些…

Springboot集成RabbitMq一

0、知识点 1、创建项目-生产者 默认官方start.spring.io已不支持自动生成低版本jkd的Spring项目,自定义用阿里云的starter即可:https://start.aliyun.com 2、创建配置类 package com.wym.rabbitmqprovider.utils;import org.springframework.amqp.core.…

数据库设计-DDL

D D L \huge{DDL} DDL DDL:数据库定义语言,用来定义数据对象(数据库、表) 简单操作 首先在cmd中进行操作,登录数据库 show databases; -- 以列表的形式显示所有的数据库create database [if not exists] 数据库名称…

1.3 day3 IO进程线程

使用标准IO进行文件拷贝 #include <myhead.h> int main(int argc, const char *argv[]) {if(argc!3)//外部传参{printf("input error\n");}//定义两个文件指针FILE *fpNULL;FILE *cfpNULL;if((fpfopen(argv[1],"r"))NULL){perror("fopen error…

在宝塔Linux中安装Docker

前言 帮助使用宝塔的用户快速上手docke的安装 &#x1f4da;&#x1f4da; &#x1f3c5;我是默&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; ​​​​ &#x1f31f;在这里&#xff0c;我要推荐给大家我的专栏《Docker》。&#x1f3af;&#x1f3af…

安装Unity详细教程(如何获取免费个人版许可证)

文章目录 下载Unity Hub安装Unity Hub登录获取免费个人版许可证安装Unity编辑器卸载Unity编辑器 下载Unity Hub 首先&#xff0c;我们需要到Unity的官网下载Unity Hub&#xff1a;Unity CN 我们可以在Unity Hub上管理我们的编辑器版本和项目文件。 安装Unity Hub 然后安装Un…

阿赵UE学习笔记——7、导入资源

阿赵UE学习笔记目录 大家好&#xff0c;我是阿赵。   继续学习虚幻引擎的使用。这次将会把一个带动作和贴图的钢铁侠模型&#xff0c;导入的UE的项目中。 1、准备的资源 这里有2个fbx文件&#xff0c;都是带着网格和动画的&#xff0c;模型网格和骨骼是一样的&#xff0c;只…

PRD文档参考

在我们当前的项目中&#xff0c;我们采取了模块化的划分方式。因此&#xff0c;PRD&#xff08;产品需求文档&#xff09;也是按照各个模块进行组织和编辑的。虽然各个模块在功能细节上可能有所差异&#xff0c;但整体风格还是保持了一致性。这种风格使得文档结构清晰&#xff…

2007-2022年上市公司数字化转型数据(区分年报和管理层讨论)(含原始数据+处理代码+结果)

2007-2022年上市公司数字化转型数据&#xff08;年报和管理层讨论&#xff09;&#xff08;含原始数据处理代码结果&#xff09; 1、时间&#xff1a;2007-2022年 2、指标&#xff1a;统计年度、证券代码、人工智能技术、区块链技术、云计算技术、大数据技术、数字技术应用、…