SSAS多维数据集重复无法加载模型

时间:2018-07-16 15:38:22

标签: sql-server ssas

问题 BI模型(SSAS Cube)的主要开发人员无法再访问该模型。 当他们尝试在SSAS中打开表格设计器时,会收到以下错误消息。

Error Duplicate ID

有趣的是,当我查找该数据问题时,在源表或该表的模型中找不到它。

另一个有趣的事情是我仍然可以打开模型,但是他不能。

我们认为这可能是权限,但是我和他具有相同的访问权限,并且可以打开表格设计器。

我的下一个想法是,因为这正在作为数据问题传播,也许它不是在寻找正确的数据源,但是只有一个数据仓库可以连接,因此我无法再次复制错误,也无法在检查错误时进行检查。基础表是否甚至存在该记录。

生产中的模型(连接到SQL代理)工作正常,并且运行顺利。

他的模型副本是如何不同步的?关于这里可能发生什么的任何想法?如何解决此问题,以便他可以再次访问?不幸的是,该模型没有版本控制,我可以将模型从生产环境中拉下并让他访问吗?

如果有任何我可以进一步回答的问题,请询问,我会进行更新。

谢谢!

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用重复值在维度上进行流程清除,验证源数据在一对多关系的一侧是否不包含任何重复值,然后重新处理模型?根据大小,如果尺寸足够小,您也可以在整个模型上执行此操作。如果您无法直接访问模型,则还可以通过SSMS或SSIS中的Analysis Services执行DDL任务或处理任务发送处理命令。

就为他从生产中拉出模型而言,您可以备份生产模型并使用replace选项将其恢复到他的版本中。以下命令是备份和还原的示例。这使用的是TMSL,适用于兼容级别1200或更高的型号。如果您的模型低于此级别,则将使用XMLA。

{
"backup": {
"database": "YourSSASDatabaseName",
"file": "C:\\File Path\\YourModelName.abf",
"allowOverwrite": false,
"applyCompression": true
    }
}

请注意allowOverWrite选项:

   {
    "restore": {
    "database": "TargetSSASDatabaseToRestoreTo",
    "file": "C:\\File Path\\YourModelName.abf",
    "allowOverwrite": true,
    "readWriteMode": "readWrite"
      }
    }