我对 SSAS 中的预定轮询间隔选项感到困惑。假设我希望每 10 分钟更新一次数据。在维度的存储选项对话框中,第一个选项卡显示:“定期更新缓存”并允许我指定每 10 分钟重建一次。在第二个选项卡上,它显示“计划轮询”,并允许我选择 10 分钟的轮询间隔。
每 10 分钟重建一次缓存和每 10 分钟计划轮询有什么区别?两者都需要指定吗?
非常好的问题,如果可以的话,我会投票不止一次:)
基本上,第一个选项卡告诉您缓存将如何更新。根据选项,您需要在第二个选项卡上配置通知的处理方式。
所以,得到你的例子。如果您将“定期更新缓存”设置为 10 分钟,则意味着缓存将每 10 分钟完全重建一次,例如删除它并重新创建它。如果您考虑一下,SQL Server 不需要告诉 SSAS 执行任务,SSAS 知道它必须每 10 分钟到达 SQL Server 以获取新数据。因此,忽略第二个选项卡上的配置。
现在,假设您选择选项一“数据更改时更新缓存”。这意味着只有在 SQL Server 上的数据发生变化时才会更新缓存。为此,SSAS 需要某种通知来了解数据何时发生变化。
那时第二个选项卡就位,您可以在其中选择通知类型。在您的情况下,计划池意味着每隔 10 分钟,SSAS 将运行您在“池查询”中指定的查询以检查数据是否已更改,如果是,它将在“处理查询”中运行查询以实际执行更新数据。
仅供参考,作为通知模式,指定跟踪表要容易得多。您不需要编写查询,只需选择表。