У меня есть следующий сценарий XMLA для добавления пользователей домена к определенной роли членства в SSAS. Он отлично работает, но мне нужно работать в цикле. Таблица со всеми пользователями будет заполнена с Active Directory
. Вопрос в том, как я могу создать вкладку <Member> </Member>
для каждого пользователя, существующего в моем SQL Table
или SSAS Dimension
? Или как я могу разобрать каждое имя пользователя из таблицы как параметр в этом XMLA-Tab
?
Передача параметра в XMLA
Ответы (1)
Я создал сценарий T-SQL здесь, который определяет текущих пользователей и добавляет через связанный сервер к службам SSAS. Нетрудно присоединиться к вашему столу и использовать его в качестве источника участников. Вам может не понадобиться ASSP, если вам все равно, какие члены роли в настоящее время.
Вот шаги по настройке связанного сервера: http://www.mssqltips.com/sqlservertip/2790/dynamic-xmla-using-tsql-for-sql-server-analysis-services/
Если вы не хотите настраивать связанный сервер и устанавливать ASSP для выполнения описанных выше действий, вы можете написать некоторый код C#, который использует библиотеку AMO для поддержки участников.
person
GregGalloway
schedule
20.11.2015
Я создал связанный сервер с именем SSAS и хранимую процедуру для сценария xaml для анализа имени пользователя. Я попытался использовать ваш сценарий с @members, чтобы добавить следующего члена к старому, но когда я выполняю
EXECUTE('CALL ASSP.DiscoverXmlMetadata("\MISystem\Roles\PowerUsers\Members\Member")') at [SSAS]
, где MISystem — это база данных SSAS, а PowerUsers — это имя роли, я получаю следующее сообщение: Невозможно обработать объект РУЧЕЙ. Поставщик OLE DB STREAM для связанного сервера (null) указывает, что объект не имеет столбцов . Я уже установил ASSP.
- person Pirvu Georgian; 23.11.2015
Я проверил, где может быть проблема, и мне кажется, что это проблема с разрешением. Мой пользователь уже является администратором. Связанный сервер SSAS был создан для приема RPC, а поставщик MSOLAP включил параметр Разрешить выполнение.
- person Pirvu Georgian; 23.11.2015
Наконец, я один раз сгенерировал один xaml-скрипт для всех пользователей и проанализировал переменную в вашей хранимой процедуре. Это работает нормально. Кстати, хороший блог @GregGalloway
- person Pirvu Georgian; 23.11.2015