报告未使用缓存数据集,因为它应该

时间:2016-09-29 14:30:30

标签: caching reporting-services reportmanager

我有一个使用共享数据集的报告。它还有几个不同的切片器用于查看数据。数据集非常大,因此我为它创建了一个缓存,因此每次用户点击切片器时都不会加载永久物。缓存设置为每天早上3:30到期,并在凌晨4点刷新。该报告将由15个不同的客户使用,我的公司为每个客户设置了一个单独的数据库。因此,该报告有15个版本,每个版本都有不同的数据源。

我遇到的问题是缓存不能始终如一地工作。有一天,所有报告都在早上的缓存中运行,第二天只有少数报告使用早晨缓存而其他报告则提取实时数据(这意味着需要几分钟才能加载)。我已经进入并清除了每个客户端的缓存,第二天一切正常,但是几天过去了,它又回到了不一致的状态。

我曾经想到的是,可能存储了相同缓存的多个副本,并且报告不知道使用哪个,因此它不使用任何副本。这不应该发生,因为缓存在刷新前半小时被清除,但这可能吗?我想如果有多个缓存副本,报告将使用最新的。

我的另一个想法是,因为有15个报告同时使用相同的参数进行缓存,这可能会使报告混乱。我认为它将使用与其数据源相关联的缓存,但这可能会发生吗?我应该向具有客户端名称的数据集添加参数,所以没有混淆吗?

对于可能造成这种情况的任何其他想法都会有所帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

我弄清楚发生了什么。由于所有报告都在尝试同时缓存,因此并非所有缓存都已成功保存到报表服务器。我错开了缓存时间,这解决了我的问题