这是我在尝试处理SQL Server 2012 MOLAP多维数据集时从日志中获得的错误。
"等待页面(1:2044928)数据库ID 2的缓冲区锁存类型3时发生超时。 。42000" Source =" Microsoft SQL Server 2012 Analysis Services" HelpFile ="错误ErrorCode =" 3240034318"说明=" OLAP存储引擎中的错误:处理'测量'时出错。 “PE立方体”的度量值组的划分多维数据集数据库中的多维数据集。"
我编写了XMLA中的处理任务脚本,并通过代理作业中的SSAS命令执行处理。 第一步是处理更新所有维度,这成功,但是当我想处理多维数据集的数据时,加载失败并弹出此错误。
我首先尝试使用SSIS包进行处理,但这导致整个服务器崩溃,而不仅仅是作业失败。这让我相信这是一个性能问题,但运行该作业的机器是一个具有16个处理器和112 GB RAM的Azure VM,所以我不知道在哪里看。我也尝试在服务器上没有任何其他活动的情况下运行该作业,但这没有帮助。 包含SSAS实例的磁盘仍具有500GB可用空间。 度量组正在查询包含1.8亿条记录的表。
在Dev服务器上以较少的数据处理多维数据集时,没有问题。我曾经在SSAS中直接处理SSAS多维数据集时成功完成整个多维数据集,但是通过DTEXEC,SSISDB或使用SSDT,处理导致服务器崩溃。 之前我遇到了不同的超时错误,但在将SSAS ExternalCommandTimeOut,ExternalConnectionTimeOut和ForceCommitTimeout属性调整为0之后,这种情况不再发生了。
我尝试了多种处理设置,但由于我认为这是性能问题,因此我尝试尽可能降低处理性能。
处理设置 对象:多维数据集; 选项:流程数据; 处理订单:按顺序进行单独交易。 回写表选项:使用现有; 不要处理受影响的对象。
更新 我已经处理了自己触发错误的度量,这没有完成,在Activity Monitor中我看到了很多Wait_Type IO_Completion和CXPacket。在查询sys.dm_exe_requests时,我看到一个select with wait_type IO_Completion,它已经运行很长时间了很多次读取。 昨晚我尝试处理除了之前触发错误的measuregroup之外的所有测量,但不幸的是整个服务器再次崩溃......
UPDATE2: 我们已着手升级到高级存储,但这意味着我们必须从A11切换到DS或GS系列。这意味着我们需要调整包含实时解决方案的整个VM的大小,从而导致停机时间和工作量,以恢复VHDS并替换包含部分实时解决方案的当前操作系统磁盘。 我们确定的另一个选项是应用分区或改进度量的基础查询。不幸的是,比预期更多的努力,现在快速解决方案将有助于销售长期的解决方案改进。
UPDATE3: 我们已经与Microsoft联系,他们建议从A11 VM迁移到D14 V2并升级到高级存储磁盘。这将是我们的下一步,将在即将到来的星期五执行。迁移后,我将更新或关闭此帖子。
如果您遗漏了相关信息,请告知我们。任何可以帮助我确定情况的建议都将非常感激!
答案 0 :(得分:0)
升级到更适合该情况的VM(DS14 V2)并升级到P30高级存储磁盘已解决了出现的问题。问题不在于处理或配置多维数据集的方式,而在于使用的硬件。