这是个mssql的问题系统中有一个取报表的存储过程,当多个用户操作同一张报表时,会出现错误,情况如下:
1,仅一个用户操作时,大约2分钟,展现出报表
2,当多个用户操作时,第一个用户能打开报表,其余出错
3,使用查询分析器执行,发现是串行执行的,第一个用1m,第二个2m,
4,如果先打开多个查询分析器后,再找开一个此报表web页,N秒后出现错误
5,感觉是锁的问题。??程序情况
1,是公司以前程序员编写的,我现在负责解决该问题,尽量不要让我重写
2,过程中用大量临时表,动态创建
3,过程从头至尾使用一个事务,包括创建临时表
我的问题:
1,这是为什么
2,如何解决

解决方案 »

  1.   

    參照分析方法
    http://topic.csdn.net/u/20080721/20/15a60db6-34b5-4ea1-b392-11c42270aaab.html
      

  2.   

    临时表在事务中创建与drop,那么创建临时表为什么不影响第二个中再创建该表呢?记得某位前辈曾说过,这个创建表的操作是不在事务中的。难道临时创建的表不同?
      

  3.   

    暂时out一下,发现一些档案中临时表的创建是create #tablename,而我的过程中没有#的前缀,不知道这个有没有影响。大家帮忙想一下,敝人先行告退一下