Planifier l’exécution de packages SSIS (SQL Server Integration Services) déployés dans Azure
S’applique à : SQL Server SSIS Integration Runtime dans Azure Data Factory
Choisissez une des méthodes décrites dans cet article pour planifier l’exécution de packages SSIS déployés sur le catalogue SSISDB sur un serveur Azure SQL Database. Vous pouvez planifier un package soit directement, soit indirectement dans le cadre d’un pipeline Azure Data Factory. Pour obtenir une vue d’ensemble de SSIS sur Azure, consultez Effectuer un « lift-and-shift » des charges de travail SQL Server Integration Services vers le cloud.
Planifier un package directement
Planifier un package indirectement dans le cadre d’un pipeline Azure Data Factory
Planifier un package avec SSMS
Dans SQL Server Management Studio (SSMS), vous pouvez cliquer avec le bouton droit sur un package déployé dans la base de données du catalogue SSIS, SSISDB
, puis sélectionner Planifier pour ouvrir la boîte de dialogue Nouvelle planification. Pour plus d’informations, consultez Planifier des packages SSIS dans Azure avec SSMS.
Cette fonctionnalité nécessite SQL Server Management Studio version 17.7 ou ultérieure. Pour obtenir la dernière version de SSMS, consultez Télécharger SQL Server Management Studio (SSMS).
Planifier un package avec des travaux élastiques SQL Database
Pour plus d’informations sur les travaux élastiques SQL Database, consultez Gestion des bases de données cloud avec augmentation de la taille des instances.
Prérequis
Pour pouvoir utiliser des travaux élastiques afin de planifier des packages SSIS stockés dans la base de données de catalogues SSISDB sur un serveur Azure SQL Database, vous devez effectuer les actions suivantes :
Installez et configurez les tâches de base de données élastique. Pour plus d’informations, consultez Vue d’ensemble de l’installation des tâches de base de données élastique.
Créez des informations d’identification au niveau de la base de données pour permettre aux travaux d’envoyer des commandes à la base de données de catalogues SSIS. Pour plus d’informations, consultez CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL).
Créer un travail élastique
Créez le travail à l’aide d’un script Transact-SQL similaire au script indiqué dans l’exemple suivant :
-- 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
Planifier un package avec SQL Server Agent en local
Pour plus d’informations sur SQL Server Agent, consultez Travaux de SQL Server Agent pour les packages.
Prérequis : Créer un serveur lié
Avant de pouvoir utiliser SQL Server Agent localement pour planifier l’exécution des packages stockés sur un serveur Azure SQL Database, vous devez ajouter le serveur SQL Database à votre serveur SQL Server local en tant que serveur lié. L’exemple ci-dessous utilise Microsoft OLE DB Driver pour SQL Server.
Configurer le serveur lié
-- 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
Configurer les informations d’identification du serveur lié
-- 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
Configurer les options du serveur lié
EXEC sp_serveroption 'myLinkedServer', 'rpc out', true;
Pour plus d’informations, consultez Créer des serveurs liés et Serveurs liés.
Créer un travail de SQL Server Agent
Pour planifier un package avec SQL Server Agent localement, créez un travail avec une étape de travail qui appelle les procédures stockées du catalogue SSIS [catalog].[create_execution]
, puis [catalog].[start_execution]
. Pour plus d’informations, consultez Travaux de SQL Server Agent pour les packages.
Dans SQL Server Management Studio, connectez-vous à la base de données SQL Server locale sur laquelle vous souhaitez créer le travail.
Cliquez avec le bouton droit sur le nœud SQL Server Agent, sélectionnez Nouveau, puis Travail pour ouvrir la boîte de dialogue Nouveau travail.
Dans la boîte de dialogue Nouveau travail, sélectionnez la page Étapes, puis Nouveau pour ouvrir la boîte de dialogue Nouvelle étape du travail.
Dans la boîte de dialogue Nouvelle étape du travail, sélectionnez
SSISDB
en tant que Base de données.Dans le champ Commande, entrez un script Transact-SQL similaire au script figurant dans l’exemple suivant :
-- 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
Finissez de configurer et de planifier le travail.
Planifier un package dans le cadre d’un pipeline Azure Data Factory
Vous pouvez planifier un package indirectement à l’aide d’un déclencheur pour exécuter un pipeline Azure Data Factory qui exécute un package SSIS.
Pour planifier un pipeline Data Factory, utilisez l’un des déclencheurs suivants :
Pour exécuter un package SSIS dans le cadre d’un pipeline Data Factory, utilisez l’une des activités suivantes :
Étapes suivantes
Passez en revue les options disponibles pour exécuter des packages SSIS déployés sur Azure. Pour plus d’informations, consultez Exécuter des packages SSIS dans Azure.