简单的解决方案解决 此问题的最简单方法是只拥有三个Analysis Services数据库.安装很简单,您只需要三个结构相同的数据库,无需管理多维数据集中的安全性,只需访问多维数据集.它易于管理,并且很难产生错误,允许用户访问他们看不到的数据.并且由于不允许任何人从其他公司访问数据,因此不需要一个通用的多维数据集.
只需使用不同的Analysis Services数据库名称三次部署项目.然后更改已部署数据库的数据源对象以指向不同的关系数据库.
第一步,在Business Intelligence Development Studio中,右键单击解决方案资源管理器中的项目节点,选择底部条目("属性"),然后选择"部署".在这里,您可以输入要部署解决方案的服务器以及数据库名称.关闭对话框后,再次右键单击项目节点,然后选择Deploy.使用三个不同的数据库名称重复此步骤.
然后,连接到SQL Server Management Studio中的Analysis Services服务器,打开每个数据库,并编辑每个数据库的数据源对象以指向其关系数据库.之后,重新处理Analysis Services数据库.
或者,您也可以在BIDS中执行所有操作,即在更改目标数据库以进行部署和部署之间,在那里更改数据源,以及在部署之后,可能会重新处理Analysis Services数据库.
如果您假设需要多次更改和部署多维数据集定义,则可能可以使用可以使用"Configuration Manager"按钮在项目属性对话框中编辑的配置.您将拥有三个配置,每个配置用于每个目标Analysis Services数据库.您可以在每个部署的工具栏的下拉列表中选择一个配置,而无需反复编辑属性.
如果您需要经常这样做,我认为通过XMLA,或通过AMO或PowerShell自动化更改数据库和重新处理多维数据集的步骤并不困难.但要实现这一点,这将是另一个问题.
更复杂的解决方案
如果您确实希望在一个多维数据集中包含所有内容,则必须在数据源视图中具有来自不同源的表的并集.如果所有三个关系数据库都在同一个SQL Server实例上,则可以将其定义为数据源视图中的命名查询,或者作为其中一个数据库中的视图,甚至可以更好地将其定义为单独关系中的视图或表数据库.您可以从表单中同一SQL Server实例中运行的另一个数据库访问表或视图NameOfDB.Schema.Tablename.
如果这些数据库位于不同的实例上,您可以使用链接的服务器.
当然,您必须管理这些不同数据库中的密钥,以便相同的维度条目具有相同的密钥,并且不同的维度条目具有不同的密钥.而且您必须在多维数据集中设置安全性,以便没有用户可以看到无意见的数据.
虽然您可以在Analysis Services中为Analysis Services中的不同表或命名查询使用不同的数据源对象,但每个只使用一个,实际上,这是一个发送到此源的SQL语句.维度需要基于一个数据源视图对象,例如命名查询,视图或表.对于事实表,您可以使用分区绕过它,但不能用于维度.
| 归档时间: |
|
| 查看次数: |
6960 次 |
| 最近记录: |