четверг, 25 августа 2016 г.

Как далать массовую загрузку пакетов SSIS в хранилище

Не так давно на моей работе мы проводили миграцию с MSSQL2008 на MSSQL2014. Больше всего хлопот доставил перенос пакетов SSIS. Учитывая, что в новой версии SSIS поменялись типы объектов и вообще структура пакета, для преобразования придется открыть все проекты и конвертировать пакеты штатными средствами. Это простой, но довольно утомительный процесс, который я здесь не буду описывать.

Когда все пакеты преобразованы, их нужно установить на новом сервере (здесь я имею ввиду, что хранилище пакетов MSSQL сервера). Если вы используете project deployment model, то, возможно, этот процесс будет тривиальным. Проблемы могут возникнуть при использовании package deployment model. Штатными средствами Visual Studio нет возможности осуществить деплоймент всех пакетов проекта одной операцией - нужно каждый пакет устанавливать отдельно. Если вы используете утилиту BIDSHelper, то она позволяет осуществлять массовую установку пакетов проекта. В свойствах проекта на закладке Deploy нужно лишь указать куда устанавливать пакеты. К сожалению, у утилиты BIDSHelper не очень много настроек для управления процессами деплоймента пакетов, и поэтому, если ваши пакеты хранят sensitive данные (ProtectionLevel = EncryptSensitiveWithPassword) и обычно вы его сохраняете в хранилище с опцией rely on server storage and roles for access control, то утилита сохранит их некорректно.

Что можно сделать в данной ситуации?