Конфигурации пакета служб SSIS

Службы SQL Server Integration Services содержат конфигурации пакета, которые можно использовать для обновления значений свойств во время выполнения. Конфигурация представляет собой пару вида «свойство-значение», которая добавляется к завершенному пакету. Обычно свойства пакета устанавливаются в объектах пакета во время его разработки, а затем к пакету добавляется конфигурация. При выполнении пакета он получает новые значения свойств из конфигурации. Например, с помощью конфигурации можно изменить строку соединения в диспетчере соединений или обновить значение переменной. 

Конфигурации пакета дают следующие преимущества.

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

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

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

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

Каждая конфигурация является парой вида «свойство-значение». XML-файл конфигурации и SQL Server могут включать несколько конфигураций.

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

ПримечаниеПримечание

Чтобы ближе ознакомиться с понятиями, приведенными в этом разделе, см. подразделы Учебник. Развертывание пакетов и Занятие 3. Добавление конфигурации пакета раздела Учебник по службам SSIS. Создание простого ETL-пакета.

Основные сведения о применении параметров конфигурации пакетов служб SSIS во время выполнения

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

Когда программа загружает и выполняет пакет, события происходят в следующем порядке.

  1. Программа dtexec загружает пакет.

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

  3. Затем программа применяет параметры, указанные в командной строке.

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

  5. Программа применяет параметры конфигурации переменных родительского пакета.

  6. Программа выполняет пакет.

Способ, которым программа dtexec применяет параметры конфигурации, влияет на следующие параметры командной строки.

  • Во время выполнения можно использовать параметр /Connection или /Set для загрузки параметров конфигурации пакета из расположения, отличного от указанного во время разработки.

  • С помощью параметра /ConfigFile можно загрузить дополнительные параметры конфигурации, не указанные во время разработки.

Однако к этим параметрам командной строки применяются некоторые ограничения.

  • Нельзя использовать параметр /Set или /Connection для переопределения отдельных значений, заданных в конфигурации.

  • Нельзя использовать параметр /ConfigFile для загрузки параметров конфигурации, которые заменяют параметры, указанные во время разработки.

Дополнительные сведения об этих параметрах и о различиях в их работе со службами SQL Server 2005 Integration Services и службами SQL Server 2008 Integration Services см. в разделе Изменения в работе служб Integration Services в SQL Server 2008 R2.

Типы конфигураций пакета служб SSIS

Следующая таблица описывает типы конфигураций пакета.

Тип

Описание

XML-файл конфигурации

XML-файл содержит конфигурации. XML-файл может включать несколько конфигураций.

Переменная среды

Переменная среды содержит конфигурацию.

Параметр реестра

Параметр реестра содержит конфигурацию.

Переменная родительского пакета

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

Таблица SQL Server

Таблица в базе данных SQL Server содержит конфигурацию. Таблица может включать несколько конфигураций.

XML-файлы конфигурации в службах SSIS

Выбрав тип конфигурации XML-файл конфигурации, можно создать новый файл конфигурации, использовать существующий и добавить новые конфигурации или использовать существующий файл и перезаписать его содержимое.

XML-файл конфигурации содержит следующие два раздела.

  • Заголовок, содержащий сведения о файле конфигурации. Этот элемент включает атрибуты, такие как дата создания файла и имя создателя файла.

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

Следующий программный код на языке XML показывает синтаксис XML-файла конфигурации. В этом примере показана конфигурация свойства Value для целочисленной переменной с именем MyVar.

<?xml version="1.0"?>
<DTSConfiguration>
   <DTSConfigurationHeading>
      <DTSConfigurationFileInfo
          GeneratedBy="DomainName\UserName"
          GeneratedFromPackageName="Package"
          GeneratedFromPackageID="{2AF06766-817A-4E28-9878-0DE37A150648}"
          GeneratedDate="2/01/2005 5:58:09 PM"/>
   </DTSConfigurationHeading>
   <Configuration ConfiguredType="Property" Path="\Package.Variables[User::MyVar].Value" ValueType="Int32">
      <ConfiguredValue>0</ConfiguredValue>
   </Configuration>
</DTSConfiguration>

Параметр реестра для хранения конфигурации пакета служб SSIS

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

Если выбран тип конфигурации Запись реестра, необходимо ввести имя раздела реестра в соответствующую строку ввода. Для этого применяется формат <раздел реестра>. Если нужно использовать раздел реестра, корневым разделом которого является не HKEY_CURRENT_USER, то для задания ключа используйте формат <раздел реестра\раздел реестра\...>. Например, чтобы использовать раздел MyPackage, расположенный в разделе SSISPackages, введите SSISPackages\MyPackage.

Тип конфигурации SQL Server служб SSIS

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

Следующая инструкция SQL показывает применяемую по умолчанию инструкцию CREATE TABLE, которую предоставляет мастер настройки пакета.

CREATE TABLE [dbo].[SSIS Configurations]
(
ConfigurationFilter NVARCHAR(255) NOT NULL,
ConfiguredValue NVARCHAR(255) NULL,
PackagePath NVARCHAR(255) NOT NULL,
ConfiguredValueType NVARCHAR(20) NOT NULL
)

Имя, задаваемое для конфигурации, является значением, которое хранится в столбце ConfigurationFilter.

Прямые и косвенные конфигурации

Службы Integration Services предоставляют прямые и косвенные конфигурации. Если задать конфигурации напрямую, службы Integration Services создадут прямую связь между элементом конфигурации и свойством объекта пакета. Прямые конфигурации используются в том случае, когда местоположение источника не меняется. Например, если пользователь уверен, что все развертываемые элементы пакета используют один и тот же путь к файлу, можно задать XML-файл конфигурации.

Косвенные конфигурации используют переменные среды. Конфигурация указывает на переменную среды, содержащую значение конфигурации, вместо задания значения конфигурации напрямую. Использовать косвенные конфигурации лучше в случае, когда местоположение конфигурации меняется для каждого развертываемого пакета.

Внешние ресурсы

Значок служб Integration Services (маленький) Оставайтесь в курсе новых возможностей служб Integration Services

Новейшую документацию, статьи, образцы и видеоматериалы корпорации Майкрософт, а также лучшие решения участников сообщества см. на странице служб Integration Services на сайте MSDN.


Чтобы получать автоматические уведомления об этих обновлениях, подпишитесь на RSS-каналы, предлагаемые на этой странице.

Журнал изменений

Обновленное содержимое

Добавлены сведения о параметре командной строки /Connection и применении конфигураций.