服务器运维过程中偶尔会遇到客户端软件异常的卡顿无法正常操作,那么今天我来简单总结一下对这种异常情况的排查和处理。
工具/原料
SQLSERVER
winserver服务器一台
方法/步骤
1、检查是否持续存在某进程死锁现象SELECTblocking_se衡痕贤伎ssion_id'阻塞进程的ID',wait_du鸡堕樱陨ration_ms'等待时间(毫秒)',session_id'(会话ID)',*FROMsys.dm_os_waiting_tasks---查询死锁进程。execsp_who_lockexecsp_who2020---通过上面的‘阻塞进程的ID’查哪台电脑引起的。dbccinputbuffer(2020)--通过上面的‘阻塞进程的ID’查什么语句引起的。KILL2020--‘强行终止阻塞进程的ID’
2、查看服务器资源监视器中I/O读写情况及磁盘活动占用率是否异常,数据库的临时数据库文件组可分布到多个磁盘实现读写活动均匀分布
3、通过SQLSERVER端的标准报表中查看一段时间内占用I/O总次数的脚本读写情况
4、通过报表性能分析语句排查出现可能影响异常卡顿原因的脚本衡痕贤伎select*fromSys_QueryReportsajoinRep泠贾高框ort_Objectsbona.ReportId=b.IDwhereQueryDate>'2020-01-01'orderbyQueryTimedesc
5、对异常查询报表脚本进行优化处理,如:防死锁,不关联离线表,多个查询数据集的分离,主从数据库查询配置等