【SQL Server】表死锁/解锁和sql语句分析

这篇具有很好参考价值的文章主要介绍了【SQL Server】表死锁/解锁和sql语句分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

表死锁

查询锁的进程

1 首先创建一个测试用的表:

CREATE TABLE Test 
( 
TID INT IDENTITY(1,1) 
) 

2 执行下面的SQL语句将此表锁住:

SELECT * FROM Test WITH (TABLOCKX) 

3 通过下面的语句可以查看当前库中有哪些表是发生死锁的:

SELECT request_session_id spid,OBJECT_NAME(resource_associated_entity_id)tableName 
FROM sys.dm_tran_locks 
WHERE resource_type='OBJECT ' 

4 上面语句执行结果如下:
sqlserver查看锁表和解锁,开发,# 数据库,sql,死锁,索引
spid :被锁进程ID。
tableName:发生死锁的表名。

解锁

5 只需要使用kill关键字来杀掉被锁的进程ID就可以对表进行解锁:

KILL 52

需要将锁表进程 @spid换成 上面查询出来的锁表进程;

declare @spid int 
Set @spid = 65 --锁表进程
declare @sql varchar(1000)
set @sql='kill '+cast(@spid as varchar)
exec(@sql)

sql语句分析

遇到sql执行慢的时候可以使用SQL Server Management Studio的“显示估计的执行计划”功能查看各环节的开销
sqlserver查看锁表和解锁,开发,# 数据库,sql,死锁,索引
sqlserver查看锁表和解锁,开发,# 数据库,sql,死锁,索引
右键选择“缺少索引详细信息”可查看分析器建议添加的索引
sqlserver查看锁表和解锁,开发,# 数据库,sql,死锁,索引

sqlserver查看锁表和解锁,开发,# 数据库,sql,死锁,索引

来源

SqlServer表死锁的解决方法分享文章来源地址https://www.toymoban.com/news/detail-764938.html

到了这里,关于【SQL Server】表死锁/解锁和sql语句分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SQL Server基础-SQL语句

    --1、  创建TestDB数据库 create database TestDB; --2、  查看TestDB数据库是否存在 IF EXISTS (SELECT 1 FROM SYSDATABASES WHERE NAME=\\\'TestDB\\\') SELECT 1 ELSE SELECT 0; --3、  在TestDB数据库创建stuInfo学生表,字段:stuSeat座位号,stuName姓名,stuNo学号,stuAge年龄,stuID身价证号码,stuAddress住址

    2024年02月07日
    浏览(75)
  • SQL Server全套教程(基于SQL语句----预览版)

    数据库创建语法 数据库创建实例示范 解说: 按上图SQL语法即可以创建名为 Mi 的数据库,数据主文件 Mi_data.mdf ,以及数据日志文件 Mi_log.ldf 等 拓展(三种文件类型): .mdf 主数据文件 .ndf 次数据文件 .ndf 日志文件 数据库查看语法 数据库修改语法 解说: 查看数据库可以看到

    2023年04月08日
    浏览(34)
  • 经典SQL语句大全五:SQL Server基本函数

    SQL Server 基本函数 SQL Server基本函数 1.字符串函数 长度与分析用 1,datalength (Char_expr) 返回字符串包含字符数,但不包含后面的空格 2,substring (expression,start,length) 取子串,字符串的下标是从“1”,start为起始位置,length为字符串长度,实际应用中以len(expression)取得其长度 3,right (

    2024年02月12日
    浏览(37)
  • Windows server 2016——SQL server T-SQL查询语句

    作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。  公众号: 网络豆  座右铭:低头赶路,敬事如仪 个人主页: 网络豆的主页​​​​​ 目录 写在前面 介绍 一.SQL简介 1.SQL和T-SQL 2.T-SQL的组成 二.使用T-SQL语句操作数据表 1.插入数据 2.更新数据 ​编

    2024年02月09日
    浏览(52)
  • SqlServer2019—解决SQL Server 无法连接127.0.0.1的问题

    1、打开SQL Server 2019配置管理器 2、SQL Servere 网络配置(启用 Named Pipes 和 TCP/IP)  3、修改TCP/IP协议(右键选择属性—IP地址),具体如下图所示:  4、重启SQL Server服务  

    2024年02月11日
    浏览(51)
  • Slave SQL线程与PXB FTWRL死锁问题分析

    2.27号凌晨生产环境MySQL备库在执行备份期间出现因FLUSH TABLES WITH READ LOCK未释放导致备库复制延时拉大,慢日志内看持锁接近25分钟未释放。 版本: MySQL 5.7.21 PXB 2.4.18 慢查询日志: 备份脚本中的备份命令: mysql_kill.sh的主要逻辑内容: 备份参数: 144是SQL线程,并行复制中的

    2024年04月29日
    浏览(64)
  • SQL Server用sql语句添加列,添加列注释

    SQL Server用sql语句添加列,添加列注释 微软文档: https://learn.microsoft.com/zh-cn/sql/relational-databases/tables/add-columns-to-a-table-database-engine?view=sql-server-ver15

    2024年02月12日
    浏览(36)
  • SQL server 查询语句大全

    在 SQL Server 中,查询语句是最常用的语句类型,用于从数据库中提取有用的信息。SQL Server 中常用的查询语句有 SELECT、FROM、WHERE、GROUP BY、HAVING 和 ORDER BY。 1. SELECT SELECT 语句用于从表中选取数据进行查询,语法如下: ```sql SELECT column1, column2, column3, ...   FROM table_name; ``` 在这个

    2024年02月13日
    浏览(57)
  • SQL Server语句创建表

    今天介绍一下如何使用SQL Server语句创建表并添加数据 首先先了解一下表的模式,在数据库中根据模式进行分组避免表名称的冲突 在SQL Server 2014中直接新建表是默认的前缀dbo 而命名其他的模式需要使用SQL Server语句进行创建 下面将一步一步的进行演示,首先是创建一个数据库

    2023年04月09日
    浏览(36)
  • Navicat连接本地SqlServer出现 [08001][Microsoft][sQL Server Native Client 11.0]命名管道提供程序:无法打开与SQL Server等错误

      使用Navicat连接本地SqlServer [08001][Microsoft][sQL Server Native Client 11.0]命名管道提供程序:无法打开与SQL Server的连接[53].(53)[HYTO0] [Microsoft][SQL Server Native Client 11.0]登录超时已过期(O) [08001][Microsoft][SQL Server Native Client11.0]与SQL Server建立连接时发生了与网络相关的或特定于实例的错误。

    2024年02月11日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包