三天前,我开始在VS2008上开发现有的报告解决方案。查询大约需要5-50秒(取决于复杂性),然后需要几秒钟来渲染/计算。其中一些只是表格,有些实际上是从底层数据集中汇总的东西。
但是,所有这些报告都在合理的时间内执行/呈现。很久以前它们就被部署到了客户手中,所以我会把所有这些报告称为成熟和有效的。
现在,我必须在我的Windows 7(8GB RAM)台式PC上安装SSDTBI_VS2012_x86_ENU.exe(BIDS-Tools)。安装后,还必须安装相当多的更新。
现在,在尝试渲染相同的报告时,使用VS2008需要大约10-15分钟(!),并且在VS2012上永远需要。我没有让它在一夜之间运行,但我怀疑它会起作用。点击“查看报告”按钮后,我在预览窗格中看到的是“正在加载”微调器对话框。
当然,我启动SQL分析器只是为了确保它不是阻止输出的服务器(服务器在另一台机器上运行)。不,所有查询都及时交付。嗯。我还删除了所有'数据'文件,重新启动VS,重启PC,去吃午饭,喝咖啡。所有那些肮脏的技巧。没有变化。
任务管理器显示devenv.exe(VS2008)或PreviewProcessService.EXE(VS2012)在8核上占总数的13%,这与100%CPU负载非常相似(但是分布在4个CPU上)还有一些磁盘I / O,这些进程很快就消耗和释放RAM。所以我猜,渲染正在进行,但在原子级,我想。
如果我使用相同的查询创建一个新报表,但是只有一个Tablix和一列,则没有任何组合,它“有效”,即报表渲染得足够快。
为了确保我不是偶然修改了RDL,我使用了ZIP中的原始文件和工作文件,并尝试在VS2008上预览它们:它仍然需要15分钟。同一台机器。昨天15秒,今天15分钟。
现在我的问题:这是一个已知的问题吗?我该怎么做才能解决这个问题?我阅读了有关排除报表元素的提示,但是......只有一个Tablix。排除它的工作原理,包括它给出了无限循环。是重新创建报告的唯一解决方案吗?
这里发生了什么?有什么想法吗?
编辑:原因很简单:报告非常复杂(行组和列组)并且计算需要很长时间。 VS2008比VS2012快得多。所以VS2012确实完成了工作,但比VS2008慢得多。