Поделиться через


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

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

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

Доступны конфигурации для модели развертывания пакетов. Для моделей развертывания проектов вместо конфигураций используются параметры. Модель развертывания проектов позволяет развертывать проекты служб Службы Integration Services на сервере служб Службы Integration Services. Дополнительные сведения о моделях развертывания см. в разделе Развертывание проектов и пакетов.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Тип

Описание

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.

Если выбран тип конфигурации Параметр реестра, необходимо ввести имя раздела реестра в соответствующую строку ввода. Для этого применяется формат <registry key>. Если нужно использовать раздел реестра, корневым разделом которого является не HKEY_CURRENT_USER, то для задания ключа используйте формат <registry key\registry key\...>. Например, чтобы использовать раздел 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:


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