【发布时间】:2010-03-03 22:19:25
【问题描述】:
我有一个大约需要 2 分钟才能运行的查询。就参数或任何东西而言,它并不是非常复杂,而且报告本身并没有进行任何真正广泛的处理。基本上只是以一种很好的格式直接吐出数据。 (实际上其中一份报告根本没有格式化数据,只是返回了一个平面表,打算在 excel 中进行操作。)
它也没有返回大量数据。
但该报告需要 30 多分钟才能运行。
这是什么原因造成的?
这是针对 SQL 2005 数据库的 SSRS 2005 顺便说一句。
编辑:好的,我发现在报告中添加 WITH (NOLOCK) 所需的时间与通过 SSMS 进行查询所需的时间相同。如果查询来自报告服务(或本地计算机上的 Visual Studio),为什么查询的处理方式与来自本地计算机上的 SSMS 的查询不同?我看到查询在 SLEEP_WAIT 模式下在 Activity Monitor 中运行了几次,但没有被任何东西阻止......
EDIT2:连接字符串是:
数据源=SERVERNAME;初始目录=DBName
【问题讨论】:
-
只是一个怀疑,但我怀疑 datasource/ado.net “驱动程序”是问题所在。我对这方面的任何其他 cmet 感兴趣,并且我有过类似的经历。
-
报表中数据源的连接字符串是什么样的?
-
可能相关? stackoverflow.com/questions/2283943/… 虽然你的 NOLOCK 经验可能不会。
标签: reporting-services reportingservices-2005