一、数据库服务器资源排查
二、数据库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 ,TIME。介绍如下:
SET STATISTICS PROFILE ON --显示分析、编译和执行查询所需的时间(以毫秒为单位)。
SET STATISTICS IO ON --报告与语句内引用的每个表的扫描数、逻辑读取数(在高速缓存中访问的页数)和物理读取数(访问磁盘的次数)有关的信息。
SET STATISTICS TIME ON --显示每个查询执行后的结果集,代表查询执行的配置文件。
SELECT [字段] FROM [表名] --SQL语句
SET STATISTICS PROFILE OFF
SET STATISTICS IO OFF
SET STATISTICS TIME OFF