Планирование выполнения пакетов служб SQL Server Integration Services (SSIS), развернутых в Azure
Область применения: среда выполнения интеграции SSIS SQL Server в Фабрика данных Azure
Для планирования выполнения пакетов служб SSIS, развернутых в каталоге SSISDB на сервере базы данных SQL Azure, можно выбрать один из методов, описанных в этой статье. Можно запланировать прямое выполнение пакета или косвенное выполнение в составе конвейера фабрики данных Azure. Общие сведения о службах SSIS в Azure см. в статье Перенос рабочих нагрузок SQL Server Integration Services в облако.
Планирование выполнения пакета напрямую
Планирование косвенного выполнения пакета в составе конвейера фабрики данных Azure
Планирование пакета с помощью SSMS
В СРЕДЕ SQL Server Management Studio (SSMS) можно щелкнуть правой кнопкой мыши пакет, развернутый в базе данных каталога служб SSIS, SSISDB
и выбрать расписание , чтобы открыть диалоговое окно "Создать расписание ". Дополнительные сведения см. в статье Планирование выполнения пакетов служб SSIS в Azure с помощью SSMS.
Для запуска этого компонента требуется SQL Server Management Studio версии 17.7 или более поздней. Чтобы получить последнюю версию SSMS, перейдите на страницу скачивания SQL Server Management Studio (SSMS).
Планирование пакета с помощью заданий База данных SQL Elastic
Дополнительные сведения о заданиях обработки эластичных баз данных SQL см. в разделе Управление облачными базами данных с горизонтальным масштабированием.
Необходимые компоненты
Прежде чем использовать задания обработки эластичных баз данных для планирования пакетов SSIS, хранящихся в каталоге базы данных SSISDB на сервере базы данных SQL Azure, необходимо выполнить следующие действия:
Установить и настроить компоненты для заданий обработки эластичных баз данных. Дополнительные сведения см. в разделе Общие сведения об установке заданий обработки эластичных баз данных.
Создать учетные данные уровня базы данных, которые задания смогут использовать для отправки команд в базу данных каталога SSIS. Дополнительные сведения см. в разделе CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL).
Создание задания обработки эластичных БД
Чтобы создать задание, используйте скрипт Transact-SQL, аналогичный приведенному в следующем примере:
-- Create Elastic Jobs target group
EXEC jobs.sp_add_target_group 'TargetGroup'
-- Add Elastic Jobs target group member
EXEC jobs.sp_add_target_group_member @target_group_name='TargetGroup',
@target_type='SqlDatabase', @server_name='YourSQLDBServer.database.windows.net',
@database_name='SSISDB'
-- Add a job to schedule SSIS package execution
EXEC jobs.sp_add_job @job_name='ExecutePackageJob', @description='Description',
@schedule_interval_type='Minutes', @schedule_interval_count=60
-- Add a job step to create/start SSIS package execution using SSISDB catalog stored procedures
EXEC jobs.sp_add_jobstep @job_name='ExecutePackageJob',
@command=N'DECLARE @exe_id bigint
EXEC [SSISDB].[catalog].[create_execution]
@folder_name=N''folderName'', @project_name=N''projectName'',
@package_name=N''packageName'', @use32bitruntime=0,
@runinscaleout=1, @useanyworker=1,
@execution_id=@exe_id OUTPUT
EXEC [SSISDB].[catalog].[start_execution] @exe_id, @retry_count=0',
@credential_name='YourDBScopedCredentials',
@target_group_name='TargetGroup'
-- Enable the job schedule
EXEC jobs.sp_update_job @job_name='ExecutePackageJob', @enabled=1,
@schedule_interval_type='Minutes', @schedule_interval_count=60
Планирование пакета с помощью агент SQL Server локальной среды
Дополнительные сведения об агенте SQL Server см. в разделе Пакеты служб из заданий агента SQL Server.
Необходимое условие — создание связанного сервера
Прежде чем использовать агент SQL Server в локальной среде для планирования выполнения пакетов, хранящихся на сервере базы данных SQL Azure, нужно добавить сервер базы данных SQL Database в локальный SQL Server в качестве связанного сервера. В приведенном ниже примере используется драйвер Microsoft OLE DB для SQL Server.
Настройка связанного сервера
-- Add the SSISDB database on your Azure SQL Database as a linked server to your SQL Server on premises EXEC sp_addlinkedserver @server='myLinkedServer', -- Name your linked server @srvproduct='', @provider='MSOLEDBSQL', -- Microsoft OLE DB Driver for SQL Server @datasrc='<server_name>.database.windows.net', -- Add your Azure SQL Database server endpoint @location='', @provstr='', @catalog='SSISDB' -- Add SSISDB as the initial catalog
Настройка учетных данных связанного сервера
-- Add your Azure SQL Database server admin credentials EXEC sp_addlinkedsrvlogin @rmtsrvname = 'myLinkedServer', @useself = 'false', @rmtuser = 'myUsername', -- Add your server admin username @rmtpassword = 'myPassword' -- Add your server admin password
Настройка параметров связанного сервера
EXEC sp_serveroption 'myLinkedServer', 'rpc out', true;
Дополнительные сведения см. в разделах Создание связанных серверов и Связанные серверы.
Создание задания агента SQL Server
Чтобы запланировать выполнение пакета с помощью локального агента SQL Server, создайте задание с шагом, на котором вызываются хранимые процедуры каталога служб SSIS [catalog].[create_execution]
и затем [catalog].[start_execution]
. Дополнительные сведения см. в разделе Пакеты служб из заданий агента SQL Server.
В SQL Server Management Studio установите подключение к базе данных SQL Server в локальной среде, в которой требуется создать задание.
Щелкните правой кнопкой мыши узел Агент SQL Server, выберите Создать и затем Задание, чтобы открыть диалоговое окно Создание задания.
В диалоговом окне Создание задания перейдите на страницу Шаги и выберите команду Создать, чтобы открыть диалоговое окно Создание шага задания.
В диалоговом окне Создание шага задания выберите
SSISDB
в поле База данных.В поле Команда введите скрипт Transact-SQL, аналогичный приведенному в следующем примере:
-- T-SQL script to create and start SSIS package execution using SSISDB stored procedures DECLARE @return_value int, @exe_id bigint EXEC @return_value = [YourLinkedServer].[SSISDB].[catalog].[create_execution] @folder_name=N'folderName', @project_name=N'projectName', @package_name=N'packageName', @use32bitruntime=0, @runincluster=1, @useanyworker=1, @execution_id=@exe_id OUTPUT EXEC [YourLinkedServer].[SSISDB].[catalog].[set_execution_parameter_value] @exe_id, @object_type=50, @parameter_name=N'SYNCHRONIZED', @parameter_value=1 EXEC [YourLinkedServer].[SSISDB].[catalog].[start_execution] @execution_id=@exe_id
Завершите настройку и планирование задания.
Планирование пакета в составе конвейера Фабрика данных Azure
Можно запланировать косвенное выполнение пакета с помощью триггера, запускающего конвейер фабрики данных Azure, где выполняется пакет служб SSIS.
Чтобы запланировать запуск конвейера фабрики данных, используйте один из следующих триггеров:
Чтобы выполнить пакет служб SSIS в составе конвейера фабрики данных, используйте одно из следующих действий:
Следующие шаги
Узнайте о способах выполнения пакетов служб SSIS, развернутых в Azure. Дополнительные сведения см. в статье Выполнение пакетов служб SSIS в Azure.