Integration Services(SSIS) Scale Out에서 패키지 실행Run packages in Integration Services (SSIS) Scale Out

Integration Services 서버에 패키지를 배포한 후 다음 방법 중 하나를 사용하여 Scale Out에서 패키지를 실행할 수 있습니다.After you deploy packages to the Integration Services server, you can run them in Scale Out by using one of the following methods:

Scale Out에서 패키지 실행 대화 상자를 사용하여 패키지 실행Run packages with the Execute Package in Scale Out dialog box

  1. Scale Out에서 패키지 실행 대화 상자를 엽니다.Open the Execute Package In Scale Out dialog box.

    SQL Server Management StudioSQL Server Management Studio에서 Integration Services 서버에 연결합니다.In SQL Server Management StudioSQL Server Management Studio, connect to the Integration Services server. 개체 탐색기에서 트리를 확장하여 Integration Services 카탈로그아래의 노드를 표시합니다.In Object Explorer, expand the tree to display the nodes under Integration Services Catalogs. SSISDB 노드 또는 실행하려는 프로젝트나 패키지를 마우스 오른쪽 단추로 클릭한 다음 Execute in Scale Out(규모 확장 시 실행) 을 클릭합니다.Right-click the SSISDB node or the project or the package you want to run, and then click Execute in Scale Out.

  2. 패키지를 선택하고 옵션을 설정합니다.Select packages and set the options.

    패키지 선택 페이지에서 실행할 하나 이상의 패키지를 선택합니다.On the Package Selection page, select one or more packages to run. 각 패키지의 환경, 매개 변수, 연결 관리자 및 고급 옵션을 설정합니다.Set the environment, parameters, connection managers, and advanced options for each package. 이러한 옵션을 설정할 패키지를 클릭합니다.Click a package to set these options.

    고급 탭에서 재시도 횟수라는 Scale Out 옵션을 설정하여 패키지 실행이 실패할 경우의 재시도 횟수를 지정합니다.On the Advanced tab, set a Scale Out option called Retry count to specify the number of times a package execution will retry if it fails.

    참고

    오류 시 덤프 옵션은 Scale Out 작업자 서비스를 실행하는 계정이 로컬 컴퓨터의 관리자인 경우에만 적용됩니다.The Dump on errors option only works when the account running Scale Out Worker service is an administrator on the local computer.

  3. 작업자 컴퓨터를 선택합니다.Select worker computers.

    컴퓨터 선택 페이지에서 패키지를 실행할 Scale Out 작업자 컴퓨터를 선택합니다.On the Machine Selection page, select the Scale Out Worker computers to run the packages. 기본적으로 모든 컴퓨터에서 패키지를 실행할 수 있습니다.By default, any computer is allowed to run the packages.

    참고

    패키지는 Scale Out 작업자 서비스의 사용자 계정 자격 증명을 사용하여 실행됩니다.The packages are executed with the credentials of the user accounts of the Scale Out Worker services. 컴퓨터 선택 페이지에서 이러한 자격 증명을 검토합니다.Review these credentials on the Machine Selection page. 기본적으로 이 계정은 NT Service\SSISScaleOutWorker140입니다.By default, the account is NT Service\SSISScaleOutWorker140.

    경고

    동일한 작업자에서 여러 사용자가 트리거한 패키지 실행은 동일한 자격 증명으로 실행됩니다.Package executions triggered by different users on the same worker run with the same credentials. 이러한 실행 사이에는 보안 경계가 없습니다.There is no security boundary between or among them.

  4. 패키지를 실행하고 보고서를 봅니다.Run the packages and view reports.

    확인 을 클릭하여 패키지 실행을 시작합니다.Click OK to start the package executions. 패키지에 대한 실행 보고서를 보려면 개체 탐색기에서 패키지를 마우스 오른쪽 단추로 클릭하고 보고서, 모든 실행을 차례로 클릭한 다음 실행을 찾습니다.To view the execution report for a package, right-click the package in Object Explorer, click Reports, click All Executions, and find the execution.

저장 프로시저를 사용하여 패키지 실행Run packages with stored procedures

  1. 실행을 만듭니다.Create executions.

    각 패키지에 [catalog].[create_execution]을 호출합니다.Call [catalog].[create_execution] for each package. @runinscaleout 매개 변수를 True로 설정합니다.Set the parameter @runinscaleout to True. 일부 Scale Out 작업자 컴퓨터에서 패키지를 실행할 수 없는 경우 @useanyworker 매개 변수를 False로 설정합니다.If not all Scale Out Worker computers are allowed to run the package, set the parameter @useanyworker to False. 이 저장 프로시저 및 @useanyworker 매개 변수에 대한 자세한 내용은 catalog.create_execution을 참조합니다.For more info about this stored procedure and the @useanyworker parameter, see catalog.create_execution.

  2. 실행 매개 변수를 설정합니다.Set execution parameters.

    각 실행에 [catalog].[set_execution_parameter_value]를 호출합니다.Call [catalog].[set_execution_parameter_value] for each execution.

  3. Scale Out 작업자를 설정합니다.Set the Scale Out Workers.

    [catalog].[add_execution_worker]를 호출합니다.Call [catalog].[add_execution_worker]. 모든 컴퓨터에서 패키지를 실행할 수 있는 경우 이 저장 프로시저를 호출할 필요가 없습니다.If all computers are allowed to run the package, you don't have to call this stored procedure.

  4. 실행을 시작합니다.Start the executions.

    [catalog].[start_execution]을 호출합니다.Call [catalog].[start_execution]. @retry_count 매개 변수를 설정하여 패키지 실행이 실패할 경우 다시 시도하는 횟수를 설정합니다.Set the parameter @retry_count to set the number of times a package execution will retry if it fails.

예제Example

다음 예제에서는 Scale Out에서 하나의 Scale Out 작업자를 사용하여 package1.dtsxpackage2.dtsx라는 두 개의 패키지를 실행합니다.The following example runs two packages, package1.dtsx and package2.dtsx, in Scale Out with one Scale Out Worker.

Declare @execution_id bigint
EXEC [SSISDB].[catalog].[create_execution] @package_name=N'package1.dtsx', @execution_id=@execution_id OUTPUT, @folder_name=N'folder1', @project_name=N'project1', @use32bitruntime=False, @reference_id=Null, @useanyworker=False, @runinscaleout=True
Select @execution_id
DECLARE @var0 smallint = 1
EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id,  @object_type=50, @parameter_name=N'LOGGING_LEVEL', @parameter_value=@var0
EXEC [SSISDB].[catalog].[add_execution_worker] @execution_id,  @workeragent_id=N'64c020e2-f819-4c2d-a22f-efb31a91e70a'
EXEC [SSISDB].[catalog].[start_execution] @execution_id,  @retry_count=0
GO

Declare @execution_id bigint
EXEC [SSISDB].[catalog].[create_execution] @package_name=N'package2.dtsx', @execution_id=@execution_id OUTPUT, @folder_name=N'folder2', @project_name=N'project2', @use32bitruntime=False, @reference_id=Null, @useanyworker=False, @runinscaleout=True
Select @execution_id
DECLARE @var0 smallint = 1
EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id,  @object_type=50, @parameter_name=N'LOGGING_LEVEL', @parameter_value=@var0
EXEC [SSISDB].[catalog].[add_execution_worker] @execution_id,  @workeragent_id=N'64c020e2-f819-4c2d-a22f-efb31a91e70a'
EXEC [SSISDB].[catalog].[start_execution] @execution_id,  @retry_count=0
GO

사용 권한Permissions

Scale Out에서 패키지를 실행하려면 다음 권한 중 하나가 있어야 합니다.To run packages in Scale Out, you have to have one the following permissions:

  • ssis_admin 데이터베이스 역할의 멤버 자격Membership in the ssis_admin database role

  • ssis_cluster_executor 데이터베이스 역할의 멤버 자격Membership in the ssis_cluster_executor database role

  • sysadmin 서버 역할의 멤버 자격Membership in the sysadmin server role

기본 실행 모드 설정Set default execution mode

패키지의 기본 실행 모드를 Scale Out으로 설정하려면 다음을 수행합니다.To set the default execution mode for packages to Scale Out, do the following things:

  1. SSMS의 개체 탐색기에서 SSISDB 노드를 마우스 오른쪽 단추로 클릭한 다음 속성을 선택합니다.In SSMS, in Object Explorer, right-click the SSISDB node and select Properties.

  2. 카탈로그 속성 대화 상자에서 서버 차원의 기본 실행 모드Scale Out으로 설정합니다.In the Catalog Properties dialog box, set Server-wide Default execution mode to Scale Out.

이 기본 실행 모드를 설정하면 [catalog].[create_execution] 저장 프로시저를 호출할 때 @runinscaleout 매개 변수를 더 이상 지정할 필요가 없습니다.After you set this default execution mode, you no longer have to specify the @runinscaleout parameter when you call the [catalog].[create_execution] stored procedure. 패키지가 Scale Out 모드로 자동 실행됩니다.Packages are run in Scale Out automatically.

실행 모드

패키지가 더 이상 Scale Out 모드에서 기본적으로 실행되지 않도록 기본 실행 모드를 다시 전환하려면 서버 차원의 기본 실행 모드서버로 설정합니다.To switch the default execution mode back so that packages no longer run by default in Scale Out mode, set Server-wide Default execution mode to Server.

SQL Server 에이전트 작업에서 패키지 실행Run package in SQL Server Agent job

SQL Server 작업에서 작업의 한 단계로 SSIS 패키지를 실행할 수 있습니다.In a SQL Server Agent job, you can run an SSIS package as one step of the job. Scale Out에서 패키지를 실행하려면 기본 실행 모드를 Scale Out으로 설정합니다. 기본 실행 모드를 Scale Out으로 설정하면 SQL Server 에이전트 작업의 패키지가 Scale Out 모드에서 실행됩니다.To run the package in Scale Out, set the default execution mode to Scale Out. After you set the default execution mode to Scale Out, packages in SQL Server Agent jobs run in Scale Out mode.

다음 단계Next steps