SSAS:如何自动化多维数据集处理和用户角色归属?

SSAS : How to automate cube processing and user role attribution?

我一直不得不给新用户一个角色,问题是我必须将它们添加到 6 个不同环境中的 2 个不同的多维数据集,这是添加用户和处理权限的 12 次 table,对于每个新用户来说,在我公司相当弱的笔记本电脑上大约需要一个小时。

有什么方法可以编写一些代码,其中包含您要添加到多维数据集列表的用户列表,并且您只需告诉它在每次添加后处理 table 吗?它现在将成为真正的救星。

在 SSIS 中,您可以使用 Analysis Services 执行 DDL 任务。这可以将 TMSL 脚本作为输入,如下所示。

1) sequence - 此命令允许您执行多个操作

2) createOrReplace - 这将使用新的成员列表刷新角色。请注意,每个现有成员都需要包含在角色中,否则他们将被消灭

3) 刷新 - 处理 table

在 ssis 中,您可能会创建到每个环境的连接并循环访问一组脚本文件,这样您就不需要修改包来添加新成员。

但是,我还建议切换到 AD 组,而不是将显式用户添加到角色中。那么你只需要刷新 table.

{
    "sequence": {
        "operations": [{
                "createOrReplace": {
                    "object": {
                        "database": "<Your Database>",
                        "role": "<Your Role Name>"
                    },
                    "role": {
                        "name": "Reader",
                        "modelPermission": "read",
                        "members": [{
                                "memberName": "<Your Domain>\<User 1>",
                                "memberName": "<Your Domain>\<User 2>",
                                <All the users in the role...>
                            }
                        ]
                    }
                }
            }, {
                "refresh": {
                    "type": "full",
                    "objects": [{
                            "database": "<Your Database>",
                            "table": "<Your Table>"
                        }
                    ]
                }
            }
        ]
    }
}