ERP某一功能突然之间变的不能使用的处理办法


一、现象描述

系统上线都5年了,一直都能正常使用,
今天突然有同事反馈,系统的某一功能无法打开,运行需要等待很久后才能显示数据
或系统运行很久后就返回空列表信息,试了N次后,还是无法获取正确的结果,重启IIS,重启MSSQL后,还是得不到正确解决,
经过代码审查,和sql profiler跟踪,最后核查才发现,mssql没有正确的返回数据,导致erp无法正常使用。


二、现象解决办法


我们可以通过erp运行相关功能的同时,在查询分析器中运行select * from master..sysprocesses where blocked > 0 ,获取此时运行的进程和获取进程所对应的sql脚本,通过优化相关脚本,达到优化数据库的目的。

优化步骤如下:
1 打开erp,运行相关功能,
2 打开mssql查询分析器, 多次运行以下语句,获取

select * from master..sysprocesses where blocked > 0

3 通过返回的spid,通过运行以下语句,获取相关的sql语句

dbcc inputbuffer(spId)

4 对此sql语句,进行估算查询计划,获取可能出现的异常情况

相关阅读:
SQL Server Profiler用法 简介