SSAS: Как автоматизировать обработку куба и атрибуцию роли пользователя? - PullRequest
1 голос
/ 31 марта 2020

Я должен был дать роль новым пользователям, проблема, я должен добавить их в 2 разных куба в 6 разных средах, то есть в 12 раз добавить пользователя и обработать таблицу прав, что составляет около часа на довольно слабом ноутбуке моей компании, для КАЖДОГО нового пользователя.

Есть ли способ оправдать написание некоторого кода со списком пользователей, который вы хотите добавить в список кубов, и вы просто скажете его обработать таблица после каждого добавления? Это было бы реальным спасителем жизни прямо сейчас.

1 Ответ

2 голосов
/ 01 апреля 2020

В службах SSIS можно использовать задачу DDL «Службы Analysis Services». В качестве входных данных может использоваться сценарий TMSL , который будет выглядеть следующим образом.

1) sequence - эта команда позволяет выполнять несколько операций

2) createOrReplace - это обновит sh роль с новым списком участников. Обратите внимание, что каждый существующий член должен быть включен в роль, иначе он будет уничтожен

3) refre sh - обрабатывает таблицу

В ssis вы может создать соединение с каждой средой и l oop через набор файлов сценариев, так что вам не нужно будет изменять пакет для добавления новых членов.

Однако я бы также предложил переключиться на группу AD вместо добавления явных пользователей в роль. Тогда вам нужно всего лишь обновить таблицу sh.

{
    "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>"
                        }
                    ]
                }
            }
        ]
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...