偶尔我们会遇到无限期挂在我们的SQL Server上的查询。 这个查询是从一个单独的ColdFusion Web服务器调用的。
如果我运行探查器挂起时,我只是看到锁被分配和释放一遍又一遍。 在查询挂起的时候,这个数据库上的所有其他查询都可以正常运行。
奇怪的是我可以从SSMS运行查询,它运行在几秒钟(即使应用程序查询挂起)。
到目前为止唯一的解决scheme是备份数据库,然后恢复数据库。 这立即解决了这个问题。
任何线索到底是怎么回事?
提前致谢!
当然,停止和启动SQL Server服务比进行备份和恢复操作更方便。
在查询“挂起”的同时,通过查询分析器查看GUI中的活动监视器或sp_who2。 你应该能够识别这个过程 – 看看它正在等待什么,或者它是否被阻塞。 重复以查看CPU / IO正在移动。
还要检查SQL和NT日志以了解发生了什么的任何线索。
我build议所有这一切作为第一步。
你可以检查被阻止的进程报告,看看你的查询是否被其他东西locking。
检查这个链接了。