Стратегии развертывания служб SSIS - PullRequest
3 голосов
/ 04 марта 2011

Я рассматривал несколько стратегий развертывания служб SSIS и задавался вопросом, какую из них проще всего поддерживать.Я склонялся к использованию конфигураций SQL Server для размещения строк подключения, а затем запускаю процедуру после импорта пакета с сервера разработки для изменения строк подключения.Тем не менее, у меня 75 пакетов, и это кажется несколько утомительным.Кто-нибудь может предложить хорошую стратегию развертывания?

У меня есть Dev, Stage и несколько активных серверов для развертывания.

Ответы [ 3 ]

2 голосов
/ 04 марта 2011

Мы используем конфигурации SQL для большинства пакетов, созданных моей командой.Чтобы решить проблему миграции, мы добавили вторую конфигурацию, основанную на переменной среды, которая сообщает пакету, какую базу данных конфигурации использовать.Это не может быть хорошим вариантом для всех, но это хорошо работает для нашей установки.

Подробности:

  • Наши пакеты всегда запускаются из заданий агента.
  • Каждыйнаша среда находится на отдельной машине (мы не используем именованные экземпляры, кроме песочницы.)
  • У нас есть копия нашей базы данных конфигурации в экземпляре SQL по умолчанию для каждой машины, и она использует одно и то же имя базы данных.и схема в каждой среде.
  • Пакет просматривает переменную среды имени машины, чтобы указать, какая машина выполняет пакет.
  • Затем пакет ищет базу данных конфигурации на исполняющей машине, чтобы получитьстроки подключения для фактической работы, которую необходимо выполнить.

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

Делая это таким образом, пакет всегда знает, какой сервер его выполняет, и всегда использует конфигурации, связанные с этим сервером.Таким образом, текущее обслуживание и развертывание отдельных пакетов обычно просты.Все, что нам обычно нужно беспокоиться о перемещении, это сам пакет и любые изменения базовой схемы, связанные с обновлением.

0 голосов
/ 24 марта 2011

У нас есть переменная окружения на каждой машине, которая указывает на каталог.В этом каталоге у нас есть один файл конфигурации служб SSIS.Файл конфигурации имеет одну запись - он настраивает свойство строки подключения диспетчера соединений, которое есть во всех наших пакетах, - SSIS_CONFIG.Эта строка подключения указывает на базу данных, в которой есть наша таблица конфигурации для этой среды.

Таблица конфигурации имеет конфигурации для менеджеров соединений, а также различные другие конфигурации.Для ConfigurationFilter для строк диспетчера соединений задано имя базы данных, а в ConfiguredValue есть строка соединения для этой базы данных.

Каждый пакет имеет диспетчер соединений SSIS_CONFIG.Все остальные диспетчеры соединений получают имя базы данных, к которой они подключаются (вместо имен серверов и базы данных по умолчанию в службах SSIS).

Диспетчер соединений SSIS_CONFIG конфигурируется конфигурациями пакетов с косвенным типом конфигурации.XML, где местоположение конфигурации хранится в переменной среды.Каждый другой диспетчер соединений использует тип конфигурации SQL Server, соединение SSIS_CONFIG и фильтр конфигурации имени базы данных, к которой они подключаются.

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

Каждая среда имеет переменную среды и свою собственнуюверсия базы данных и таблица конфигурации.Единственное отличие таблицы конфигурации между средами - это строки подключения в столбце ConfiguredValue.Например, строки подключения в среде DEV указывают на версии баз данных DEV, а записи среды QA указывают на версии баз данных QA.

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

Мы можем использовать этот подход с несколькими экземплярами, работающими на одной машине, используя это в качестве руководства: http://www.sqlservercentral.com/articles/Integration+Services+(SSIS)/69739/

0 голосов
/ 04 марта 2011

Как правило, мне было проще иметь конфигурацию пакета в XML-файле, который содержит все необходимые подключения к базе данных.Это исправляется по мере необходимости, когда пакеты развертываются в каждой среде (это может происходить как часть установки Deployment Manifest).Каждый из ваших 75 пакетов может совместно использовать один и тот же файл конфигурации, что делает управление им очень простым.

...