Amazon RDS for SQL Server에서 SQL Server Integration Services 지원 - Amazon Relational Database Service

Amazon RDS for SQL Server에서 SQL Server Integration Services 지원

Microsoft SQL Server Integration Services(SSIS)는 광범위한 데이터 마이그레이션 작업을 수행하는 데 사용할 수 있는 구성 요소입니다. SSIS는 데이터 통합 및 워크플로우 애플리케이션용 플랫폼입니다. 이는 데이터 추출, 변환 및 로드(ETL)에 사용되는 데이터 웨어하우징 도구를 특징으로 합니다. 이 도구를 사용하여 SQL Server 데이터베이스의 유지 관리 및 다차원 큐브 데이터 업데이트를 자동화할 수도 있습니다.

SSIS 프로젝트는 XML 기반 .dtsx 파일로 저장된 패키지로 구성됩니다. 패키지에는 제어 흐름 및 데이터 흐름이 포함될 수 있습니다. 데이터 흐름을 사용하여 ETL 작업을 나타냅니다. 배포 후 패키지는 SSISDB 데이터베이스의 SQL Server에 저장됩니다. SSISDB는 전체 복구 모드의 OLTP(온라인 트랜잭션 처리) 데이터베이스입니다.

Amazon RDS for SQL Server는 RDS DB 인스턴스에서 SSRS를 직접 실행할 수 있도록 지원합니다. 기존 DB 인스턴스 또는 새 DB 인스턴스에서 SSRS를 활성화할 수 있습니다. SSIS는 데이터베이스 엔진과 동일한 DB 인스턴스에 설치됩니다.

RDS는 다음 버전에서 SQL Server Standard 및 Enterprise Edition용 SSIS를 지원합니다.

  • SQL Server 2022, 모든 버전

  • SQL Server 2019, 버전 15.00.4043.16.v1 이상

  • SQL Server 2017, 버전 14.00.3223.3.v1 이상

  • SQL Server 2016, 버전 13.00.5426.0.v1 이상

제한 및 권장 사항

RDS for SQL Server에서 SSRS를 실행하는 경우 다음과 같은 제한 및 권장 사항이 적용됩니다.

  • DB 인스턴스에는 clr enabled 파라미터가 1로 설정된 연결된 파라미터 그룹이 있어야 합니다. 자세한 내용은 SSIS용 파라미터 수정 섹션을 참조하세요.

    참고

    SQL Server 2017 또는 2019에서 clr enabled 파라미터를 활성화하면 DB 인스턴스에서 CLR(공통 언어 런타임)을 사용할 수 없습니다. 자세한 내용은 지원되지 않는 기능과 지원이 제한된 기능 섹션을 참조하세요.

  • 다음 제어 흐름 작업이 지원됩니다.

    • 분석 서비스 DDL 실행 작업

    • 분석 서비스 처리 작업

    • 대량 삽입 작업

    • 데이터베이스 무결성 검사 작업

    • 데이터 흐름 작업

    • 데이터 마이닝 쿼리 작업

    • 데이터 프로파일링 작업

    • 패키지 실행 작업

    • SQL Server 에이전트 작업 실행 작업

    • SQL 실행 작업

    • T-SQL 문 실행 작업

    • 운영자에게 알림 작업

    • 인덱스 재구축 작업

    • 인덱스 재구성 작업

    • 데이터베이스 축소 작업

    • 데이터베이스 전송 작업

    • 작업 전송 작업

    • 로그인 전송 작업

    • SQL Server 개체 전송 작업

    • 통계 업데이트 작업

  • 프로젝트 배포만 지원됩니다.

  • SQL Server 에이전트를 사용하여 SSIS 패키지를 실행할 수 있습니다.

  • SSIS 로그 레코드는 사용자가 만든 데이터베이스에만 삽입할 수 있습니다.

  • 파일 작업에는 D:\S3 폴더만 사용합니다. 다른 디렉터리에 있는 파일은 삭제됩니다. 다른 파일 위치 세부 정보를 숙지하십시오.

    • SSIS 프로젝트 입력 및 출력 파일을 D:\S3 폴더에 배치합니다.

    • 데이터 흐름 작업의 경우 BLOBTempStoragePathBufferTempStoragePath의 위치를 D:\S3 폴더 내의 파일로 변경합니다. 파일 경로는 D:\S3\로 시작되어야 합니다.

    • 파일 연결에 사용되는 모든 파라미터, 변수 및 표현식이 D:\S3 폴더를 가리키는지 확인합니다.

    • 다중 AZ 인스턴스에서 장애 조치 후 D:\S3 폴더에 SSIS에서 생성한 파일이 삭제됩니다. 자세한 내용은 S3 통합에 대한 다중 AZ 제한 사항 섹션을 참조하세요.

    • D:\S3 폴더에 SSIS에서 생성한 파일을 Amazon S3 버킷에 업로드하여 내구성을 높입니다.

  • 열 가져오기 및 열 내보내기 변환과 데이터 흐름 작업의 스크립트 구성 요소는 지원되지 않습니다.

  • SSIS 패키지 실행 시 덤프를 활성화할 수 없으며 SSIS 패키지에 데이터 탭을 추가할 수 없습니다.

  • SSIS 확장 기능은 지원되지 않습니다.

  • 프로젝트를 직접 배포할 수 없습니다. 이를 수행할 RDS 저장 프로시저를 제공합니다. 자세한 내용은 SSIS 프로젝트 배포 섹션을 참조하세요.

  • RDS에 배포하기 위한 DoNotSavePasswords 보호 모드를 사용하여 SSIS 프로젝트(.ispac) 파일을 빌드합니다.

  • 읽기 전용 복제본이 있는 Always On 인스턴스에서는 SSIS가 지원되지 않습니다.

  • SSIS 옵션과 연결된 SSISDB 데이터베이스는 백업할 수 없습니다.

  • SSIS의 다른 인스턴스에서 SSISDB 데이터베이스를 가져오고 복원하는 것은 지원되지 않습니다.

  • 다른 SQL Server DB 인스턴스나 Oracle 데이터 소스에 연결할 수 있습니다. MySQL이나 PostgreSQL 같은 다른 데이터베이스 엔진에 연결하는 것은 RDS for SQL Server의 SSIS에서 지원되지 않습니다. Oracle 데이터 소스 연결에 대한 자세한 내용은 Oracle OLEDB 포함 연결된 서버 단원을 참조하세요.

SSIS 활성화

SSIS 옵션을 DB 인스턴스에 추가하여 SSIS를 활성화합니다. 다음 프로세스를 사용합니다.

  1. 새 옵션 그룹을 생성하거나 기존 옵션 그룹을 선택합니다.

  2. [SSIS] 옵션을 옵션 그룹에 추가합니다.

  3. 새 파라미터 그룹을 생성하거나 기존 파라미터 그룹을 선택합니다.

  4. 파라미터 그룹을 수정하여 clr enabled 파라미터를 1로 설정합니다.

  5. 옵션 그룹 및 파라미터 그룹을 DB 인스턴스와 연결합니다.

  6. Amazon S3 통합을 활성화합니다.

참고

이름이 SSISDB이거나 예약된 SSIS 로그인이 있는 데이터베이스가 DB 인스턴스에 이미 있는 경우 인스턴스에서 SSIS를 활성화할 수 없습니다.

SSIS용 옵션 그룹 생성

SSIS를 사용하려면 사용할 DB 인스턴스의 SQL Server 에디션 및 버전에 해당하는 옵션 그룹을 생성하거나 수정합니다. 이렇게 하려면 AWS Management Console 또는 AWS CLI를 사용합니다.

다음 절차에서는 SQL Server Standard Edition 2016에 대한 옵션 그룹을 생성합니다.

옵션 그룹을 생성하려면
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 옵션 그룹을 선택합니다.

  3. 그룹 생성을 선택합니다.

  4. 보안 그룹 생성 창에서 다음과 같이 합니다.

    1. [이름(Name)]에 AWS 계정 내에서 쉽게 식별할 수 있는 옵션 그룹 이름을 입력합니다(예: ssis-se-2016). 이름은 글자, 숫자 및 하이픈만 사용 가능합니다.

    2. 설명에 옵션 그룹에 대한 간단한 설명을 입력합니다(예: SSIS option group for SQL Server SE 2016). 이 설명은 표시 용도로만 사용됩니다.

    3. 엔진에 대해 sqlserver-se를 선택합니다.

    4. 메이저 엔진 버전13.00을 선택합니다.

  5. 생성을 선택합니다.

다음 절차에서는 SQL Server Standard Edition 2016에 대한 옵션 그룹을 생성합니다.

옵션 그룹을 생성하려면
  • 다음 명령 중 하나를 실행합니다.

    Linux, macOS, Unix:

    aws rds create-option-group \ --option-group-name ssis-se-2016 \ --engine-name sqlserver-se \ --major-engine-version 13.00 \ --option-group-description "SSIS option group for SQL Server SE 2016"

    Windows의 경우:

    aws rds create-option-group ^ --option-group-name ssis-se-2016 ^ --engine-name sqlserver-se ^ --major-engine-version 13.00 ^ --option-group-description "SSIS option group for SQL Server SE 2016"

옵션 그룹에 SSIS 옵션 추가

그런 다음 AWS Management Console 또는 AWS CLI를 사용하여 SSIS 옵션을 옵션 그룹에 추가합니다.

SSIS 옵션을 추가하려면
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 옵션 그룹을 선택합니다.

  3. 이 예제에서는 방금 생성한 옵션 그룹인 ssis-se-2016을 선택합니다.

  4. 옵션 추가를 선택합니다.

  5. 옵션 세부 정보에서 옵션 이름으로 SSIS를 선택합니다.

  6. 예약에서 옵션을 즉시 추가할지 또는 다음 유지 관리 기간에 추가할지를 선택합니다.

  7. 옵션 추가를 선택합니다.

SSIS 옵션을 추가하려면
  • [SSIS] 옵션을 옵션 그룹에 추가합니다.

    Linux, macOS, Unix:

    aws rds add-option-to-option-group \ --option-group-name ssis-se-2016 \ --options OptionName=SSIS \ --apply-immediately

    Windows의 경우:

    aws rds add-option-to-option-group ^ --option-group-name ssis-se-2016 ^ --options OptionName=SSIS ^ --apply-immediately

SSIS용 파라미터 그룹 생성

SSIS를 사용할 DB 인스턴스의 SQL Server 에디션 및 버전에 해당하는 clr enabled 파라미터의 파라미터 그룹을 생성하거나 수정합니다.

다음 절차에서는 SQL Server Standard Edition 2016에 대한 파라미터 그룹을 생성합니다.

파라미터 그룹을 생성하려면
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 파라미터 그룹을 선택합니다.

  3. [Create parameter group]을 선택합니다.

  4. 서브넷 그룹 생성 창에서 다음을 수행합니다.

    1. 파라미터 그룹 패밀리에서 sqlserver-se-13.0을 선택합니다.

    2. 그룹 이름에 파라미터 그룹의 식별자(예: ssis-sqlserver-se-13)를 입력합니다.

    3. 설명clr enabled parameter group를 입력합니다.

  5. 생성을 선택합니다.

다음 절차에서는 SQL Server Standard Edition 2016에 대한 파라미터 그룹을 생성합니다.

파라미터 그룹을 생성하려면
  • 다음 명령 중 하나를 실행합니다.

    Linux, macOS, Unix:

    aws rds create-db-parameter-group \ --db-parameter-group-name ssis-sqlserver-se-13 \ --db-parameter-group-family "sqlserver-se-13.0" \ --description "clr enabled parameter group"

    Windows의 경우:

    aws rds create-db-parameter-group ^ --db-parameter-group-name ssis-sqlserver-se-13 ^ --db-parameter-group-family "sqlserver-se-13.0" ^ --description "clr enabled parameter group"

SSIS용 파라미터 수정

SQL Server 에디션 및 DB 인스턴스의 버전에 해당하는 파라미터 그룹의 clr enabled 파라미터를 수정합니다. SSIS의 경우 clr enabled 파라미터를 1로 설정합니다.

다음 절차에서는 SQL Server Standard Edition 2016에 대해 생성한 파라미터 그룹을 수정합니다.

파라미터 그룹을 수정하려면
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 파라미터 그룹을 선택합니다.

  3. 파라미터 그룹(예: ssis-sqlserver-se-13)을 선택합니다.

  4. 파라미터에서 파라미터 목록을 clr로 필터링합니다.

  5. clr 활성을 선택합니다.

  6. 파라미터 편집을 선택합니다.

  7. 에서 1을 선택합니다.

  8. 변경 사항 저장을 선택합니다.

다음 절차에서는 SQL Server Standard Edition 2016에 대해 생성한 파라미터 그룹을 수정합니다.

파라미터 그룹을 수정하려면
  • 다음 명령 중 하나를 실행합니다.

    Linux, macOS, Unix:

    aws rds modify-db-parameter-group \ --db-parameter-group-name ssis-sqlserver-se-13 \ --parameters "ParameterName='clr enabled',ParameterValue=1,ApplyMethod=immediate"

    Windows의 경우:

    aws rds modify-db-parameter-group ^ --db-parameter-group-name ssis-sqlserver-se-13 ^ --parameters "ParameterName='clr enabled',ParameterValue=1,ApplyMethod=immediate"

옵션 그룹 및 파라미터 그룹을 DB 인스턴스와 연결

SSIS 옵션 그룹 및 파라미터 그룹을 DB 인스턴스와 연결하려면 AWS Management Console 또는 AWS CLI를 사용합니다.

참고

기존 인스턴스를 사용하는 경우 이미 Active Directory 도메인과 AWS Identity and Access Management(IAM) 역할이 연결되어 있어야 합니다. 새 인스턴스를 생성하는 경우 기존 Active Directory 도메인 및 IAM 역할을 지정합니다. 자세한 내용은 RDS for SQL Server를 사용하여 Active Directory 작업 섹션을 참조하세요.

SSIS 활성화를 완료하려면 SSIS 옵션 그룹 및 파라미터 그룹을 새 DB 인스턴스 또는 기존 DB 인스턴스와 연결합니다.

  • 새 DB 인스턴스의 경우 인스턴스를 시작할 때 이러한 그룹을 연결합니다. 자세한 내용은 Amazon RDS DB 인스턴스 생성 섹션을 참조하세요.

  • 기존 DB 인스턴스의 경우 인스턴스를 수정하여 그룹을 연결합니다. 자세한 내용은 Amazon RDS DB 인스턴스 수정 섹션을 참조하세요.

SSIS 옵션 그룹 및 파라미터 그룹을 새 DB 인스턴스 또는 기존 DB 인스턴스와 연결할 수 있습니다.

SSIS 옵션 그룹 및 파라미터 그룹을 사용하여 인스턴스를 생성하려면
  • 옵션 그룹을 생성할 때 사용한 것과 동일한 DB 엔진 유형과 메이저 버전을 지정합니다.

    Linux, macOS, Unix:

    aws rds create-db-instance \ --db-instance-identifier myssisinstance \ --db-instance-class db.m5.2xlarge \ --engine sqlserver-se \ --engine-version 13.00.5426.0.v1 \ --allocated-storage 100 \ --manage-master-user-password \ --master-username admin \ --storage-type gp2 \ --license-model li \ --domain-iam-role-name my-directory-iam-role \ --domain my-domain-id \ --option-group-name ssis-se-2016 \ --db-parameter-group-name ssis-sqlserver-se-13

    Windows의 경우:

    aws rds create-db-instance ^ --db-instance-identifier myssisinstance ^ --db-instance-class db.m5.2xlarge ^ --engine sqlserver-se ^ --engine-version 13.00.5426.0.v1 ^ --allocated-storage 100 ^ --manage-master-user-password ^ --master-username admin ^ --storage-type gp2 ^ --license-model li ^ --domain-iam-role-name my-directory-iam-role ^ --domain my-domain-id ^ --option-group-name ssis-se-2016 ^ --db-parameter-group-name ssis-sqlserver-se-13
인스턴스를 수정하고 SSIS 옵션 그룹 및 파라미터 그룹을 연결하려면
  • 다음 명령 중 하나를 실행합니다.

    Linux, macOS, Unix:

    aws rds modify-db-instance \ --db-instance-identifier myssisinstance \ --option-group-name ssis-se-2016 \ --db-parameter-group-name ssis-sqlserver-se-13 \ --apply-immediately

    Windows의 경우:

    aws rds modify-db-instance ^ --db-instance-identifier myssisinstance ^ --option-group-name ssis-se-2016 ^ --db-parameter-group-name ssis-sqlserver-se-13 ^ --apply-immediately

S3 통합 활성화

배포를 위해 SSIS 프로젝트(.ispac) 파일을 호스트에 다운로드하려면 S3 파일 통합을 사용합니다. 자세한 내용은 Amazon RDS for SQL Server DB 인스턴스와 Amazon S3 통합 섹션을 참조하세요.

SSISDB에 대한 관리 권한

SSIS 옵션을 사용하여 인스턴스를 생성하거나 수정하면 마스터 사용자에게 ssis_admin 및 ssis_logreader 역할이 부여된 SSISDB 데이터베이스가 생성됩니다. 마스터 사용자는 SSISDB에 대해 다음 권한을 가집니다.

  • ssis_admin 역할 변경

  • ssis_logreader 역할 변경

  • 모든 사용자 변경

마스터 사용자는 SQL 인증 사용자이므로 마스터 사용자를 사용하여 SSIS 패키지를 실행할 수 없습니다. 마스터 사용자는 이러한 권한을 사용하여 새 SSISDB 사용자를 생성하고 이를 ssis_admin 및 ssis_logreader 역할에 추가할 수 있습니다. 이렇게 하면 SSIS 사용을 위해 도메인 사용자에게 액세스 권한을 부여하는 데 유용합니다.

SSIS용 Windows 인증 사용자 설정

마스터 사용자가 다음 코드 예제를 사용하여 SSISDB에서 Windows 인증 로그인을 설정하고 필요한 절차에 대한 권한을 부여할 수 있습니다. 이렇게 하면 도메인 사용자에게 SSIS 패키지를 배포 및 실행하고, S3 파일 전송 프로시저를 사용하고, 자격 증명을 만들고, SQL Server 에이전트 프록시를 사용할 수 있는 권한이 부여됩니다. 자세한 내용은 Microsoft 설명서의 자격 증명(데이터베이스 엔진)SQL Server 에이전트 프록시 생성을 참조하십시오.

참고

필요에 따라 Windows 인증 사용자에게 다음 사용 권한 중 일부 또는 모두를 부여할 수 있습니다.

-- Create a server-level SQL login for the domain user, if it doesn't already exist USE [master] GO CREATE LOGIN [mydomain\user_name] FROM WINDOWS GO -- Create a database-level account for the domain user, if it doesn't already exist USE [SSISDB] GO CREATE USER [mydomain\user_name] FOR LOGIN [mydomain\user_name] -- Add SSIS role membership to the domain user ALTER ROLE [ssis_admin] ADD MEMBER [mydomain\user_name] ALTER ROLE [ssis_logreader] ADD MEMBER [mydomain\user_name] GO -- Add MSDB role membership to the domain user USE [msdb] GO CREATE USER [mydomain\user_name] FOR LOGIN [mydomain\user_name] -- Grant MSDB stored procedure privileges to the domain user GRANT EXEC ON msdb.dbo.rds_msbi_task TO [mydomain\user_name] with grant option GRANT SELECT ON msdb.dbo.rds_fn_task_status TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_task_status TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_cancel_task TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_download_from_s3 TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_upload_to_s3 TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_delete_from_filesystem TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_gather_file_details TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_add_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_update_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_grant_login_to_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_revoke_login_from_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_delete_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_enum_login_for_proxy to [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_enum_proxy_for_subsystem TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_sqlagent_proxy TO [mydomain\user_name] WITH GRANT OPTION -- Add the SQLAgentUserRole privilege to the domain user USE [msdb] GO ALTER ROLE [SQLAgentUserRole] ADD MEMBER [mydomain\user_name] GO -- Grant the ALTER ANY CREDENTIAL privilege to the domain user USE [master] GO GRANT ALTER ANY CREDENTIAL TO [mydomain\user_name] GO

SSIS 프로젝트 배포

RDS에서는 SQL Server Management Studio(SSMS) 또는 SSIS 프로시저를 사용하여 SSIS 프로젝트를 직접 배포할 수 없습니다. Amazon S3에서 프로젝트 파일을 다운로드한 다음 배포하려면 RDS 저장 프로시저를 사용합니다.

저장 프로시저를 실행하려면 저장 프로시저를 실행할 권한을 부여한 사용자로 로그인합니다. 자세한 내용은 SSIS용 Windows 인증 사용자 설정 섹션을 참조하세요.

SSIS 프로젝트를 배포하려면
  1. 프로젝트(.ispac) 파일을 다운로드합니다.

    exec msdb.dbo.rds_download_from_s3 @s3_arn_of_file='arn:aws:s3:::bucket_name/ssisproject.ispac', [@rds_file_path='D:\S3\ssisproject.ispac'], [@overwrite_file=1];
  2. 다음 사항을 확인하여 배포 작업을 제출합니다.

    • 폴더는 SSIS 카탈로그에 있습니다.

    • 프로젝트 이름은 SSIS 프로젝트를 개발하는 동안 사용한 프로젝트 이름과 일치합니다.

    exec msdb.dbo.rds_msbi_task @task_type='SSIS_DEPLOY_PROJECT', @folder_name='DEMO', @project_name='ssisproject', @file_path='D:\S3\ssisproject.ispac';

배포 작업의 상태 모니터링

배포 작업의 상태를 추적하려면 rds_fn_task_status 함수를 호출합니다. 두 가지 파라미터가 필요합니다. 첫 번째 파라미터는 SSIS에 적용되지 않기 때문에 항상 NULL이어야 합니다. 두 번째 파라미터는 작업 ID를 수락합니다.

모든 작업 목록을 보려면 다음 예와 같이 첫 번째 파라미터를 NULL로, 두 번째 파라미터를 0으로 설정하십시오.

SELECT * FROM msdb.dbo.rds_fn_task_status(NULL,0);

특정 작업을 수행하려면 다음 예와 같이 첫 번째 파라미터를 NULL로, 두 번째 파라미터를 작업 ID로 설정하십시오.

SELECT * FROM msdb.dbo.rds_fn_task_status(NULL,42);

rds_fn_task_status 함수는 다음 정보를 반환합니다.

출력 파라미터

설명

task_id

작업의 ID입니다.

task_type

SSIS_DEPLOY_PROJECT

database_name

SSIS 작업에는 적용되지 않습니다.

% complete

백분율로 나타낸 작업의 진행률입니다.

duration (mins)

작업에 소요된 시간입니다(분).

lifecycle

작업의 상태입니다. 가능한 상태는 다음과 같습니다.

  • CREATEDmsdb.dbo.rds_msbi_task 저장 프로시저를 호출하면 작업이 생성되고 상태가 CREATED로 설정됩니다.

  • IN_PROGRESS – 작업이 시작되면 상태가 로 설정됩니다.IN_PROGRESS CREATED에서 IN_PROGRESS로 상태가 변경되려면 최대 5분이 걸릴 수 있습니다.

  • SUCCESS – 작업이 완료되면 상태가 로 설정됩니다.SUCCESS

  • ERROR – 작업이 실패하면 상태가 로 설정됩니다.ERROR 오류에 대한 자세한 내용은 task_info 열을 참조하십시오.

  • CANCEL_REQUESTED – rds_cancel_task를 호출하는 즉시 작업의 상태가 CANCEL_REQUESTED로 설정됩니다.

  • CANCELLED – 작업이 성공적으로 취소된 뒤에는 작업 상태가 로 설정됩니다.CANCELLED

task_info

작업에 대한 추가 정보입니다. 처리 중에 오류가 발생하면 이 열에 오류 정보가 포함됩니다.

last_updated

작업 상태를 마지막으로 업데이트한 날짜와 시간입니다.

created_at

작업을 생성한 날짜와 시간입니다.

S3_object_arn

SSIS 작업에는 적용되지 않습니다.

overwrite_S3_backup_file

SSIS 작업에는 적용되지 않습니다.

KMS_master_key_arn

SSIS 작업에는 적용되지 않습니다.

filepath

SSIS 작업에는 적용되지 않습니다.

overwrite_file

SSIS 작업에는 적용되지 않습니다.

task_metadata

SSIS 작업과 관련된 메타데이터입니다.

SSIS 사용

SSIS 프로젝트를 SSIS 카탈로그에 배포한 후 SSMS에서 직접 패키지를 실행하거나 SQL Server 에이전트를 사용하여 예약할 수 있습니다. SSIS 패키지를 실행하려면 Windows 인증 로그인을 사용해야 합니다. 자세한 내용은 SSIS용 Windows 인증 사용자 설정 섹션을 참조하세요.

SSIS 프로젝트에 대한 데이터베이스 연결 관리자 설정

연결 관리자를 사용하는 경우 다음과 같은 유형의 인증을 사용할 수 있습니다.

  • AWS 관리형 Active Directory를 사용하는 로컬 데이터베이스 연결의 경우 SQL 인증 또는 Windows 인증을 사용할 수 있습니다. Windows 인증의 경우 연결 문자열의 서버 이름으로 DB_instance_name.fully_qualified_domain_name을 사용합니다.

    예를 들어 myssisinstance.corp-ad.example.com입니다. 여기서 myssisinstance는 DB 인스턴스 이름이고 corp-ad.example.com은 정규화된 도메인 이름입니다.

  • 원격 연결의 경우 항상 SQL 인증을 사용합니다.

  • 자체 관리형 Active Directory를 사용하는 로컬 데이터베이스 연결의 경우 SQL 인증 또는 Windows 인증을 사용할 수 있습니다. Windows 인증의 경우 연결 문자열의 서버 이름으로 . 또는 LocalHost를 사용합니다.

SSIS 프록시 생성

SQL Server 에이전트를 사용하여 SSIS 패키지를 예약하려면 SSIS 자격 증명과 SSIS 프록시를 생성합니다. Windows 인증 사용자로 다음 절차를 실행합니다.

SSIS 자격 증명을 생성하려면
  • 프록시에 대한 자격 증명을 생성합니다. 이렇게 하려면 SSMS 또는 다음 SQL 문을 사용하면 됩니다.

    USE [master] GO CREATE CREDENTIAL [SSIS_Credential] WITH IDENTITY = N'mydomain\user_name', SECRET = N'mysecret' GO
    참고

    IDENTITY는 도메인 인증 로그인이어야 합니다. mysecret를 도메인 인증 로그인에 대한 암호로 바꿉니다.

    SSISDB 기본 호스트가 변경될 때마다 새 호스트가 액세스할 수 있도록 SSIS 프록시 자격 증명을 변경합니다.

SSIS 프록시를 생성하려면
  1. 다음 SQL 문을 사용하여 프록시를 생성합니다.

    USE [msdb] GO EXEC msdb.dbo.sp_add_proxy @proxy_name=N'SSIS_Proxy',@credential_name=N'SSIS_Credential',@description=N'' GO
  2. 다음 SQL 문을 사용하여 프록시에 대한 액세스 권한을 다른 사용자에게 부여합니다.

    USE [msdb] GO EXEC msdb.dbo.sp_grant_login_to_proxy @proxy_name=N'SSIS_Proxy',@login_name=N'mydomain\user_name' GO
  3. 다음 SQL 문을 사용하여 SSIS 하위 시스템에 프록시에 대한 액세스 권한을 부여합니다.

    USE [msdb] GO EXEC msdb.dbo.rds_sqlagent_proxy @task_type='GRANT_SUBSYSTEM_ACCESS',@proxy_name='SSIS_Proxy',@proxy_subsystem='SSIS' GO
프록시 및 프록시의 부여를 보려면
  1. 다음 SQL 문을 사용하여 프록시의 피부여자를 확인합니다.

    USE [msdb] GO EXEC sp_help_proxy GO
  2. 다음 SQL 문을 사용하여 하위 시스템 부여를 확인합니다.

    USE [msdb] GO EXEC msdb.dbo.sp_enum_proxy_for_subsystem GO

SQL Server 에이전트를 사용하여 SSIS 패키지 예약

자격 증명 및 프록시를 생성하고 SSIS에 프록시에 대한 액세스 권한을 부여한 후 SSIS 패키지를 예약하는 SQL Server 에이전트 작업을 생성할 수 있습니다.

SSIS 패키지를 예약하려면
  • SSMS 또는 T-SQL을 사용하여 SQL Server 에이전트 작업을 생성할 수 있습니다. 다음 예제에서는 T-SQL을 사용합니다.

    USE [msdb] GO DECLARE @jobId BINARY(16) EXEC msdb.dbo.sp_add_job @job_name=N'MYSSISJob', @enabled=1, @notify_level_eventlog=0, @notify_level_email=2, @notify_level_page=2, @delete_level=0, @category_name=N'[Uncategorized (Local)]', @job_id = @jobId OUTPUT GO EXEC msdb.dbo.sp_add_jobserver @job_name=N'MYSSISJob',@server_name=N'(local)' GO EXEC msdb.dbo.sp_add_jobstep @job_name=N'MYSSISJob',@step_name=N'ExecuteSSISPackage', @step_id=1, @cmdexec_success_code=0, @on_success_action=1, @on_fail_action=2, @retry_attempts=0, @retry_interval=0, @os_run_priority=0, @subsystem=N'SSIS', @command=N'/ISSERVER "\"\SSISDB\MySSISFolder\MySSISProject\MySSISPackage.dtsx\"" /SERVER "\"my-rds-ssis-instance.corp-ad.company.com/\"" /Par "\"$ServerOption::LOGGING_LEVEL(Int16)\"";1 /Par "\"$ServerOption::SYNCHRONIZED(Boolean)\"";True /CALLERINFO SQLAGENT /REPORTING E', @database_name=N'master', @flags=0, @proxy_name=N'SSIS_Proxy' GO

프록시에서 SSIS 액세스 취소

다음 저장 프로시저를 사용하여 SSIS 하위 시스템에 대한 액세스를 취소하고 SSIS 프록시를 삭제할 수 있습니다.

액세스를 취소하고 프록시를 삭제하려면
  1. 하위 시스템 액세스를 취소합니다.

    USE [msdb] GO EXEC msdb.dbo.rds_sqlagent_proxy @task_type='REVOKE_SUBSYSTEM_ACCESS',@proxy_name='SSIS_Proxy',@proxy_subsystem='SSIS' GO
  2. 프록시에 대한 부여를 취소합니다.

    USE [msdb] GO EXEC msdb.dbo.sp_revoke_login_from_proxy @proxy_name=N'SSIS_Proxy',@name=N'mydomain\user_name' GO
  3. 프록시를 삭제합니다.

    USE [msdb] GO EXEC dbo.sp_delete_proxy @proxy_name = N'SSIS_Proxy' GO

SSIS 비활성화

SSIS를 비활성화하려면 해당 옵션 그룹에서 SSIS 옵션을 제거합니다.

중요

이 옵션을 제거해도 SSISDB 데이터베이스가 삭제되지 않으므로 SSIS 프로젝트 손실 없이 해당 옵션을 안전하게 제거할 수 있습니다.

제거 후 SSIS 옵션을 다시 활성화하여 이전에 SSIS 카탈로그에 배포된 SSIS 프로젝트를 다시 사용할 수 있습니다.

다음 절차에서는 SSIS 옵션을 제거합니다.

옵션 그룹에서 SSIS 옵션을 제거하려면
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 옵션 그룹을 선택합니다.

  3. SSIS 옵션이 있는 옵션 그룹을 선택합니다(이전 예제의 경우 ssis-se-2016).

  4. 옵션 삭제를 선택합니다.

  5. 옵션 삭제에서 삭제할 옵션SSIS를 선택합니다.

  6. 즉시 적용에서 옵션을 즉시 삭제하려면 를 선택하고 다음 유지 관리 기간에 삭제하려면 아니오를 선택합니다.

  7. Delete을 선택합니다.

다음 절차에서는 SSIS 옵션을 제거합니다.

옵션 그룹에서 SSIS 옵션을 제거하려면
  • 다음 명령 중 하나를 실행합니다.

    Linux, macOS, Unix:

    aws rds remove-option-from-option-group \ --option-group-name ssis-se-2016 \ --options SSIS \ --apply-immediately

    Windows의 경우:

    aws rds remove-option-from-option-group ^ --option-group-name ssis-se-2016 ^ --options SSIS ^ --apply-immediately

SSISDB 데이터베이스 삭제

SSIS 옵션을 제거한 후 SSISDB 데이터베이스는 삭제되지 않습니다. SSISDB 데이터베이스를 삭제하려면 SSIS 옵션을 제거한 후 rds_drop_ssis_database 저장 프로시저를 사용합니다.

SSIS 데이터베이스를 삭제하려면
  • 다음 저장 프로시저를 사용합니다.

    USE [msdb] GO EXEC dbo.rds_drop_ssis_database GO

SSISDB 데이터베이스를 삭제한 후 SSIS 옵션을 다시 활성화하면 새 SSISDB 카탈로그를 얻을 수 있습니다.