从各管理员那里获得相应权限,接入局域网,用远程桌面进入服务器。
服务器的配置,我看了直接傻眼,往好点说,除了显卡,和我十年前用九千块买的家用游戏电脑差不多。
服务器里只有IIS和SQLServer2008,直接查看任务管理器,发现SQLServer内存占用80+%,其他程序占用不多;
这种情况,按我这些年遇到的各种情况,我知道的基本上只有以下四种猜测了:
1、逻辑死循环
①数据与程序共同造成死循环
这种情况一般出现在多年前开发的程序上,也不排除现在还有人这么写......
举个例子,有两条数据{ID:1,ParentID:2}与{ID:2,ParentID:1},于是程序反复调用Select ID,ParentID from x where ID=1与Select ID,ParentID from x where ID=2。
②SQL死循环
以上两种逻辑死循环,使用SQL Server Profiler跟踪一下SQL语句就明白了;
不过,我这次跟踪发现没有新加入执行的SQL,先排除逻辑死循环。
2、死锁
执行以下SQL语句查询正在等待锁释放的语句:
--查询死锁语句,获取blocked字段值
select * from sys.sysprocesses where spid>50 and blocked<>0