SSAS 多维数据集使用了错误的数据库

SSAS Cubes are using the wrong database

我开始研究由一位前雇员创建的 SSAS 解决方案。我做的第一件事是重命名 SSAS 服务器实例上的现有数据库名称。新名称是 RMSBak。

在 SSAS 解决方案中,我更改了几列。删除了一些 measure/columns。然后部署和处理多维数据集。 部署工作。处理来自 visual studio 的多维数据集工作正常。

我们有一个 SQL 服务器代理作业,它触发一个 SSIS 包,该包反过来处理多维数据集。然而,工作一直失败。当我在 SSMS 中查看报告时,它显示它正在尝试使用我重命名的数据库。

错误是这样的:

Process Cubes:Error: Errors in the OLAP storage engine: An error occurred while the 'Basis MTM' attribute of the 'MTM' dimension from the 'RMS Data CubesBak' database was being processed.

我检查了我知道的每个连接字符串。它们都指向正确的数据库。然而,工作或 SSIS 包或其他东西坚持使用我重命名的数据库。

@billinkc 是对的。如果您在 SSIS 中使用 SSAS 处理任务,则数据库 ID 在设计时被硬编码。连接字符串的任何更改都不会更改它正在处理的数据库 ID。您必须重新设计 SSAS 处理任务。

或者您可以备份两个数据库,删除两个数据库,然后恢复它们。还原将修复 DatabaseID 以匹配数据库名称。

我个人更喜欢在 SSIS 中使用 C# 脚本任务,它运行几行 AMO 代码来根据连接字符串(而不是硬编码的数据库 ID)处理 SSAS