【问题标题】:SSAS cube with multiple DB具有多个数据库的 SSAS 多维数据集
【发布时间】:2014-02-26 09:14:57
【问题描述】:

我有 3 个结构相同但数据不同的数据库,因为它们来自不同的客户端。

现在,我有一个现有的 SSAS 项目。它的数据源视图、多维数据集和维度只能使用或访问一个数据库。

  • 我想要的是能够使用具有相同结构的多个数据库,并使用它们创建一个多维数据集。
  • 每个客户端也必须能够使用多维数据集,但他们只能看到自己的数据。

这些可能吗?您能否提供见解和一些有用的参考资料?

【问题讨论】:

    标签: ssas cube bids olap-cube ssas-2008


    【解决方案1】:

    简单的解决方案 解决这个问题的最简单方法是只拥有三个 Analysis Services 数据库。设置很容易,您将只有三个结构相同的数据库,并且无需管理多维数据集内的安全性,只需访问多维数据集。它易于管理,并且难以出错,允许用户访问他们不应该看到的数据。由于不应允许任何人访问其他公司的数据,因此不需要一个通用的立方体。

    只需使用不同的 Analysis Services 数据库名称部署您的项目 3 次。 然后将部署的数据库的数据源对象更改为指向不同的关系数据库。

    第一步,在 Business Intelligence Development Studio 中,右键单击解决方案资源管理器中的项目节点,选择底部条目(“属性”),然后选择“部署”。在这里,您可以输入将解决方案部署到的服务器以及数据库名称。关闭对话框后,再次右键单击项目节点,然后选择部署。重复此步骤,使用三个不同的数据库名称。

    然后,在 SQL Server Management Studio 中连接到您的 Analysis Services 服务器,打开每个数据库,并编辑每个数据库的数据源对象以指向其关系数据库。 之后,重新处理 Analysis Services 数据库。

    或者,您也可以在 BIDS 中执行所有操作,即。 e.在更改目标数据库以进行部署和部署之间,更改那里的数据源,并在部署后可能重新处理 Analysis Services 数据库。

    如果您假设您需要多次更改和部署多维数据集定义,您可能可以使用可以使用“配置管理器”按钮在项目属性对话框中编辑的配置。您将拥有三种配置,一种用于每个目标 Analysis Services 数据库。您可以在工具栏中的下拉列表中为每个部署选择一种配置,而无需一次又一次地编辑属性。

    如果您需要经常执行此操作,我认为通过 XMLA、AMO 或 PowerShell 自动执行更改数据库和重新处理多维数据集的步骤并不难。但要实现这一点,这将是另一个问题。

    更复杂的解决方案

    如果您真的想将所有内容都放在一个多维数据集中,那么您必须在数据源视图中将来自不同源的表合并。如果所有三个关系数据库都在同一个 SQL Server 实例上,则可以将其定义为数据源视图中的命名查询,或其中一个数据库中的视图,甚至更好地定义为单独关系中的视图或表数据库。您可以以NameOfDB.Schema.Tablename 的形式从运行在同一 SQL Server 实例中的另一个数据库访问表或视图。

    如果这些数据库位于不同的实例上,您可以使用链接服务器。

    当然,您必须管理这些不同数据库中的键,以便相同的维度条目具有相同的键,而不同的维度条目具有不同的键。而且您必须在多维数据集中设置安全性,这样任何用户都无法看到不应该看到的数据。

    虽然您可以在 Analysis Services 中为不同的表或 Analysis Services 中的命名查询使用不同的数据源对象,但它们中的每一个都只使用一个,实际上,这是一个发送到此源的 SQL 语句。并且维度需要基于一个数据源视图对象,例如一个命名查询、视图或表。对于事实表,您可以使用分区解决此问题,但对于维度则不行。

    【讨论】:

    • 感谢您的回答,但我只做到了这一点——只需使用不同的 Analysis Services 数据库名称部署您的项目三次。我对此真的很陌生。我已经研究立方体和 SSAS 大约 3 天了。您能否详细解释如何执行您的下一个建议步骤?谢谢弗兰克!
    • @Raii 我编辑了我的答案,为步骤提供了更多详细信息。
    • @FrankPI 我会在后天试试(我现在没有时间),我会告诉你的。谢谢!
    • 嗨@Frank!我重读了你的解决方案。我想如果我这样做,那么会有 3 个 AS DB 名称,因此有 3 个立方体。我需要的是只有 1 个 AS DB 多维数据集可以访问所有 3 个数据源(如上所示)。这个想法是有 1 个多维数据集,可用于按国家或部署站点对数据进行排序。这可能吗?
    • 知道了!谢谢你。现在我知道从哪里开始 =)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多