Sql server 通过防止进程中的查询避免SSAS中的死锁

Sql server 通过防止进程中的查询避免SSAS中的死锁,sql-server,ssas,deadlock,olap,cube,Sql Server,Ssas,Deadlock,Olap,Cube,我有一个SSAS多维数据集,定期对其进行处理,以将新的可用数据集成到源表中 问题是,有时该过程似乎会干扰一些繁重的查询,从而导致锁定冲突。(每2周一次) 我怎样才能避免呢 有没有办法防止SSA在处理多维数据集时执行查询 这不会对性能造成太大的影响,因为处理时间通常很短 此外,重新设计多维数据集以提高性能并降低发生此问题的可能性不是一个选项。关闭防火墙以终止与SSA的所有连接怎么样。我认为禁用NetFirewallRule PowerShell命令可以做到这一点。然后从本地框处理多维数据集。然后再

我有一个SSAS多维数据集,定期对其进行处理,以将新的可用数据集成到源表中

问题是,有时该过程似乎会干扰一些繁重的查询,从而导致锁定冲突。(每2周一次)

我怎样才能避免呢

有没有办法防止SSA在处理多维数据集时执行查询

这不会对性能造成太大的影响,因为处理时间通常很短


此外,重新设计多维数据集以提高性能并降低发生此问题的可能性不是一个选项。

关闭防火墙以终止与SSA的所有连接怎么样。我认为禁用NetFirewallRule PowerShell命令可以做到这一点。然后从本地框处理多维数据集。然后再次启用防火墙规则

另一种不太激烈的方法是编写一个“查询调控器”,它将在处理过程中监控正在运行的查询,并取消任何运行时间超过30秒的查询。这篇博文将为您提供一个遵循的模式:
SSAS表格模型的ForceCommitTimeOut属性与多维模型中的属性类似。这些概率以毫秒为单位,因此您可以通过将值降低到1000ms(即1秒)在功能环境中重现此问题。此问题的解决方案是将此属性中的值增加到0,这意味着等待直到释放锁


感谢您的建议,但1)我们无法控制SSAS实例2)我们知道哪些查询很长,不想取消它们。我们已经想到通过移除维度来减轻立方体的重量。。。