免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3894 | 回复: 0
打印 上一主题 下一主题

奇怪!SQLServer2000中同样的查询,返回结果不一致! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-18 15:39 |只看该作者 |倒序浏览
大家是否遇见过这个问题,SQLServer2000执行同一存储过程,在数据库数据相同的前提下,多次执行,返回结果偶尔会有不一致的情况。
我们的存储过程有450行,涉及到多个表的关联查询,返回结果在50万条左右。

首先说数据肯定没有变化,我试验时是把生产数据库copy了一份作为Test环境,在那里做的实验。而且发现的现象是比如连续调用该存储过程30次,可能在中间某次出现返回结果不全,而其他的29次返回的都是一样的,如果是数据变化了,那应该是从中间某次开始,后面那些次的结果都变化了;
其次存储过程的参数肯定也没有变化;  

这个问题在网上搜索,发现SQL2000的确有这个现象,微软也为此发过一些补丁,我目前打到的补丁是8.0.2040,比SP4稍高一点,而且我们在发现这个问题之后,也把该存储过程重写了一下,之后的确没再发现这个问题,但是这个问题的出现是随机的,没发现不等于完全避免了;而且我们的系统和财务相关,用户要求统计出来的数据务必准确,有这种错误是不允许的。我目前能想到的最好办法,也就是把同样的存储过程执行两遍,然后比较他们的结果,如果两者相同,则说明返回的结果是正确的,然后show给用户,但是这样做对系统资源的消耗就会加倍,所以我在这里想问问大家有没有见过这个问题,以及有无更好的解决办法,哪怕微软有专门的补丁是针对这个问题的,我们也可以安装该补丁来试验。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP