Конфигурации пакета

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Типы конфигураций пакета

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

Тип

Описание

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

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

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

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

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

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

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

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

Таблица SQL Server

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

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

Выбрав тип конфигурации 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>

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

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

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

SQL Server

Выбрав тип конфигурации 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 (маленький) Будьте в курсе новых возможностей cлужб Integration Services

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

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

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

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

  • Добавлен раздел «Основные сведения о применении параметров конфигурации пакетов во время выполнения».