Plan de uitvoering van SSIS-pakketten (SQL Server Integration Services) die in Azure zijn geïmplementeerd
van toepassing op:SQL Server
SSIS Integration Runtime in Azure Data Factory
U kunt de uitvoering van SSIS-pakketten plannen die zijn geïmplementeerd in de SSISDB-catalogus op een Azure SQL Database-server door een van de methoden te kiezen die in dit artikel worden beschreven. U kunt een pakket rechtstreeks plannen of indirect een pakket plannen als onderdeel van een Azure Data Factory-pijplijn. Voor een overzicht van SSIS op Azure, zie Lift and shift SQL Server Integration Services-workloads naar de cloud.
Een pakket rechtstreeks plannen
een pakket indirect plannen als onderdeel van een Azure Data Factory-pijplijn
Een pakket plannen met SSMS
In SQL Server Management Studio (SSMS) kunt u met de rechtermuisknop op een pakket klikken dat is geïmplementeerd in de SSIS Catalog-database, SSISDB
en Planning selecteren om het dialoogvenster Nieuw schema te openen. Zie SSIS-pakketten plannen in Azure met SSMSvoor meer informatie.
Voor deze functie is SQL Server Management Studio versie 17.7 of hoger vereist. Zie SQL Server Management Studio (SSMS) downloadenom de nieuwste versie van SSMS te downloaden.
Een pakket plannen met elastische taken voor SQL Database
Zie Uitgeschaalde clouddatabases beherenvoor meer informatie over elastische taken in SQL Database.
Voorwaarden
Voordat u elastische taken kunt gebruiken om SSIS-pakketten te plannen die zijn opgeslagen in de SSISDB-catalogusdatabase op een Azure SQL Database-server, moet u het volgende doen:
Installeer en configureer de onderdelen van elastic database-taken. Zie Overzicht van elastische databasetaken installerenvoor meer informatie.
Maak databasereferenties die taken kunnen gebruiken om opdrachten naar de SSIS-catalogusdatabase te verzenden. Zie CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL)voor meer informatie.
Een elastische taak maken
Maak de taak met behulp van een Transact-SQL script dat vergelijkbaar is met het script dat in het volgende voorbeeld wordt weergegeven:
-- 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
Een pakket plannen met SQL Server Agent on-premises
Voor meer informatie over SQL Server Agent, zie SQL Server Agent-taken voor pakketten.
Vereiste : een gekoppelde server maken
Voordat u SQL Server Agent on-premises kunt gebruiken om de uitvoering van pakketten te plannen die zijn opgeslagen op een Azure SQL Database-server, moet u de SQL Database-server toevoegen aan uw on-premises SQL Server als een gekoppelde server. In het onderstaande voorbeeld wordt het Microsoft OLE DB-stuurprogramma voor SQL Servergebruikt.
de gekoppelde server instellen
-- 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
Referenties voor gekoppelde server instellen
Vervang
<password>
door een geldig wachtwoord.-- Add your Azure SQL Database server admin credentials EXEC sp_addlinkedsrvlogin @rmtsrvname = 'myLinkedServer', @useself = 'false', @rmtuser = 'myUsername', -- Add your server admin username @rmtpassword = '<password>' -- Add your server admin password
Opties voor gekoppelde servers instellen
EXEC sp_serveroption 'myLinkedServer', 'rpc out', true;
Voor meer informatie, zie Gekoppelde servers maken en Gekoppelde servers.
Een SQL Server Agent-taak maken
Als u een pakket met SQL Server Agent on-premises wilt plannen, maakt u een taak met een taakstap die de opgeslagen SSIS-catalogusprocedures [catalog].[create_execution]
aanroept en vervolgens [catalog].[start_execution]
. Zie SQL Server Agent-taken voor pakkettenvoor meer informatie.
Maak in SQL Server Management Studio verbinding met de on-premises SQL Server-database waarop u de taak wilt maken.
Klik met de rechtermuisknop op het knooppunt SQL Server Agent, selecteer Nieuween selecteer vervolgens Taak om het dialoogvenster Nieuwe taak te openen.
Selecteer in het dialoogvenster Nieuwe taak de pagina Stappen en selecteer vervolgens Nieuwe om het dialoogvenster Nieuwe taakstap te openen.
Selecteer in het dialoogvenster Nieuwe taakstap
SSISDB
als de -database.Voer in het veld Command een Transact-SQL script in dat vergelijkbaar is met het script dat in het volgende voorbeeld wordt weergegeven:
-- 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
Voltooi het configureren en plannen van de taak.
Een pakket plannen als onderdeel van een Azure Data Factory-pijplijn
U kunt een pakket indirect plannen met behulp van een trigger om een Azure Data Factory-pijplijn uit te voeren waarop een SSIS-pakket wordt uitgevoerd.
Gebruik een van de volgende triggers om een Data Factory-pijplijn te plannen:
Als u een SSIS-pakket wilt uitvoeren als onderdeel van een Data Factory-pijplijn, gebruikt u een van de volgende activiteiten:
Volgende stappen
Bekijk de opties voor het uitvoeren van SSIS-pakketten die zijn geïmplementeerd in Azure. Zie SSIS-pakketten uitvoeren in Azurevoor meer informatie.