SQL Server 2000 sp3 升级到sp4后遇到的问题

Donyle 2008-08-19 08:52:44
select c.accnt_no,c.accnt_chi as accntname,c.big_no,c.drcr,case left(c.big_no,1) when 'a' then 0 when 'b' then 0 when 'c' then 0 else 1 end as type
from voucher_detail a,voucher b,accnt c
where c.grade>=9 and a.company=b.company and b.company=c.company and a.company='SM' and a.accnt_no=c.accnt_no
and ((isnull(c.AccGroupID,'')='0002' or isnull(b.AccGroupID,'')='') or
a.deptno in('060400','060405','06040500','06040501','06040502','06040503','06040504','06040505','06040506','06040507','06040508','06040509','06040510','06040511'))
and a.accnt_no<>'3131' and left(a.accnt_no,10)>='1911001001' and left(a.accnt_no,10)<='1911001012' and a.obs<>1 and c.isdetail=1
group by c.accnt_no,c.accnt_chi,c.big_no,c.drcr order by type,c.accnt_no

上面的语句在sp3下查询分析器里很快执行并得到结果,但sp4下查询分析器里执行需要近9分钟才得到结果,导致应用软件在这两种补丁下迥然不同的结果!如何让sp4下的该SQL能像sp3下那样很快执行啊?
是不是还有其它sp4的小编号补丁没有打啊?有没有朋友遇到过类似问题

http://support.microsoft.com/kb/891866/
慢比您预期当您尝试分析查询 SQL Server 2000 中运行查询
感觉可能需要打这个补丁,但官网上没提供下载,郁闷啊!
有朋友能搞到这个补丁吗?
...全文
867 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
Donyle 2008-09-14
  • 打赏
  • 举报
回复
没有找到能解决问题的补丁;可以把stkadj.company in ('AB')这个过滤条件注释掉解决问题,经详细测试没有不良影响!不过后来系统做过月结后就问题不再出现,数据增大到一定量时还会再现此问题!另外一个解决方法是13楼提到的临时的解决方法
Donyle 2008-08-29
  • 打赏
  • 举报
回复
继续等待完美答案中...
Donyle 2008-08-28
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 hery2002 的回复:]
引用 7 楼 Donyle 的回复:
http://support.microsoft.com/kb/891866/
这个文件档提到的补丁下到了,但安装时发现是SP3下的,郁闷

你现在的版本是什么?
SP3还是SP4?
还有就是你在安装SP4后,
有没有看过你上面那个语句的评估成本?
[/Quote]

现在的版本是SP3,1楼里提到的SQL语句能正常执行了,但SP3下又有另外一条SQL语句慢了如下:

select top 20 (stkadj.company) as company,(stkadj.docno) as docno,(stkadj.trndate) as trndate,(stkadj.ifflow) as ifflow,
(stkadj.ifpost) as ifpost,(customer.abrname) as abrname
from (stkadj
inner join customer on stkadj.company=customer.company and stkadj.cusno=customer.cusno )
inner join blcpending_doc p on p.company=stkadj.company and p.docno=stkadj.docno and p.status=1 and p.staffno='004834'
where stkadj.company in ('AB')
and stkadj.ifvalid=1 and stkadj.trncode='4091' and (stkadj.acntperiod='200808')
order by stkadj.docno

上面的语句中注释掉stkadj.company=('AB')或注释掉 and (stkadj.acntperiod='200808')或注释掉 top 20 执行正常,很快就回返回结果!
或者只将p.staffno='004834'改为p.staffno='admin'执行正常,很快就回返回结果!
这一SQL语句在别的服务器上也是SP3就没有问题!区别就是现在的服务器装的是Server 2003 SP2另外一台装的是SP1,应该与这个无关吧!

郁闷啊,试了几个解决类似现象问题的补丁都无效果!目前临时的解决方法是调整SQL Server处理器参数,启用Windows NT纤程,不启用Windows NT纤程,轮换到不启用状态且任务管理器内存不为7.30G左右时即可正常执行该SQL语句!这种状态下最多能用近2G内存!
试过的其中一个补丁http://support.microsoft.com/?kbid=816069
水族杰纶 2008-08-28
  • 打赏
  • 举报
回复
继续帮顶~~~~~
Donyle 2008-08-28
  • 打赏
  • 举报
回复
再顶一下!
parss 2008-08-28
  • 打赏
  • 举报
回复
没遇到过。帮顶
zoujp_xyz 2008-08-27
  • 打赏
  • 举报
回复
没有遇到,帮你顶
Donyle 2008-08-26
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 tianhuo_soft 的回复:]
引用 6 楼 wwd252 的回复:
顶下
[/Quote]
hery2002 2008-08-25
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 Donyle 的回复:]
http://support.microsoft.com/kb/891866/
这个文件档提到的补丁下到了,但安装时发现是SP3下的,郁闷
[/Quote]
你现在的版本是什么?
SP3还是SP4?
还有就是你在安装SP4后,
有没有看过你上面那个语句的评估成本?
Donyle 2008-08-25
  • 打赏
  • 举报
回复
顶一下!
tianhuo_soft 2008-08-22
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 wwd252 的回复:]
顶下
[/Quote]
Donyle 2008-08-22
  • 打赏
  • 举报
回复
http://support.microsoft.com/kb/891866/
这个文件档提到的补丁下到了,但安装时发现是SP3下的,郁闷
wwd252 2008-08-22
  • 打赏
  • 举报
回复
顶下
hery2002 2008-08-21
  • 打赏
  • 举报
回复
[Quote=引用楼主 Donyle 的帖子:]
http://support.microsoft.com/kb/891866/
[/Quote]
View and request hotfix downloads
填好你的邮件地址,然后request一个hotfix就可以了啥~
Donyle 2008-08-21
  • 打赏
  • 举报
回复
已经换回SQL Server sp3,上面的问题解决了,可是又出现新的问题了,另外一条SQL语句执行慢(需要50秒左右)了,经过调整SQL Server的处理器参数(主要是启用与停用Windows NT纤程,变换使用所有处理器与使用一个处理器)后,新问题的SQL语句执行速度正常(需要4秒左右)了,但任务管理器右下角显示的内存使用变成2008M了,调整SQL Server的处理器参数前是7030M.感觉是AWE在调整SQL Server的处理器参数后失效了,如果启用AWE(执行下面的SQL),重启SQL SERVER服务,则问题SQL语句又不正常了!


启用AWE语句
sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure 'awe enabled', 1
RECONFIGURE
GO
sp_configure 'max server memory', 7030
RECONFIGURE
GO

操作系统Windows Server 2003 Enterprise Edition Service Pack 2
数据库:SQL SERVER 2000 Enterprise Edition SP3(8.00.760)
CPU: Intel Xeon E5430 2.66G
内存:8G

另外在Windows Server 2003 Enterprise Edition Service Pack 1
数据库:SQL SERVER 2000 Enterprise Edition SP3(8.00.760)
CPU,内存配置不如这台的机器上两SQL语句都没问题!不会与Win 2003的SP2有关吧,那样的话还得重装回Windwos 20003 SP1了!


如何实现不重做操作系统的情况下,既启用AWE又能顺利执行问题SQL啊!
Donyle 2008-08-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 hery2002 的回复:]

View and request hotfix downloads
填好你的邮件地址,然后request一个hotfix就可以了啥~
[/Quote]
先谢谢,我试试!
Donyle 2008-08-19
  • 打赏
  • 举报
回复
没有朋友遇到过吗?顶一下!
  • 打赏
  • 举报
回复
没遇到过。帮顶

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧