今天碰到一个怪事,我一个客户的服务器安装的是SQL SERVER2000企业版,操作系统是WINDOWS2003 SERVER,打了SQL SP4补丁,另外说明一点,我们的程序是每年一个数据库,现在这个数据库从2011-1-1运行至今,数据库大约1.5G,我们的程序除了二个查询打不开以外,其他的都能打开,就是这二个查询有问题,刚开始提示是:死锁 thread/buffer之类的信息,刚开始以为SQL SERVER有问题,重装以后,现在提示超时,同样的程序,连接2010年度的数据库,并且2010年度的数据库比现在的数据库大的多,但查询很正常,然后我又现这个数据库备份到我的笔记本上进行测试,查询2秒就出来结果,这个现象我就纳闷了,用DBCC检测数据库也没有错误提示,请高手指点
select * from b
select * from c
select * from d
看看会不会在查询那一个基表就会卡住或报错,如有,重建这个表.
如select * from a 改为
select * from a with(nolock)
select spid,*
from master..sysprocesses
where spid >= 50
and open_tran > 0
USE master
EXEC sp_configure 'show advanced option', '1'
RECONFIGURE WITH OVERRIDE
GOEXEC sp_configure 'max degree of parallelism', 1
RECONFIGURE WITH OVERRIDE
GO这是从微软网站上看到的,我将并行查询的参数由0 改为了 1就好了