Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在Reporting Services中优化报告_Sql_Sql Server 2008_Reporting Services - Fatal编程技术网

Sql 在Reporting Services中优化报告

Sql 在Reporting Services中优化报告,sql,sql-server-2008,reporting-services,Sql,Sql Server 2008,Reporting Services,我有10份报告和250个客户。所有报告都由我的客户运行,每个报告都带有参数。根据参数的不同,同一个报表连接到不同的数据库并获得结果。我知道使用不同的参数缓存不是一个选项。但我不想在白天对实时数据运行这些报告。我能做些什么(快照、订阅)可以在一夜之间运行,并发送这些报告或保存一个可用于未来24小时的快照 提前谢谢。我建议您选择订阅路线,使用订阅会更干净 但是,由于您有250个客户和10个不同的报表,我怀疑您是否希望在报表管理器中配置和管理2500个不同的订阅。。。因此,我建议您阅读每一份报告。我建

我有10份报告和250个客户。所有报告都由我的客户运行,每个报告都带有参数。根据参数的不同,同一个报表连接到不同的数据库并获得结果。我知道使用不同的参数缓存不是一个选项。但我不想在白天对实时数据运行这些报告。我能做些什么(快照、订阅)可以在一夜之间运行,并发送这些报告或保存一个可用于未来24小时的快照


提前谢谢。

我建议您选择订阅路线,使用订阅会更干净


但是,由于您有250个客户和10个不同的报表,我怀疑您是否希望在报表管理器中配置和管理2500个不同的订阅。。。因此,我建议您阅读每一份报告。

我建议您选择订阅方式。

,使用订阅会更干净


但是,由于您有250个客户和10个不同的报表,我怀疑您是否希望在报表管理器中配置和管理2500个不同的订阅。。。因此,我建议您对每个报告进行订阅。

正如M Fredrickson所建议的,根据要发送的不同报告的数量,这里的订阅可能有效

另一种方法是将数据查询合并到单个共享数据源。共享数据源可以启用缓存,并且有几个选项可用于刷新该缓存,例如在首次访问时或在定时计划中。看

缓存数据源面临的挑战是如何通过将所有参数移到其他位置(通常是报表中的数据集过滤器)或单个数据元素(如表格)的过滤器中,从而从实际数据查询中删除所有参数

我使用这种方法隔夜刷新一个10分钟的查询,然后在不到30秒的时间内全天返回报告,并使用许多不同的可能参数过滤数据集


您还可以通过在报表中使用多个数据集将此方法与其他方法混合使用,有些是缓存的,有些不是。

正如M Fredrickson所建议的,根据要发送的不同报表的数量,订阅可能在这里起作用

另一种方法是将数据查询合并到单个共享数据源。共享数据源可以启用缓存,并且有几个选项可用于刷新该缓存,例如在首次访问时或在定时计划中。看

缓存数据源面临的挑战是如何通过将所有参数移到其他位置(通常是报表中的数据集过滤器)或单个数据元素(如表格)的过滤器中,从而从实际数据查询中删除所有参数

我使用这种方法隔夜刷新一个10分钟的查询,然后在不到30秒的时间内全天返回报告,并使用许多不同的可能参数过滤数据集


您还可以通过在报表中使用多个数据集将此方法与其他方法混合使用,有些是缓存的,有些不是。

在使用数据驱动订阅时,请确保将部署到SQL Server Enterprise edition。标准版SQL Server不支持数据驱动订阅。谢谢您的回答。问题是我们使用的是标准版,不能使用数据驱动器订阅。因此,我必须使用订阅或快照。您可以编写SQL查询或.NET代码来批量创建和更改订阅。但这需要自定义代码。事实证明,我可以通过编程方式创建快照。但问题是,当我试图显示它们时,我必须在文本框的操作中使用“转到URL”选项,这将打开一个新的浏览器窗口并需要身份验证。我的用户已经登录到我的网站,不需要知道reporting services的身份验证,我不想向他们提供身份验证。还有什么我能做的吗?我不能使用“转到报告”选项,它抱怨非法字符。如果有人解决了类似问题,请告诉我。谢谢。在使用数据驱动订阅之前,请确保将部署到SQL Server Enterprise edition。标准版SQL Server不支持数据驱动订阅。谢谢您的回答。问题是我们使用的是标准版,不能使用数据驱动器订阅。因此,我必须使用订阅或快照。您可以编写SQL查询或.NET代码来批量创建和更改订阅。但这需要自定义代码。事实证明,我可以通过编程方式创建快照。但问题是,当我试图显示它们时,我必须在文本框的操作中使用“转到URL”选项,这将打开一个新的浏览器窗口并需要身份验证。我的用户已经登录到我的网站,不需要知道reporting services的身份验证,我不想向他们提供身份验证。还有什么我能做的吗?我不能使用“转到报告”选项,它抱怨非法字符。如果有人解决了类似问题,请告诉我。谢谢,谢谢你的回复。但问题是,要做到这一点,我们需要在报告中做很多改变,这是我们目前不想做的。感谢您的回复。但问题是,要做到这一点,我们需要在报告中做很多改变,而我们现在不想这样做。