【发布时间】:2014-02-26 20:32:37
【问题描述】:
我们有大量可以在 2008 服务器上正确运行的报告。它们都是在 Visual Studio 2012 中开发的。
但是,一份报告使 SSRS 服务在服务器上以 100% 的 CPU 使用率运行,需要重新启动服务。
这一切现在都发生在开发服务器上。我们在同一台服务器上拥有 SSRS 和我们的 SQL 数据库。
报告有 10 个参数,对于我们的测试用例,返回 7 行 39 列。在 Sql Management Studio 中使用相同参数运行查询会在不到一秒的时间内返回 7 行,因此它似乎正在呈现杀死服务器的报告。
我可以查看 SSRS 数据库表,但那里的日志并没有告诉我太多信息。我应该寻找什么?我可以检查什么?我可以向社区提供哪些信息以获得更多帮助?
【问题讨论】:
-
您是否将报表项目属性中的目标服务器版本设置为 SQL Server 2008?
-
TargetServerVersion 设置为“SQL 2008 R2 或更高版本”,服务器为 R2。我可以试试 SQL 2008。好主意。
-
Chris Latta,我将内部参数添加到存储过程中,仍然运行超时。不过,有一点需要注意。此存储过程被编写为动态分组。我们传入一个 varchar 字段,对参数进行初始选择到 #tempTable 中,然后根据 GroupBy 参数编写动态 SQL 到组。更好的选择?
-
我从存储过程中删除了动态 SQL 进行测试,报告仍然运行超过 15 分钟。内部变量仍然存在。
标签: visual-studio-2012 reporting-services ssrs-2008