Развертывание проектов и пакетов служб Integration Services (SSIS)

Область применения: среда выполнения интеграции SSIS SQL Server в Фабрика данных Azure

Службы Integration Services поддерживают две модели развертывания, модель развертывания проекта и устаревшую модель развертывания пакетов. Модель развертывания проекта позволяет развертывать проекты на сервере Служб Integration Services.

Дополнительные сведения об устаревшей модели развертывания пакетов см. в разделе Устаревшее развертывание пакетов (Integration Services).

Примечание.

Модель развертывания проекта была представлена в службах SQL Server 2012 Integration Services (SSIS). При использовании этой модели вы не могли развернуть один пакет или несколько, не развернув весь проект. Служба sql Server 2016 (13.x) Integration Services (SSIS) представила функцию добавочного развертывания пакетов, которая позволяет развертывать один или несколько пакетов без развертывания всего проекта.

Примечание.

В этой статье приводятся общие сведения о развертывании пакетов служб SSIS, а также содержится информация о развертывании пакетов в локальной среде. Пакеты служб SSIS можно также развертывать на следующих платформах:

Сравнение модели развертывания проектов и устаревшей модели развертывания пакетов

Тип модели развертывания, выбранный для проекта, определяет варианты развертывания и администрирования, доступные для проекта. В следующей таблице приведены различия и подобия использования модели развертывания проекта и модели развертывания пакетов.

Использование модели развертывания проекта Использование устаревшей модели развертывания пакетов
Единицей развертывания является проект. Единицей развертывания является пакет.
Для присвоения значений свойствам пакета используются параметры. Для присвоения значений свойствам пакета используются конфигурации.
Проект, содержащий пакеты и параметры, создается в виде файла развертывания проекта (с расширением ISPAC). Пакеты (с расширением DTSX) и конфигурации (с расширением DTSCONFIG) сохраняются в файловой системе отдельно.
Проект, содержащий пакеты и параметры, развертывается в каталог служб SSISDB на экземпляре SQL Server. Пакеты и конфигурации копируются в файловую систему на другом компьютере. Пакеты также можно сохранить в msdb базе данных на экземпляре SQL Server.
Для компонента Database Engine требуется интеграция со средой CLR. Интеграция со средой CLR для компонента Database Engine не требуется.
Значения параметров, относящихся к среде, сохраняются в переменных среды. Значения конфигурации, относящиеся к среде, сохраняются в файлах конфигурации.
Проекты и пакеты в каталоге могут быть проверены на сервере перед выполнением. Для выполнения проверки можно использовать среду SQL Server Management Studio, хранимые процедуры или управляемый код. Проверка пакетов производится перед их выполнением. Также пакеты можно проверить с помощью программы dtExec или управляемого кода.
Пакеты выполняются путем запуска выполнения в компоненте Database Engine. Идентификатор проекта, явные значения проекта (необязательно) и ссылки на среду (необязательно) назначаются выполнению перед его запуском.

Кроме того, вы можете выполнить пакет с использованием dtExec.
Пакеты выполняются с помощью программ выполнения dtExec и DTExecUI . Применимые конфигурации определяются по аргументам командной строки (необязательно).
Во время выполнения события производятся пакетом и автоматически записываются и сохраняются в каталог. Эти события можно запрашивать с помощью представлений Transact-SQL. Во время выполнения события, производимые пакетом, автоматически не записываются. Для записи событий в пакет должен быть добавлен регистратор.
Пакеты выполняются в отдельном процессе Windows. Пакеты выполняются в отдельном процессе Windows.
Для планирования выполнения пакетов используется агент SQL Server. Для планирования выполнения пакетов используется агент SQL Server.

Функции модели развертывания проекта

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

Возможность Description
Параметры Параметр определяет данные, которые будут использоваться пакетом. Параметры могут быть ограничены уровнем пакета или уровнем проекта с использованием параметров пакета и проекта соответственно. Параметры могут использоваться в выражениях или задачах. При развертывании проекта в каталог каждому параметру можно присвоить литеральные значения либо использовать значения по умолчанию, назначенные во время разработки. Вместо литеральных значений можно также установить ссылки на переменные среды. Значений переменных среды разрешаются во время выполнения пакета.
Среды Среда — это контейнер переменных, на которые можно ссылаться проектами служб Integration Services. Каждый проект может иметь несколько ссылок на среду, но один экземпляр выполнения пакета может ссылаться только на переменные одной среды. Среды позволяют организовать значения, назначаемые для пакета. Например, могут существовать среды с именами «Dev», «test» и «Production».
Переменные среды Переменная среды определяет литеральное значение, которое может быть назначено для параметра во время выполнения пакета. Чтобы использовать переменную среды, нужно создать ссылку на среду (в проекте, соответствующем среде, в которой существует параметр), назначить имя переменной среды в качестве значения параметра, а затем, при настройке экземпляра выполнения, указать соответствующую ссылку на среду.
Каталог SSISDB Все объекты Служб Integration Services хранятся и управляются экземпляром SQL Server в базе данных, называемой каталогом SSISDB. Этот каталог позволяет использовать папки для организации проектов и сред. Каждый экземпляр SQL Server может иметь один каталог. В каждом каталоге может быть ноль или более папок. В каждой папке может быть ноль или более проектов и ноль или более сред. Папку в каталоге также можно использовать в качестве границы разрешений для объектов Служб Integration Services.
Хранимые процедуры и представления каталога Для управления объектами служб Integration Services в каталоге можно использовать большое количество хранимых процедур и представлений. Например, можно задавать значения для параметров и переменных среды, создавать и запускать выполнения, а также отслеживать операции каталога. Возможно даже увидеть, какие именно значения будут использованы пакетом до его выполнения.

Развертывание проектов

В основе модели развертывания проекта лежит файл развертывания проекта (с расширением ISPAC). Файл развертывания проекта — это автономная единица развертывания, включающая в себя только важные сведения о пакетах и параметрах проекта. В файл развертывания проекта не заносятся все сведения, содержащиеся в файле проекта служб Integration Services (с расширением DTPROJ). Например, в файле развертывания проекта не хранятся дополнительные текстовые файлы, используемые при записи примечаний, и, как следствие, они не развертываются в каталог.

Разрешения, необходимые для развертывания проектов и пакетов служб SSIS

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

A .NET Framework error occurred during execution of user-defined routine or aggregate "deploy_project_internal": System.ComponentModel.Win32Exception: A required privilege is not held by the client.

Как правило, эта ошибка связана с отсутствием разрешений DCOM. Чтобы устранить ее, выполните следующие действия.

  1. Откройте консоль Службы компонентов (или запустите программу Dcomcnfg.exe).
  2. В консоли Службы компонентов разверните узел Службы компонентов>Компьютеры>Мой компьютер>Настройка DCOM.
  3. Найдите в списке элемент Microsoft SQL Server Integration Services xx.0 для версии SQL Server, которую вы используете. Например, для SQL Server 2016 следует искать версию 13.
  4. Щелкните его правой кнопкой мыши и выберите Свойства.
  5. В диалоговом окне Свойства Microsoft SQL Server Integration Services 13.0 перейдите на вкладку Безопасность.
  6. Для каждого из трех наборов разрешений ("Запуск и активация", "Доступ" и "Настройка") выберите Настроить и нажмите кнопку Изменить, чтобы открыть диалоговое окно Разрешение.
  7. В диалоговом окне Разрешение добавьте учетную запись службы вместо установленной по умолчанию и предоставьте необходимые разрешения с помощью команды Разрешить. Как правило, у учетной записи есть разрешения Локальный запуск и Локальная активация.
  8. Дважды нажмите кнопку "ОК", а затем закройте консоль служб компонентов.

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

Deploy Projects to Integration Services Server

В текущем выпуске служб Integration Services можно развернуть проекты на сервере Служб Integration Services. Сервер служб Integration Services позволяет управлять пакетами, запускать пакеты и настраивать значения среды выполнения для пакетов с помощью сред.

Примечание.

Как и в более ранних версиях служб Integration Services, в текущем выпуске можно также развернуть пакеты в экземпляре SQL Server и использовать службу Integration Services для запуска пакетов и управления ими. Использование модели развертывания пакетов. Дополнительные сведения см. в разделе Устаревшее развертывание пакетов (Integration Services).

Чтобы развернуть проект на сервере Служб Integration Services, выполните следующие задачи:

  1. Создайте каталог SSISDB, если он еще не создан. Дополнительные сведения см. в разделе Каталог служб SSIS.

  2. Мастер преобразования проекта служб Integration Services преобразует проект в модель развертывания проекта. Дополнительные сведения см. в следующих инструкциях. Преобразование проекта в модель развертывания проекта

    • Если вы создали проект в SQL Server 2014 Integration Services (SSIS) или более поздней версии, по умолчанию проект использует модель развертывания проекта.

    • Если вы создали проект в предыдущем выпуске служб Integration Services, после открытия файла проекта в Visual Studio преобразуйте проект в модель развертывания проекта.

      Примечание.

      Если проект содержит один или более источников данных, то они будут удалены после завершения преобразования проекта. Для создания соединения с источником данных, который может совместно использоваться пакетами в проекте, добавьте диспетчер соединений на уровне проекта. Дополнительные сведения см. в статье Добавление, удаление или совместное использование диспетчера соединений в пакете.

      В зависимости от того, запускается ли мастер преобразования проектов служб Integration Services из Visual Studio или из SQL Server Management Studio, мастер выполняет различные задачи преобразования.

      • При запуске мастера из Visual Studio пакеты, содержащиеся в проекте, преобразуются из служб Integration Services 2005, 2008 или 2008 R2 в формат, используемый текущей версией служб Integration Services. Исходные файлы проекта (DTPROJ) и пакета (DTSX) обновляются.

      • При запуске мастера из SQL Server Management Studio мастер создает файл развертывания проекта (ISPAC) из пакетов и конфигураций, содержащихся в проекте. Исходные файлы пакета (DTSX) не обновляются.

        На странице Выбор назначения мастера вы можете создать или выбрать существующий файл.

        Чтобы обновить файлы пакетов при преобразовании проекта, запустите мастер преобразования проектов служб Integration Services из Visual Studio. Чтобы обновить файлы пакетов отдельно от преобразования проекта, запустите мастер преобразования проектов служб Integration Services из SQL Server Management Studio, а затем запустите мастер обновления пакетов SSIS. Если выполняется только обновление файлов пакета, следует убедиться в том, что внесенные изменения сохранены. В противном случае при преобразовании проекта в модель развертывания проекта несохраненные изменения в пакете преобразованы не будут.

    Дополнительные сведения об обновлении пакетов см. в разделах Обновление пакетов служб Integration Services и Обновление пакетов служб Integration Services с помощью мастера обновления пакетов служб SSIS.

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

  4. (Необязательно.) Создайте среду для развернутого проекта.

Преобразование проекта в модель развертывания проекта

  1. Откройте проект в Visual Studio, а затем в Обозреватель решений щелкните проект правой кнопкой мыши и выберите "Преобразовать в модель развертывания проекта".

    –или–

    В обозреватель объектов в Management Studio щелкните правой кнопкой мыши узел "Проекты" и выберите пункт "Импорт пакетов".

  2. Завершите работу мастера.

Развертывание проекта на сервере служб Integration Services

  1. Откройте проект в Visual Studio, а затем в меню "Проект " выберите "Развернуть ", чтобы запустить мастер развертывания служб Integration Services.

    or

    В SQL Server Management Studio разверните узел Integration Services>SSISDB в обозревателе объектов и найдите папку "Проекты" для того проекта, который требуется развернуть. Щелкните правой кнопкой мыши папку "Проекты " и выберите " Развернуть проект".

    or

    Из командной строки запустите isdeploymentwizard.exe , расположенный в каталоге %ProgramFiles%\Microsoft SQL Server\130\DTS\Binn. На 64-разрядных компьютерах есть также 32-разрядная версия средства в каталоге %ProgramFiles(x86)%\Microsoft SQL Server\130\DTS\Binn.

  2. На странице "Выбор источника" выберите файл развертывания Project, чтобы выбрать файл развертывания для проекта.

    or

    Выберите каталог служб Integration Services, чтобы выбрать проект, который уже развернут в каталоге SSISDB.

  3. Завершите работу мастера.

Развертывание пакетов на сервере служб Integration Services

Функция добавочного развертывания пакетов, представленная в SQL Server 2016 (13.x) Integration Services (SSIS), позволяет развертывать один или несколько пакетов в существующем или новом проекте без развертывания всего проекта.

Развертывание пакетов с помощью мастера развертывания служб Integration Services

  1. Из командной строки запустите isdeploymentwizard.exe , расположенный в каталоге %ProgramFiles%\Microsoft SQL Server\130\DTS\Binn. На 64-разрядных компьютерах есть также 32-разрядная версия средства в каталоге %ProgramFiles(x86)%\Microsoft SQL Server\130\DTS\Binn.

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

  3. Завершите работу мастера. Выполните оставшиеся действия, описанные в статье Package Deployment Model.

Развертывание пакетов с помощью среды SQL Server Management Studio

  1. В обозревателе объектов среды SQL Server Management Studio разверните узел Каталоги служб Integration Services>SSISDB .

  2. Щелкните правой кнопкой мыши папку "Проекты ", а затем выберите " Развернуть проекты".

  3. Если вы видите страницу "Введение" , нажмите кнопку "Далее ", чтобы продолжить.

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

  5. Завершите работу мастера. Выполните оставшиеся действия, описанные в статье Package Deployment Model.

Развертывание пакетов с помощью SQL Server Data Tools (Visual Studio)

  1. В Visual Studio откройте проект служб Integration Services, выберите пакет или пакеты, которые требуется развернуть.

  2. Щелкните правой кнопкой мыши и выберите пункт Развернуть пакет. Откроется мастер развертывания, в котором выбранные пакеты будут настроены в качестве исходных.

  3. Завершите работу мастера. Выполните оставшиеся действия, описанные в статье Package Deployment Model.

Развертывание пакетов с помощью хранимой процедуры deploy_packages

Чтобы развернуть один или несколько пакетов служб SSIS в каталоге служб SSIS, можно использовать хранимую процедуру [catalog].[deploy_packages] . В следующем примере кода показано использование этой хранимой процедуры для развертывания пакетов на сервере служб SSIS. Дополнительные сведения см. в разделе catalog.deploy_packages.

private static void Main(string[] args)
{
    // Connection string to SSISDB
    var connectionString = "Data Source=.;Initial Catalog=SSISDB;Integrated Security=True;MultipleActiveResultSets=false";

    using (var sqlConnection = new SqlConnection(connectionString))
    {
        sqlConnection.Open();

        var sqlCommand = new SqlCommand
        {
            Connection = sqlConnection,
            CommandType = CommandType.StoredProcedure,
            CommandText = "[catalog].[deploy_packages]"
        };

        var packageData = Encoding.UTF8.GetBytes(File.ReadAllText(@"C:\Test\Package.dtsx"));

        // DataTable: name is the package name without extension and package_data is byte array of package.
        var packageTable = new DataTable();
        packageTable.Columns.Add("name", typeof(string));
        packageTable.Columns.Add("package_data", typeof(byte[]));
        packageTable.Rows.Add("Package", packageData);

        // Set the destination project and folder which is named Folder and Project.
        sqlCommand.Parameters.Add(new SqlParameter("@folder_name", SqlDbType.NVarChar, ParameterDirection.Input, "Folder", -1));
        sqlCommand.Parameters.Add(new SqlParameter("@project_name", SqlDbType.NVarChar, ParameterDirection.Input, "Project", -1));
        sqlCommand.Parameters.Add(new SqlParameter("@packages_table", SqlDbType.Structured, ParameterDirection.Input, packageTable, -1));

        var result = sqlCommand.Parameters.Add("RetVal", SqlDbType.Int);
        result.Direction = ParameterDirection.ReturnValue;

        sqlCommand.ExecuteNonQuery();
    }
}

Развертывание пакетов с помощью API объектной модели управления

В следующем примере кода показано использование API объектной модели управления для развертывания пакетов на сервере.

static void Main()
 {
     // Before deploying packages, make sure the destination project exists in SSISDB.
     var connectionString = "Data Source=.;Integrated Security=True;MultipleActiveResultSets=false";
     var catalogName = "SSISDB";
     var folderName = "Folder";
     var projectName = "Project";

     // Get the folder instance.
     var sqlConnection = new SqlConnection(connectionString);
     var store = new Microsoft.SqlServer.Management.IntegrationServices.IntegrationServices(sqlConnection);
     var folder = store.Catalogs[catalogName].Folders[folderName];

     // Key is package name without extension and value is package binaries.
     var packageDict = new Dictionary<string, string>();

     var packageData = File.ReadAllText(@"C:\Folder\Package.dtsx");
     packageDict.Add("Package", packageData);

     // Deploy package to the destination project.
     folder.DeployPackages(projectName, packageDict);
 }

Преобразовать в модель диалоговое окно "пакет развертывания"

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

Преобразование пакета в модель развертывания пакетов выполняется в два этапа.

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

    Если проект или пакет завершается сбоем теста совместимости, выберите "Сбой" в столбце "Результат" для получения дополнительных сведений. Нажмите кнопку "Сохранить отчет ", чтобы сохранить копию этих сведений в текстовый файл.

  2. Если проект и все пакеты проходят проверку совместимости, нажмите кнопку "ОК ", чтобы преобразовать пакет.

Примечание.

Для преобразования проекта в модель развертывания проектов воспользуйтесь Мастером преобразования проекта служб Integration Services. Дополнительные сведения см. в статье Integration Services Project Conversion Wizard.

Мастер развертывания служб Integration Services

Мастер развертывания служб Integration Services поддерживает две модели развертывания:

  • Модель развертывания проекта
  • Модель развертывания пакета

Модель развертывания проекта позволяет развернуть проект служб SQL Server Integration Services (SSIS) как единый объект в каталоге служб SSIS.

Модель развертывания пакета позволяет развертывать обновленные пакеты в каталоге служб SSIS, не развертывая весь проект.

Примечание.

По умолчанию мастер использует модель развертывания проекта.

Запуск мастера

Запустите мастер одним из следующих способов.

  • Введите "мастер развертывания SQL Server" в Windows Search.

or

  • Найдите исполняемый файл ISDeploymentWizard.exe в папке установки SQL Server, например C:\Program Files (x86)\Microsoft SQL Server\130\DTS\Binn.

Примечание.

Если появится страница "Введение" , нажмите кнопку "Далее ", чтобы перейти на страницу "Выбор источника ".

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

Модель развертывания проекта

Выбор источника

Чтобы развернуть созданный файл развертывания проекта, выберите Файл развертывания проекта и введите путь к ISPAC-файлу. Чтобы развернуть проект, расположенный в каталоге служб Integration Services, выберите каталог Служб Integration Services, а затем введите имя сервера и путь к проекту в каталоге. Нажмите кнопку Далее, чтобы просмотреть страницу Выбор назначения.

Выбор назначения

Чтобы выбрать целевую папку для проекта в каталоге служб Integration Services, введите экземпляр SQL Server или выберите "Обзор ", чтобы выбрать из списка серверов. Введите путь проекта в SSISDB или нажмите кнопку "Обзор ", чтобы выбрать его. Нажмите кнопку "Рядом ", чтобы просмотреть страницу "Рецензирование ".

Просмотр (и развертывание)

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

Результаты

После завершения развертывания появится страница Результаты . На ней отображается состояние выполнения каждого действия. Если действие завершается ошибкой, выберите "Сбой " в столбце "Результат ", чтобы отобразить объяснение ошибки. Нажмите кнопку "Сохранить отчет", чтобы сохранить результаты в XML-файле или выбрать "Закрыть ", чтобы выйти из мастера.

Модель развертывания пакета

Выбор источника

На странице Выбор источникамастера развертывания служб Integration Services содержатся параметры модели развертывания пакета, если в качестве модели развертывания выбран вариант Развертывание пакета.

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

Состояние пакета можно просмотреть в столбцах Состояние и Сообщение . Если для состояния задано значение Готово или Предупреждение, мастер развертывания не заблокирует развертывание. Если для состояния задано значение Ошибка, мастер остановит развертывание пакетов. Чтобы просмотреть подробные сообщения об предупреждениях или ошибках, выберите ссылку в столбце "Сообщение ".

Если конфиденциальные данные или данные пакета шифруются паролем, введите пароль в столбце "Пароль " и нажмите кнопку "Обновить ", чтобы проверить, принимается ли пароль. Если пароль указан правильно, значение состояния изменится на Готово , а предупреждающее сообщение исчезнет. При наличии нескольких пакетов с одинаковым паролем выберите пакеты с одинаковым паролем шифрования, введите пароль в текстовом поле Пароль и нажмите кнопку Применить. Пароль будет применен к выбранным пакетам.

Если для состояния всех выбранных пакетов не задано значение Ошибка, активируется кнопка Далее , чтобы можно было продолжить развертывание пакетов.

Выбор назначения

После выбора источников пакетов нажмите кнопку "Далее ", чтобы перейти на страницу "Выбор назначения ". Пакеты нужно развертывать в проект в каталоге служб SSIS (SSISDB). Перед развертыванием пакетов убедитесь, что проект назначения уже существует в каталоге служб SSIS. Если проекта не существует, создайте пустой проект. На странице "Выбор назначения" введите имя сервера в текстовом поле "Имя сервера" или нажмите кнопку "Обзор...", чтобы выбрать экземпляр сервера. Затем нажмите кнопку "Обзор... рядом с текстовым полем "Путь", чтобы указать целевой проект. Если проект не существует, нажмите кнопку "Создать проект... ", чтобы создать пустой проект в качестве целевого проекта. Проект обязательно создается в папке.

Просмотр и развертывание

Нажмите кнопку "Далее" на странице "Выбор назначения", чтобы перейти на страницу проверки в мастере развертывания служб Integration Services. Просмотрите сводный отчет о развертывании на странице просмотра. После проверки нажмите кнопку "Развернуть ", чтобы выполнить действие развертывания.

Результаты

По завершении развертывания отобразится страница Результаты . На странице Результаты просмотрите результаты на каждом этапе развертывания. Нажмите кнопку "Сохранить отчет", чтобы сохранить отчет о развертывании или закрыть мастер.

Создание и сопоставление серверной среды

Вы создаете среду сервера, чтобы указать значения среды выполнения для пакетов, содержащихся в проекте, развернутом на сервере Служб Integration Services. Можно сопоставить переменные среды с параметрами для определенного пакета, для пакетов точки входа или для всех пакетов в данном проекте. Пакет точки входа — обычно родительский пакет, который выполняет дочерний пакет.

Внимание

Для данного выполнения пакет может выполняться только со значениями, содержащимися в односерверной среде.

У представлений можно запрашивать список серверных сред, ссылок на среды и переменных сред. Также можно вызывать хранимые процедуры для добавления, удаления и изменения сред, ссылок на среды и переменных сред. Дополнительные сведения см. в разделе Серверные среды, переменные сервера и ссылки на серверные среды в SSIS Catalog.

Создание и использование серверной среды

  1. В Management Studio разверните узел "Каталоги Integration Services" SSISDB в обозревателе объектов и найдите папку Среды проекта, для которого требуется создать среду.

  2. Щелкните правой кнопкой мыши папку "Среды" , а затем выберите "Создать среду".

  3. Введите имя для среды и, при желании, описание. Нажмите ОК.

  4. Щелкните правой кнопкой мыши новую среду и выберите пункт "Свойства".

  5. На странице Переменные выполните следующие действия, чтобы добавить переменную.

    1. Выберите Тип переменной. Имя переменной не обязательно должно совпадать с именем параметра проекта, с которым эта переменная будет сопоставлена.

    2. Введите необязательное Описание для переменной.

    3. Введите Значение переменной среды.

      Сведения о правилах для имен переменных сред см. в разделе Переменная среды в SSIS Catalog.

    4. Укажите, содержит ли переменная конфиденциальное значение, установив или сняв флажок Конфиденциально .

      Если флажок Конфиденциальноустановлен, значение переменной не отображается в поле Значение .

      Конфиденциальные значения шифруются в каталоге SSISDB. Дополнительные сведения о шифровании см. в разделе SSIS Catalog.

  6. На странице Разрешения предоставьте или запретите соответствующие разрешения выбранным пользователям и ролям, выполнив следующие действия.

    1. Выберите "Обзор", а затем выберите одного или нескольких пользователей и ролей в диалоговом окне "Обзор всех субъектов".

    2. В области Имена входа или роли выберите пользователя или роль, которой будут предоставлены или запрещены разрешения.

    3. В области Явно щелкните Предоставить или Запретить рядом с каждым разрешением.

  7. Чтобы выполнить скрипт среды, выберите "Скрипт". По умолчанию скрипт открывает новое окно редактора запросов.

    Совет

    После внесения одного или изменений в свойства среды необходимо выбрать сценарий , например добавить переменную, и перед нажатием кнопки "ОК " в диалоговом окне "Свойства среды". В противном случае скрипт создан не будет.

  8. Нажмите кнопку "ОК ", чтобы сохранить изменения в свойствах среды.

  9. В узле SSISDB в обозреватель объектов разверните папку "Проекты", щелкните проект правой кнопкой мыши и нажмите кнопку "Настроить".

  10. На странице "Ссылки" выберите "Добавить", чтобы добавить среду, а затем нажмите кнопку "ОК", чтобы сохранить ссылку в среде.

  11. Снова щелкните проект правой кнопкой мыши и выберите пункт "Настроить".

  12. Чтобы сопоставить переменную среды с параметром, добавленным в пакет во время разработки или с параметром, который был создан при преобразовании проекта Служб Integration Services в модель развертывания проекта, сделайте следующее:

    1. На вкладке "Параметры" на странице "Параметры" нажмите кнопку обзора рядом с полем "Значение".

    2. Выберите "Использовать переменную среды" и выберите созданную переменную среды.

  13. Для сопоставления переменной среды со свойством диспетчера соединений выполните следующие действия. Параметры для свойств диспетчера соединений автоматически создаются на сервере служб SSIS.

    1. На вкладке диспетчер подключений на странице "Параметры" нажмите кнопку обзора рядом с полем "Значение".

    2. Выберите "Использовать переменную среды" и выберите созданную переменную среды.

  14. Дважды нажмите кнопку "ОК ", чтобы сохранить изменения.

Развертывание и выполнение пакетов служб SSIS с помощью хранимых процедур

При настройке проекта Служб Integration Services для использования модели развертывания проекта можно использовать хранимые процедуры в каталоге служб SSIS для развертывания проекта и выполнения пакетов. Дополнительные сведения о модели развертывания проектов см. в разделе Deployment of Projects and Packages.

Вы также можете использовать SQL Server Management Studio или SQL Server Data Tools (SSDT) для развертывания проекта и выполнения пакетов. Дополнительные сведения см. в разделе См. также .

Совет

Не составит труда создать инструкции Transact-SQL для хранимых процедур, перечисленных в следующей процедуре, за исключением catalog.deploy_project, выполнив следующие действия.

  1. В СРЕДЕ SQL Server Management Studio разверните узел каталогов служб Integration Services в обозреватель объектов и перейдите к пакету, который требуется выполнить.
  2. Щелкните пакет правой кнопкой мыши и выберите "Выполнить".
  3. При необходимости задайте значения параметров, свойства диспетчера соединений и параметры на вкладке Дополнительно , например уровень ведения журнала.

Дополнительные сведения об уровнях ведения журнала см. в разделе Включение ведения журналов при выполнении пакета на сервере служб SSIS.
4. Перед нажатием кнопки "ОК" для выполнения пакета выберите "Скрипт". Transact-SQL отображается в окне Редактор запросов в SQL Server Management Studio.

Развертывание и выполнение пакета с помощью хранимых процедур

  1. Вызовите catalog.deploy_project (база данных SSISDB), чтобы развернуть проект Integration Services, содержащий этот пакет, на сервере Integration Services.

    Чтобы получить двоичное содержимое файла развертывания проекта Integration Services для параметра @project_stream, используйте инструкцию SELECT с функцией OPENROWSET и поставщиком больших наборов строк. Поставщик больших наборов строк позволяет считывать данные из файла. Аргумент SINGLE_BLOB для поставщика больших наборов строк возвращает содержимое файла данных в виде набора строк с одной строкой и одним столбцом типа varbinary(max). Дополнительные сведения см. в разделе OPENROWSET (Transact-SQL).

    В следующем примере проект SSISPackages_ProjectDeployment развертывается в папке пакетов служб SSIS на сервере Служб Integration Services. Двоичные данные считываются из файла проекта (SSISPackage_ProjectDeployment.ispac) и сохраняются в параметре _@ProjectBinary с типом varbinary(max). Значение параметра @ProjectBinary присваивается параметру @project_stream.

    DECLARE @ProjectBinary as varbinary(max)
    DECLARE @operation_id as bigint
    Set @ProjectBinary = (SELECT * FROM OPENROWSET(BULK 'C:\MyProjects\ SSISPackage_ProjectDeployment.ispac', SINGLE_BLOB) as BinaryData)
    
    Exec catalog.deploy_project @folder_name = 'SSIS Packages', @project_name = 'DeployViaStoredProc_SSIS', @Project_Stream = @ProjectBinary, @operation_id = @operation_id out
    
  2. Вызовите catalog.create_execution (база данных SSISDB), чтобы создать экземпляр выполнения пакета, и при необходимости вызовите catalog.set_execution_parameter_value (база данных SSISDB), чтобы задать значения параметров среды выполнения.

    В следующем примере catalog.create_execution создает экземпляр для выполнения package.dtsx, содержащегося в проекте SSISPackage_ProjectDeployment. Проект располагается в папке SSIS Packages. Значение execution_id, возвращаемое хранимой процедурой, используется для вызова функции catalog.set_execution_parameter_value. Эта вторая хранимая процедура устанавливает параметр LOGGING_LEVEL равным 3 (подробный уровень ведения журнала) и задает параметру пакета Parameter1 значение 1.

    Для таких параметров, как LOGGING_LEVEL, значение object_type равно 50. Для параметров пакета значение object_type равно 30.

    Declare @execution_id bigint
    EXEC [SSISDB].[catalog].[create_execution] @package_name=N'Package.dtsx', @execution_id=@execution_id OUTPUT, @folder_name=N'SSIS Packages', @project_name=N'SSISPackage_ProjectDeployment', @use32bitruntime=False, @reference_id=1
    
    Select @execution_id
    DECLARE @var0 smallint = 3
    EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id,  @object_type=50, @parameter_name=N'LOGGING_LEVEL', @parameter_value=@var0
    
    DECLARE @var1 int = 1
    EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id,  @object_type=30, @parameter_name=N'Parameter1', @parameter_value=@var1
    
    GO
    
  3. Вызовите catalog.start_execution (база данных SSISDB), чтобы выполнить пакет.

    В следующем примере вызов catalog.start_execution добавляется в Transact-SQL, чтобы можно было начать выполнение пакета. Используется значение execution_id, возвращаемое хранимой процедурой catalog.create_execution.

    Declare @execution_id bigint
    EXEC [SSISDB].[catalog].[create_execution] @package_name=N'Package.dtsx', @execution_id=@execution_id OUTPUT, @folder_name=N'SSIS Packages', @project_name=N'SSISPackage_ProjectDeployment', @use32bitruntime=False, @reference_id=1
    
    Select @execution_id
    DECLARE @var0 smallint = 3
    EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id,  @object_type=50, @parameter_name=N'LOGGING_LEVEL', @parameter_value=@var0
    
    DECLARE @var1 int = 1
    EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id,  @object_type=30, @parameter_name=N'Parameter1', @parameter_value=@var1
    
    EXEC [SSISDB].[catalog].[start_execution] @execution_id
    GO
    

Развертывание проекта из сервера на сервер с использованием хранимых процедур

Проект можно развернуть с сервера на сервер с помощью хранимых процедур catalog.get_project (база данных SSISDB) и catalog.deploy_project (база данных SSISDB).

Необходимо выполнить следующие действия перед выполнением хранимых процедур.

  • Создание связанного объекта сервера. Дополнительные сведения см. в разделе Создание связанных серверов (ядро СУБД SQL Server).

    На странице Параметры сервера диалогового окна Свойства связанного сервера назначьте для RPC и RPC Out значения True. Кроме того, назначьте свойству Разрешить продвижение распределенных транзакций для RPC значение False.

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

  • Убедитесь, что на обоих серверах запущен координатор распределенных транзакций (DTC).

Вызовите catalog.get_project для получения двоичных файлов проекта, а затем вызовите catalog.deploy_project. Значение, возвращаемое catalog.get_project, вставляется в табличную переменную типа varbinary(max). Связанный сервер не может возвращать результаты типа varbinary(max).

В следующем примере catalog.get_project возвращает двоичный результат для проекта SSISPackages на связанном сервере. Catalog.deploy_project развертывает проект на локальном сервере в папке с именем DestFolder.

declare @resultsTableVar table (
project_binary varbinary(max)
)

INSERT @resultsTableVar (project_binary)
EXECUTE [MyLinkedServer].[SSISDB].[catalog].[get_project] 'Packages', 'SSISPackages'

declare @project_binary varbinary(max)
select @project_binary = project_binary from @resultsTableVar

exec [SSISDB].[CATALOG].[deploy_project] 'DestFolder', 'SSISPackages', @project_binary

Мастером преобразования проекта служб Integration Services

Мастер преобразования проекта служб Integration Services преобразует проект в модель развертывания проекта.

Примечание.

Если проект содержит один или более источников данных, то они будут удалены после завершения преобразования проекта. Для создания соединения с источником данных, который может совместно использоваться пакетами в проекте, добавьте диспетчер соединений на уровне проекта. Дополнительные сведения см. в статье Добавление, удаление или совместное использование диспетчера соединений в пакете.

Выбор действия

Открытие мастера преобразования проекта служб Integration Services

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

  • Откройте проект в Visual Studio, а затем в Обозреватель решений щелкните проект правой кнопкой мыши и выберите "Преобразовать в модель развертывания проекта".

  • В обозреватель объектов в Management Studio щелкните правой кнопкой мыши узел "Проекты" в каталоге служб Integration Services и выберите пункт "Импорт пакетов".

В зависимости от того, запускается ли мастер преобразования проектов служб Integration Services из Visual Studio или из SQL Server Management Studio, мастер выполняет различные задачи преобразования.

Задание параметров на странице «Поиск пакетов»

Примечание.

Страница "Поиск пакетов" доступна только при запуске мастера из Management Studio.

Следующий параметр отображается на странице при выборе файловой системы в раскрывающемся списке "Источник ". Выберите этот параметр, если пакет размещен в файловой системе.

Папка
Введите путь к пакету или перейдите к пакету, нажав кнопку "Обзор".

Следующие параметры отображаются на странице при выборе хранилища пакетов служб SSIS в раскрывающемся списке источника . Дополнительные сведения о хранилище пакетов см. в разделе Управление пакетами (служба Integration Services).

Сервер
Введите имя сервера или выберите сервер.

Папка
Введите путь к пакету или перейдите к пакету, нажав кнопку "Обзор".

Следующие параметры отображаются на странице при выборе Microsoft SQL Server в раскрывающемся списке "Источник ". Выберите этот параметр, когда пакет находится в Microsoft SQL Server.

Сервер
Введите имя сервера или выберите сервер.

Использовать проверку подлинности Windows
Режим проверки подлинности Microsoft Windows позволяет подключаться с учетной записью пользователя Windows. При использовании проверки подлинности Windows не требуется ввод имени пользователя или пароля.

Использовать проверку подлинности SQL Server
Когда пользователь подключается с указанным именем входа и паролем из ненадежного подключения, SQL Server проверяет подлинность подключения, проверяя, настроена ли учетная запись входа SQL Server и если указанный пароль соответствует ранее записанной. Если в SQL Server нет набора учетных записей входа, проверка подлинности завершается ошибкой, и пользователь получает сообщение об ошибке.

Имя пользователя
При использовании проверки подлинности SQL Server укажите имя пользователя.

Пароль
Укажите пароль, если используется проверка подлинности SQL Server.

Папка
Введите путь к пакету или перейдите к пакету, нажав кнопку "Обзор".

Задание параметров на странице «Выбор пакетов»

Имя пакета
Выводит список файлов пакета.

Состояние
Указывает, готов ли пакет к преобразованию в модель развертывания проекта.

Сообщение
Отображает сообщение, связанное с пакетом.

Пароль
Отображает пароль, связанный с пакетом. Текст пароля скрыт.

Применить к выбранным объектам
Выберите, чтобы применить пароль в текстовом поле "Пароль ", к выбранному пакету или пакетам.

Обновить
Обновляет список пакетов.

Задание параметров на странице «Выбор назначения»

На этой странице укажите имя и путь к новому файлу развертывания проекта (ISPAC) или выберите существующий файл.

Примечание.

Страница выбора назначения доступна только при запуске мастера из Management Studio.

Путь вывода
Введите путь к файлу развертывания или перейдите к нему, нажав кнопку "Обзор".

Имя проекта
Введите имя проекта.

Уровень защиты
Выберите уровень защиты. Дополнительные сведения см. в разделе Access Control for Sensitive Data in Packages.

Описание проекта
Введите необязательное описание для проекта.

Задание параметров на странице «Задание свойств проекта»

Примечание.

Страница "Указать свойства проекта" доступна только при запуске мастера из Visual Studio.

Имя проекта
Выводит список имен проекта.

Уровень защиты
Выбор уровня защиты для пакетов, содержащихся в проекте. Дополнительные сведения об уровнях защиты см. в разделе Access Control for Sensitive Data in Packages.

Описание проекта
Введите необязательное описание проекта.

Задание параметров на странице «Обновление задачи выполнения пакета»

Обновление задачи «Выполнение пакета» содержится в пакетах для использования ссылки на основе проектов. Дополнительные сведения см. в разделе Execute Package Task Editor.

Родительский пакет
Выводит список имен пакета, который выполняет дочерний пакет с помощью задачи «Выполнение пакета».

Имя задачи
Выводит список имен задачи «Выполнение пакета».

Исходная ссылка
Отображает текущий путь к дочернему пакету.

Назначение ссылки
Выбор дочернего пакета, хранящегося в этом проекте.

Задание параметров на странице «Выбор конфигурации»

Выберите конфигурации пакетов, которые требуется заменить параметрами.

Пакет
Выводит список файлов пакета.

Тип
Выводит список типов конфигурации, например XML-файл конфигурации.

Строка конфигурации
Отображает путь к файлу конфигурации.

Состояние
Отображает сообщение о состоянии конфигурации. Выберите сообщение, чтобы просмотреть весь текст сообщения.

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

Обновить
Выберите, чтобы обновить список конфигураций.

Удаление конфигураций из всех пакетов после преобразования
Рекомендуется удалить все конфигурации из проекта, выбрав этот параметр.

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

Задание параметров на странице «Создание параметров»

Выбор имени параметра и области каждого свойства конфигурации.

Пакет
Выводит список файлов пакета.

Имя параметра
Выводит список имен параметра.

Область применения
Выбор области параметра, пакета или проекта.

Задание параметров на странице «Настройка параметров»

Имя
Выводит список имен параметра.

Область применения
Отображает область действия параметров.

Value
Выводит список значений параметра.

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

В диалоговом окне Задание сведений о параметре вы можете изменить значение параметра. Вы можете также указать, необходимо ли при запуске пакета указывать значение параметра.

Значение можно изменить на странице "Параметры " диалогового окна "Настройка " в Management Studio, нажав кнопку обзора рядом с параметром. Отобразится диалоговое окно Задание значения параметра .

В диалоговом окне Задание сведений о параметре перечислены также типы данных значения параметра и его начальное значение.

Задание параметров на странице «Просмотр»

Подтвердить параметры, которые выбраны для преобразования проекта, можно на странице Обзор.

Предыдущий
Выберите, чтобы изменить параметр.

Преобразовать
Выберите, чтобы преобразовать проект в модель развертывания проекта.

Задание параметров на странице «Выполнение преобразования»

На странице «Выполнение преобразования» отображается состояние преобразования проекта.

Действие
Выводит список заданных шагов преобразования.

Результат
Отображает состояние каждого шага преобразования. Выберите сообщение о состоянии для получения дополнительных сведений.

Преобразование проекта не сохраняется, пока проект не будет сохранен в Visual Studio.

Сохранить отчет
Выберите, чтобы сохранить сводку по преобразованию проекта в файл .xml.