SSAS Tabular模型运行缓慢

4

你好,我正在处理一个庞大的SSAS表模型,每当我修改最小的内容时,它都会变得非常缓慢。

这个模型非常庞大,我相信这就是问题所在,但是由于我继承了这个模型,目前无法做任何改变。

在使用Visual Studio开发模型期间,是否有办法停止SSAS加载所有数据(或更少的数据)?


你使用了很多度量吗?因为这可能是问题所在(每次更改度量名称、引入计算表等操作时,都会触发序列点算法)。 最近的 SQL Server 2016 SP1(于2017年3月发布)为具有大量度量的模型引入了性能优化。请还要检查 SQL Profiler,看看哪些地方耗时较长,并将更新内容添加到你的初始帖子中。 - Krystian Sakowski
5个回答

9

在我的多维立方体中,我遇到了同样的问题;显然是由于模型中有数百个度量引起的。我尝试了Vercelli所描述的清除过程方法,但在我的情况下没有帮助。为了解决这个问题,我采取了以下措施:

  • 在VS中打开项目
  • 在菜单中选择“Model”
  • 进入“Calculation Options”
  • 选择手动计算

这将把我的时间从7-10分钟降低到3-5秒,即使只是隐藏一个度量也是如此简单。


3
如果您对工作区数据库进行了处理清除,Visual Studio 上将没有任何数据显示。 使用 SSMS 导航到您的工作区实例。数据库将显示为您的表格模型,后跟您的用户名和 GUID。右键单击-> 处理数据库-> 处理清除。 如果您不确定正在处理哪个数据库,请小心尝试此操作。
PS:如果您的事实表已分区,则可以清除这些表,然后仅处理某些分区,以便有一些数据进行测试。

这听起来不错,我应该在SSMS的哪里查找此工作区?我似乎找不到它。谢谢 - Jim
轻松地使用SSMS连接到您正在使用作为工作区的表格实例。您会在那里看到一些数据库。您知道您的工作区实例吗? - vercelli
起初我找不到它,因为我在寻找数据库引擎连接而非分析服务连接!这只是在我的本地主机上,所以如果我处理并清除它,不会影响其他人,只有我自己受影响吗? - Jim
如果这是你的工作区(上面可能有你的名字),请回答“是”。 - vercelli
谢谢你的帮助,已经清除了数据。更新图表视图时仍然感觉相当缓慢,不知道你是否也知道可能是什么原因? - Jim
显示剩余2条评论

1

对于大型、成熟的模型,Visual Studio 不是最好的开发环境。建议尝试使用由 Daniel Otyker 在 GitHub 上创建的 Tabular Editor。它是一个可以在线和离线两种模式下使用的编辑器,速度非常快。此外,它还允许您使用 GUI 或通过一些 C# 脚本批量更改内容(不过无需担心)。GitHub 上有很多文档和良好的示例,可以非常容易地进行定制。另外,Daniel 在 YT 上有一个视频教程,可以帮助您最好地使用这个编辑器。希望这可以帮到您。


1

目前你无法做任何事情 - 我也处于类似的情况,并且已经广泛搜索了解决方案!

有时候会有所帮助,如果您从SSAS\data目录中删除工作区文件(以guid结尾的文件)。这样做会删除模型的本地版本中的所有数据,从而大大减小文件大小。我偶尔这样做,发现它通常会有所帮助 - 它仍然保留表结构和关系等。


1
谢谢Shaun,但我认为Vercelli的答案以更整洁的方式完成了相同的事情,请查看。 - Jim
1
同意,Vercellis的方法比我的好多了 - 以后我会使用这个方法! - Shaun Parker

0

使用Visual Studio 2019构建SSAS立方体时,如果在维护立方体时遇到性能问题,例如修改立方体之间需要等待3-8分钟的延迟。解决此问题的方法是关闭模型的自动计算并将模型计算设置为手动计算。

要更改计算方法,请从Visual Studio 2019 Enterprise SSDT主菜单栏“模型”中选择“计算选项”,然后选择“手动”。

正如您所看到的,它允许在“自动计算”和“手动计算”之间切换。如果选择“手动计算”,则会出现一个菜单选项,提供“立即计算”的选项。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接