Подтвердить что ты не робот

Как настроить проект SSIS 2012 для работы в разных конфигурациях среды?

Каким будет лучший логический способ настройки проекта SSIS 2012 года с использованием Модели развертывания проекта?

Рассмотрим сценарий проекта SSIS MyImport-Project с тремя пакетами

Решение по проекту:

  • MyImport-Project
    • Import-Package-01
    • Import-Package-02
    • Import-Package-03

Переменные проекта:

  • Project-DBConnString: используется всеми пакетами для подключения к одной базе данных.
  • Project-FolderPath: используется всеми пакетами для поиска входных файлов

Среды:

Проект развертывается на

  • Сервер QA
  • Сервер промежуточного уровня
  • Производственный сервер

Существует ли стандартный способ настройки параметров проекта?

Я видел немало статей по файлам конфигурации для пакетов. Есть ли способ настроить параметры проекта в зависимости от среды развертывания?

4b9b3361

Ответ 1

Модель развертывания проекта SSIS 2012 обеспечивает большую гибкость при создании среды и настройке значений среды, которые могут отображаться для параметров проекта. Вот пример, который иллюстрирует, как вы можете выполнить пакет, развернутый до Integration Services Catalog, в нескольких средах. В идеальном случае производственная среда должна быть на своем собственном сервере. В этом примере для упрощения используются все среды на одном сервере.

Каталог служб интеграции служб SSIS 2012 со значениями, специфичными для среды:

Предположим, что вы развернули пакет в каталог служб Integration Services с двумя параметрами проекта с именем Environment и FilePath. Чтобы запустить пакет в разных средах, вы можете создать несколько сред под Integration Services Catalogs \ SSIDB \ Folder name \ Environments

В этом примере есть три папки среды с именем DEV, PRD и TST

Environment Folders

Чтобы создать переменные, которые впоследствии должны быть сопоставлены с параметрами проекта, дважды щелкните среду в папке "Окружения". Эти примеры показывают, как настроить значения во всех средах.

Так как пакет имеет два параметра проекта с именем Environment и FilePath, мы создадим две переменные среды с тем же именем. Все среды настроены с именами переменных same, но с different значениями.

DEV Environment

TST Environment

PRD Environment

Чтобы сопоставить переменные среды с параметрами проекта, щелкните правой кнопкой мыши проект в каталоге служб Integration Services и нажмите Configure...

Project Configure

В диалоговом окне "Настройка" нажмите References и добавьте каждую среду, которая должна быть связана с проектом.

Configure References

В диалоговом окне "Настройка" нажмите Parameters. Для каждого параметра, указанного на вкладке Parameters, вам нужно нажать кнопку Ellipsis, чтобы сопоставить соответствующую переменную среды.

Configure Parameters

В диалоговом окне "Установить значение параметра" выберите "Использовать переменную среды" и выберите соответствующую переменную. Здесь отображается отображаемый параметр [Practice.SSDT].[Environment]. Следовательно, он сопоставляется с переменной окружения Environment.

Set Parameter Value

После сопоставления параметра с соответствующей переменной среды вы можете выбрать правильную среду во время выполнения пакета. Чтобы выполнить пакет, щелкните правой кнопкой мыши пакет и нажмите Execute...

Execute Package

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

Execute Package

Образец пакета SO_15206184.dtsx в этом примере просто вставляет значения параметров проекта Environment и FilePath в таблицу. Ниже приведены результаты выполнения пакета в разных средах, даже в том числе из SSDT.

Package Execution Results

Ответ 2

Из моего чтения вашего вопроса у вас есть 3 отдельных сервера для развертывания, каждый из которых имеет собственный экземпляр каталога SSIS. Вы не хотите, чтобы один сервер выполнялся для нескольких сред. Для этого сценария ответ пользователя756519 малопригодно - 10 из 10 для усилий.

Я бы проигнорировал настройку "Среды" в SSIS. Это относится к управлению несколькими средами на одном экземпляре SQL Server.

Вместо этого я бы:

  • задайте значения параметра Project 1 среды 1 в решении Visual Studio и разверните их в среду 1
  • Развертывание в среде 2
  • Используйте SSMS для подключения к среде 2, перейдите в раздел Каталоги служб Integration Services, чтобы найти свой проект, щелкните его правой кнопкой мыши и выберите "Настроить". Отредактируйте параметры, необходимые для среды 2
  • Развертывание в среду 3
  • Используйте SSMS для подключения к среде 3, перейдите в раздел Каталоги служб Integration Services, чтобы найти свой проект, щелкните его правой кнопкой мыши и выберите "Настроить". Отредактируйте параметры, необходимые для среды 3

Теперь вы можете продолжить разработку и развертывание своего проекта в каждой среде. Никакого дополнительного обслуживания не требуется, если вы не добавите/не удалите/не переименуете параметр проекта. Когда какой-либо пакет выполняется на каждой среде/сервере, он будет следовать настройке конфигурации через SSMS