Есть ли способ легко изменить имя сервера в нескольких пакетах служб SSIS программно? - PullRequest
1 голос
/ 04 февраля 2010

Мы создаем несколько пакетов служб SSIS для переноса большой базы данных в рамках цикла выпуска. Мы можем получить около 5-10 пакетов служб SSIS.

Поскольку у нас есть 4 среды (dev, QA, staging, production и т. Д.), Существует ли эффективный способ изменения целевого сервера для каждого пакета служб SSIS при прохождении через разные серверные среды? В идеале может быть запущен скрипт, который будет принимать в качестве параметра нужный сервер.

Ответы [ 3 ]

4 голосов
/ 04 февраля 2010

Вы можете использовать файл конфигурации для хранения строк подключения к серверам.Затем, когда вы перешли из среды в среду, вы просто изменили файл конфигурации.Чтобы просто создать файл конфигурации, на панели управления вашего пакета,
1) щелкните правой кнопкой мыши и выберите Конфигурации пакета из контекстного меню.
2) Установите флажок Включить конфигурации пакета, если он еще не выбран,
3) затем нажмите кнопку Добавить ...
4) Нажмите кнопку "Далее" в диалоговом окне,
5), затем добавьте имя файла конфигурации: и нажмите кнопку "Далее".
6) В представлении объектовВ разделе «Диспетчеры подключений» разверните свое подключение, затем разверните «Свойства» и установите флажок рядом с «ConnectionString».
7) Затем нажмите «Далее»
8) и завершите.

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

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

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

2 голосов
/ 04 февраля 2010

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

1 голос
/ 04 февраля 2010

Ответ Уильяма Тодда Зальцмана охватывает большинство вопросов.У меня есть еще пара, чтобы добавить:

  • Убедитесь, что свойство pacakge ProtectionLevel DontSaveSensitive
  • Если вы работаете с другой доставкойсреды, тогда таблица SQL Server в качестве источника для конфигураций пакетов может быть не для вас, поскольку вам потребуется одна центральная база данных, содержащая все строки подключения для всех серверов.
  • Работая с конфигурациями пакетов, полученными изреестра, вы должны знать, что эти параметры получены из куста HKEY_CURRENT_USER.Это имеет значение для случая, когда пакет запускается через задание агента SQL.
...