Как упростить развертывание SSAS из среды DEV в PRO

Вот моя проблема. В моей компании есть команда разработчиков, которая создает кубы, размеры (...) в SSAS в среде DEV (назовем ее SSASDEV). Эта среда ограничена базой данных SQL Server в DEV (назовем ее SQDEV). Моя задача - развернуть их работу из среды DEV в среду PRO. Эта среда PRO (SSASPRO) основана на другой базе данных SQL Server (SQPRO).

В настоящее время команда разработчиков разрабатывает SSAS, присылает мне сценарий XMLA, мне нужно изменить каждое определенное правило безопасности и строку соединения, указанную в этом XMLA (правила безопасности, поскольку она основана на разных ролях в зависимости от среды и строка подключения из-за базы данных SQL Server). Это тяжелая работа для каждого развертывания, поэтому я хочу автоматизировать это.

Единственными способами, которые я нашел, является

(1) - выполнить сценарий куба DEV и применить XMLA к PRO (что делается сейчас).

(2) - для синхронизации кубов (что означает, не обрабатывать, повторно применять правила безопасности и изменять строку соединения).

Я не могу себе представить, что я единственный в этой ситуации во всем мире! У кого-нибудь есть подсказка или подсказка для меня? Существует ли еще один самый простой способ, и я пропустил его? Является ли моя организация-организатор (разные базы данных для каждой среды) не логичной для SSAS?

Я работаю с SSAS 2008R2 и 2012

Большое спасибо за ваши ответы!

7 голосов | спросил el_grom 23 Jpm1000000pmWed, 23 Jan 2013 14:04:39 +040013 2013, 14:04:39

2 ответа


2

Я расскажу вам, как мы развертываем на моем месте проекты SSAS между разными средами. Мы используем набор сценариев Powershell, которые:

Часть 1:

  • получить последнюю версию с сервера сборки и развернуть файл для создания последней рабочей версии XMLA;
  • взять сгенерированный XMLA с сервера сборки и скопировать его на сервер QA;

Часть 2:

  • Теперь на сервере QA мы вручную изменим имя сервера, имя базы данных (заданное как параметры сценарию PS), мы проверяем наличие всех необходимых скриптов;
  • один сценарий PS запускает приведенный XMLA на текущем сервере QA, поэтому создается база данных SSAS (не обрабатывается);
  • скрипт XMLA, который управляет полным процессом куба и его размерами;

Все эти шаги выполняются автоматически, насколько это возможно, с минимальным вмешательством со стороны разработчика /QA. Тем не менее, мы вставляем какие-то глазные промежутки между ними, просто чтобы держать наш разум в безопасности. Я не буду говорить, что это лучший, но он работает и выполняет свою работу. До последнего шага я уверен, что вы можете вставить любой скрипт XMLA для удаления существующих ролей и создания новых. И изменить скрипт PS для выполнения какого-то нового сценария SQL или XMLA совсем не сложно. Я полагаю, что роли и разрешения не так сильно меняются, поэтому они могут быть написаны и использованы повторно.

PS: это среда с пользователями домена и фиксированными серверами (поэтому мы можем использовать акции, учетные записи домена и весь этот пух). Если у вас есть другая среда, это может быть труднее сделать.

ответил Marian 23 Jpm1000000pmWed, 23 Jan 2013 17:23:10 +040013 2013, 17:23:10
0

Прошло пару лет, но я считаю, что это то, что мы работали в моей прежней позиции.

Начиная с базы данных AS с ролями, но без членов роли, сгенерируйте скрипты, чтобы добавить членов и сохранить их как отдельный XML-файл. Кроме того, если есть какие-либо элементы, которые необходимо удалить, скрипт также как отдельный файл.

При переносе базы данных AS в новый экземпляр эти сценарии разрешений выполняются после завершения основной базы данных. Вы можете выполнить их с помощью powershell или SSIS, чтобы перейти к автоматизации развертывания.

Чтобы дополнительно автоматизировать это, вы можете создавать сценарии каждого индивидуального разрешения и составлять пару таблиц SQL-базы SQL, которые содержат взаимосвязь между базами данных AS и разрешениями и местами сценариев. Затем используйте powershell или SSIS для программного применения разрешений к базе данных AS в рамках процесса развертывания.

Итак, роли, которые вы создаете, могут сохраняться во всех ваших средах (и TFS). Это просто члены ролей, которые необходимо изменить между средами, которые могут обрабатываться скриптами. Первоначальная настройка требует некоторых инвестиций, но после завершения она работает довольно плавно.

ответил Wes H 1 J0000006Europe/Moscow 2017, 17:42:44

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132