处理表格模型时出错 - 来自SQL Server代理

时间:2017-06-09 01:21:22

标签: sql-server ssas sql-agent-job ssas-tabular

我们有一个表格多维数据集,SSMS中的处理数据库(完整)工作正常,但是当从SQL Server代理处理时,会抛出以下错误。

 <return xmlns="urn:schemas-microsoft-com:xml-analysis">
    <root xmlns="urn:schemas-microsoft-com:xml-analysis:empty">
    <Messages xmlns="urn:schemas-microsoft-com:xml-analysis:exception">
      <Warning WarningCode="1092550744" Description="Cannot order ''[] by [] because at least one value in [] has multiple distinct values in []. For example, you can sort [City] by [Region] because there is only one region for each city, but you cannot sort [Region] by [City] because there are multiple cities for each region." Source="Microsoft SQL Server 2016 Analysis Services Managed Code Module" HelpFile="" />
    </Messages>
  </root>
</return>

这是从SQL Server代理使用的脚本。

{
  "refresh": {
     "type": "full",
     "objects": [
       {
         "database": "DBName"
       }
      ]
   }
}

有人可以建议如何消除此错误或忽略此错误/警告吗?

谢谢,

4 个答案:

答案 0 :(得分:0)

我有同样的问题,VS 2015中的表格模型,SSAS中的多维数据集。我处理数据库时构建正常,但SQL Server代理正在提出此错误。有几个论坛提到了这个错误,但没有采取进一步调查的步骤。解析度。当“无法订购”为空时,特别困难。我在VS中打开了模型,依次选择每一列,并在过滤器或“按列排序”按钮中查找任何排序操作,这很容易错过。删除所有种类,它建立得很好。记下删除的内容,因为您可能遇到数据问题。 enter image description here

答案 1 :(得分:0)

我也面临着同样的问题。我刚刚将“ full”键入为“ automatic”,它开始起作用。

{
  "refresh": {
    "type": "automatic",
    "objects": [
      {
        "database": "AU MY Model"
      }
    ]
  }
}

答案 2 :(得分:0)

使用SQL Server集成服务(SSIS)进行处理。只需使用“ Analysis Services处理任务”创建一个包。此任务将像SSMS一样处理模型。

该错误消息正确地解释了问题,但无济于事,没有说出哪个属性是有问题的。我正在按帐号对帐号名称进行排序,但是由于有几个具有相同名称但不同编号的帐号,所以出现了同样的错误。设置keepUniqueRows没有帮助。

删除有问题的sortBy可以解决使用SQL Server代理处理时的问题。有趣的是,当sortBy到位并且我使用SSMS处理模型时,帐户已按预期进行了排序。这使我认为这是因为SQL Agent Job将警告解释为错误并进行回滚,但SSMS忽略了它。就像SSMS一样,SSIS任务可能会忽略警告,并且处理成功。

答案 3 :(得分:-1)

试试这个,

<Process xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<Type>ProcessFull</Type> 
<Object>
<DatabaseID>DBName</DatabaseID>
</Object>
</Process>