【发布时间】:2014-11-16 15:47:05
【问题描述】:
我们有一个多租户数据仓库(SQL Server 2012 Standard),我想了解我们应该如何在 SQL Server Analysis Services 中实现它。
目前,数据仓库中的源数据位于每个客户端的单独架构中。像这样:SELECT * FROM Datawarehouse.Client1.FactSales。每个客户端都有一个单独的 SSAS 数据库,每个 SSAS 数据库中有 3 个多维数据集。
当我们有一个新客户端时,我们 (1) 编写现有 SSAS 数据库的脚本,(2) 查找并替换客户端名称,然后 (3) 运行脚本。这将为新客户构建一个新的 SSAS 数据库。
我们目前有 3 个客户使用我们的 SSAS 多维数据集,并计划拥有大约 8 个多维数据集,大约有 20 到 30 个客户使用它们。
尽管这可行,这是在 SSAS 中实现多租户架构的最佳方式吗?我想在我们开始添加更多客户端和多维数据集之前确认这一点。而且我们的解决方案需要安全:client1 看不到 Client2 的数据
【问题讨论】:
-
查看 SSAS 角色。您可以使用它们来保护 SSAS 数据库中的数据。您可以直接将用户映射到特定维度属性(客户端名称或 ID),也可以创建将用户映射到客户端的动态安全表。