sql server卡慢问题定位与排查过程

2023-03-06 16:25:42
目录
一、数据库服务器资源排查二、数据库sql性能排查2.1、查询哪些资源被阻塞了 和 堵进程2.2、查询spid/BlkBy 阻塞进程语句2.3、查看指定数据库的锁id进行2.4、杀进程三、查询sql语句执行时间和sql语句性能总结

一、数据库服务器资源排查

二、数据库sql性能排查

2.1、查询哪些资源被阻塞了>

1)、查询哪些资源被阻塞了(spid为阻塞进程id)

select * from sys.sysprocesses where status = 'suspended'

2)、查询堵进程(BlkBy阻塞进程id)

sp_who2 active查看堵的进程

2.2、查询spid/BlkBy>
dbcc inputbuffer(spid)

2.3、查看指定数据库的锁id进行

dbcc opentran(tempdb)

2.4、杀进程

kill spid with statusonly

三、查询sql语句执行时间和sql语句性能

通过设置STATISTICS我们可以查看执行SQL时的系统情况。选项有PROFILE,IO>

    SET STATISTICS PROFILE ON        --显示分析、编译和执行查询所需的时间(以毫秒为单位)。SET STATISTICS IO ON        --报告与语句内引用的每个表的扫描数、逻辑读取数(在高速缓存中访问的页数)和物理读取数(访问磁盘的次数)有关的信息。SET STATISTICS TIME ON        --显示每个查询执行后的结果集,代表查询执行的配置文件。
      SELECT [字段] FROM [表名] --SQL语句SET STATISTICS PROFILE OFFSET STATISTICS IO OFFSET STATISTICS TIME OFF

      总结

      到此这篇关于sql>

相关文章 大家在看