Microsoft SQL Server 데이터베이스를 원본으로 사용 AWS DMS - AWS Database Migration Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Microsoft SQL Server 데이터베이스를 원본으로 사용 AWS DMS

를 사용하여 하나 이상의 Microsoft SQL Server 데이터베이스에서 데이터를 AWS DMS 마이그레이션합니다. SQL Server 데이터베이스를 원본으로 사용하면 데이터를 다른 SQL Server 데이터베이스 또는 AWS DMS 지원되는 다른 데이터베이스 중 하나로 마이그레이션할 수 있습니다.

원본으로 AWS DMS 지원하는 SQL Server 버전에 대한 자세한 내용은 을 참조하십시오출처: AWS DMS.

원본 SQL Server 데이터베이스는 네트워크 상의 어느 컴퓨터에나 설치할 수 있습니다. AWS DMS에서 사용하려면 사용자가 선택한 작업 유형에 적절한 원본 데이터베이스 액세스 권한이 있는 SQL Server 계정이 필요합니다. 계정에는 view definitionview server state 권한이 있어야 합니다. 다음 명령을 사용하여 이 권한을 추가합니다.

grant view definition to [user] grant view server state to [user]

AWS DMS SQL Server의 명명된 인스턴스에서 데이터를 마이그레이션하는 것을 지원합니다. 원본 엔드포인트를 생성하는 경우 서버 이름에 다음 표기법을 사용할 수 있습니다.

IPAddress\InstanceName

예를 들어 올바른 원본 엔드포인트 서버 이름은 다음과 같습니다. 여기서, 이름의 첫 번째 부분은 서버의 IP 주소이며, 두 번째 부분은 SQL Server 인스턴스 이름(이 예에서는 SQLTest)입니다.

10.0.0.25\SQLTest

또한 SQL Server의 명명된 인스턴스가 수신하는 포트 번호를 얻고 이를 사용하여 AWS DMS 원본 엔드포인트를 구성하십시오.

참고

포트 1433은 Microsoft SQL Server의 기본값입니다. 그러나 SQL Server가 시작될 때마다 변경되는 동적 포트와 방화벽을 통해 SQL Server에 연결하는 데 사용되는 특정 정적 포트 번호도 자주 사용됩니다. 따라서 AWS DMS 원본 엔드포인트를 생성할 때 지정된 SQL Server 인스턴스의 실제 포트 번호를 알고 싶을 것입니다.

SSL을 사용하여 SQL Server 엔드포인트와 복제 인스턴스 사이의 연결을 암호화할 수 있습니다. SQL Server 엔드포인트에서 SSL을 사용하는 방법에 대한 자세한 내용은 AWS Database Migration Service에서 SSL 사용 섹션을 참조하십시오.

SQL Server 원본 데이터베이스 작업에 대한 추가 세부 정보는 AWS DMS 다음을 참조하십시오.

SQL Server를 원본으로 사용할 때의 제한 사항 AWS DMS

다음 제한 사항은 SQL Server 데이터베이스를 AWS DMS용 소스로 사용 시 적용됩니다.

  • 열의 자격 증명 속성은 대상 데이터베이스 열로 마이그레이션되지 않습니다.

  • SQL Server 엔드포인트는 스파스 열이 있는 테이블의 사용을 지원하지 않습니다.

  • Windows 인증은 지원되지 않습니다.

  • SQL Server에서 컴퓨팅된 필드의 변경 사항은 복제되지 않습니다.

  • 임시 테이블은 지원되지 않습니다.

  • SQL Server 파티션 전환은 지원되지 않습니다.

  • WRITETEXT 및 UPDATETEXT 유틸리티를 사용하는 경우 원본 데이터베이스에 적용된 이벤트를 캡처하지 AWS DMS 않습니다.

  • 다음 데이터 조작 언어(DML) 패턴은 지원되지 않습니다.

    SELECT * INTO new_table FROM existing_table
  • SQL Server를 소스로 사용할 경우, 열 수준 암호화는 지원되지 않습니다.

  • AWS DMS SQL Server 2008 또는 SQL Server 2008 R2를 원본으로 사용하는 경우 서버 수준 감사를 지원하지 않습니다. 이는 SQL Server 2008 및 2008 R2의 알려진 문제 때문입니다. 예를 들어, 다음 명령을 실행하면 오류가 발생합니다 AWS DMS .

    USE [master] GO ALTER SERVER AUDIT [my_audit_test-20140710] WITH (STATE=on) GO
  • SQL Server를 소스로 사용하는 경우, Geometry 열은 전체 LOB 모드에서 지원되지 않습니다. 대신, 제한적 LOB 모드를 사용하거나 인라인 LOB 모드를 사용하도록 InlineLobMaxSize 작업 설정을 설정하세요.

  • 복제 작업에서 Microsoft SQL Server 소스 데이터베이스를 사용하는 경우, 작업을 제거하면 SQL Server Replication Publisher 정의가 제거되지 않습니다. Microsoft SQL Server 시스템 관리자는 Microsoft SQL Server에서 해당 정의를 삭제해야 합니다.

  • 전체 로드 전용 작업의 경우 스키마 바운드 및 non-schema-bound 뷰에서 데이터를 마이그레이션할 수 있습니다.

  • sp_rename을 사용하여 테이블 이름을 바꾸는 것은 지원되지 않습니다(예: sp_rename 'Sales.SalesRegion', 'SalesReg;)).

  • sp_rename을 사용하여 열 이름을 바꾸는 것은 지원되지 않습니다(예: sp_rename 'Sales.Sales.Region', 'RegID', 'COLUMN';).

  • AWS DMS 열 기본값을 설정 및 해제하기 위한 변경 처리를 지원하지 않습니다 (명령문과 함께 절 사용). ALTER COLUMN SET DEFAULT ALTER TABLE

  • AWS DMS 열 무효화 허용 여부를 설정하기 위한 변경 처리 (명령문과 함께 절 사용) 를 지원하지 않습니다. ALTER COLUMN [SET|DROP] NOT NULL ALTER TABLE

  • SQL Server 2012 및 SQL Server 2014에서는 가용성 그룹과 함께 DMS 복제를 사용하는 경우, 배포 데이터베이스를 가용성 그룹에 배치할 수 없습니다. SQL 2016은 병합, 양방향 또는 복제 토폴로지에 사용되는 배포 데이터베이스를 제외하고 배포 데이터베이스를 가용성 그룹에 배치하는 것을 지원합니다. peer-to-peer

  • 분할된 테이블의 경우 파티션마다 다른 데이터 압축 설정을 AWS DMS 지원하지 않습니다.

  • SQL Server 공간 데이터 유형(GEOGRAPHY 및 GEOMETRY)에 값을 삽입할 때 공간 참조 시스템 식별자(SRID) 속성을 무시하거나 다른 숫자를 지정할 수 있습니다. 공간 데이터 유형이 있는 테이블을 복제하는 경우 SRID를 기본 SRID (지오메트리의 경우 0, GEOGRAPHY의 경우 4326) 로 AWS DMS 대체합니다.

  • 데이터베이스가 MS-REPLICATION 또는 MS-CDC에 대해 구성되지 않은 경우에도 프라이머리 키가 없는 테이블을 캡처할 수 있지만 INSERT/DELETE DML 이벤트만 캡처됩니다. UPDATE 및 TRUNCATE TABLE 이벤트는 무시됩니다.

  • Columnstore 인덱스는 지원되지 않습니다.

  • 메모리 최적화 테이블(인 메모리 OLTP 사용)은 지원되지 않습니다.

  • 여러 열로 구성된 프라이머리 키가 있는 테이블을 복제할 때 전체 로드 중에 프라이머리 키 열을 업데이트하는 것은 지원되지 않습니다.

  • 지연된 지속성은 지원되지 않습니다.

  • readBackupOnly=Y 엔드포인트 설정(추가 연결 속성)은 RDS의 백업 수행 방식 때문에 RDS for SQL Server 소스 인스턴스에서 작동하지 않습니다.

  • RDS 사용자에게는 SQL Server 저장 프로시저 sp_repldone을 실행할 수 있는 액세스 권한이 없기 때문에 EXCLUSIVE_AUTOMATIC_TRUNCATION는 Amazon RDS SQL Server 소스 인스턴스에서는 작동하지 않습니다.

  • AWS DMS 잘라내기 명령은 캡처하지 않습니다.

  • AWS DMS ADR (가속 데이터베이스 복구) 이 설정된 데이터베이스에서의 복제는 지원하지 않습니다.

  • AWS DMS 는 단일 트랜잭션 내에서 DDL (데이터 정의 언어) 및 DML (데이터 조작 언어) 문을 캡처하는 것을 지원하지 않습니다.

  • AWS DMS 데이터 계층 응용 프로그램 패키지 (DACPAC) 의 복제를 지원하지 않습니다.

  • 프라이머리 키나 고유 인덱스를 포함하고 여러 데이터 행을 업데이트하는 UPDATE 문은 대상 데이터베이스에 변경 내용을 적용할 때 충돌을 일으킬 수 있습니다. 예를 들어 대상 데이터베이스가 업데이트를 단일 UPDATE 문 대신 INSERT 문과 DELETE 문으로 적용하는 경우, 이런 일이 발생할 수 있습니다. 일괄 최적화 적용 모드에서는 테이블이 무시될 수 있습니다. 트랜잭션 적용 모드에서는 UPDATE 작업 시 제약 조건 위반이 발생할 수 있습니다. 이 문제를 방지하려면 관련 테이블을 다시 로드하세요. 또는 Apply Exceptions 제어 테이블(dmslogs.awsdms_apply_exceptions)에서 문제가 되는 레코드를 찾아 대상 데이터베이스에서 수동으로 편집합니다. 자세한 설명은 변경 처리 튜닝 설정 섹션을 참조하세요.

  • AWS DMS 이름에 다음 세트의 특수 문자가 포함된 테이블 및 스키마의 복제를 지원하지 않습니다.

    \\ -- \n \" \b \r ' \t ;

  • 데이터 마스킹은 지원되지 않습니다. AWS DMS 마스킹 없이 마스킹된 데이터를 마이그레이션합니다.

  • AWS DMS 기본 키가 있는 최대 32,767개의 테이블과 각 테이블에 대해 최대 1,000개의 열을 복제합니다. 이는 복제된 각 테이블에 대해 SQL Server 복제 아티클을 AWS DMS 만들며 SQL Server 복제 아티클에는 이러한 제한이 있기 때문입니다.

  • CDC(변경 데이터 캡처)를 사용할 때는 고유 인덱스를 구성하는 모든 열을 NOT NULL로 정의해야 합니다. 이 요구 사항이 충족되지 않으면 SQL Server 시스템 오류 22838이 발생합니다.

백업 트랜잭션 로그에 액세스할 때는 다음 제한 사항이 적용됩니다.

  • 암호화된 백업은 지원되지 않습니다.

  • URL 또는 Windows Azure에 저장된 백업은 지원되지 않습니다.

  • AWS DMS 대체 공유 폴더의 파일 수준에서 트랜잭션 로그 백업을 직접 처리하는 것은 지원하지 않습니다.

전체 로드 전용 작업에 대한 권한

전체 로드 전용 작업을 수행하려면 다음 권한이 필요합니다. 단, 이렇게 해도 dms_user 로그인이 생성되지는 AWS DMS 않습니다. SQL Server 로그인 생성에 대한 자세한 내용은 Microsoft SQL Server를 사용하여 데이터베이스 사용자 생성 섹션을 참조하세요.

USE db_name; CREATE USER dms_user FOR LOGIN dms_user; ALTER ROLE [db_datareader] ADD MEMBER dms_user; GRANT VIEW DATABASE STATE to dms_user ; USE master; GRANT VIEW SERVER STATE TO dms_user;

SQL Server 소스에서 지속적 복제(CDC) 사용을 위한 사전 요구 사항

온프레미스 또는 Amazon EC2의 자체 관리형 SQL Server 데이터베이스 또는 Amazon RDS나 Microsoft Azure SQL 관리형 인스턴스 같은 클라우드 데이터베이스에 지속적 복제(변경 데이터 캡처, 즉 CDC)를 사용할 수 있습니다.

특히 SQL Server 데이터베이스를 AWS DMS의 소스로 이용하는 지속적 복제를 사용할 때 다음 요구 사항이 적용됩니다.

  • SQL Server는 전체 백업에 맞게 구성되어야 하며, 사용자는 데이터 복제를 시작하기 전에 백업을 수행해야 합니다.

  • 복구 모델은 [Bulk logged] 또는 [Full]로 설정되어야 합니다.

  • 여러 디스크로의 SQL Server 백업은 지원되지 않습니다. 서로 다른 디스크에 있는 여러 파일에 데이터베이스 백업을 쓰도록 백업이 정의된 경우 데이터를 읽을 AWS DMS 수 없어 AWS DMS 작업이 실패합니다.

  • 자체 관리형 SQL Server 소스의 경우, 작업을 제거할 때 DMS CDC 작업에 사용되는 소스의 SQL Server Replication Publisher 정의는 제거되지 않습니다. SQL Server 시스템 관리자는 자체 관리형 원본을 위해 SQL Server에서 이 정의를 삭제해야 합니다.

  • CDC 중에는 변경 내용을 읽으려면 SQL Server 트랜잭션 로그 백업을 찾아봐야 합니다. AWS DMS AWS DMS 기본 형식이 아닌 타사 백업 소프트웨어를 사용하여 만든 SQL Server 트랜잭션 로그 백업은 지원되지 않습니다. 네이티브 형식이고 타사 백업 소프트웨어를 사용하여 생성된 트랜잭션 로그 백업을 지원하려면 소스 엔드포인트에 use3rdPartyBackupDevice=Y 연결 속성을 추가하세요.

  • 자체 관리형 SQL Server 원본의 경우, SQL Server는 변경 사항이 게시될 때까지 새로 생성된 테이블에서 변경 사항을 캡처하지 않음에 유의하십시오. 테이블이 SQL Server 원본에 추가되면 발행물 만들기를 AWS DMS 관리합니다. 그렇지만, 이 프로세스에는 몇 분이 걸릴 수 있습니다. 이 지연 시간 동안 새로 생성된 테이블에 적용된 작업은 대상에 캡처되거나 복제되지 않습니다.

  • AWS DMS 변경 데이터를 캡처하려면 SQL Server에서 전체 트랜잭션 로깅을 활성화해야 합니다. SQL Server에서 전체 트랜잭션 로깅을 켜려면 MS-REPLICATION 또는 CHANGE DATA CAPTURE(CDC)를 활성화하세요.

  • SQL Server tlog 항목은 MS CDC 캡처 작업이 해당 변경 내용을 처리할 때까지는 재사용으로 표시되지 않습니다.

  • CDC 작업은 메모리 최적화된 테이블에서 지원되지 않습니다. 이 제한 사항은 이 기능이 처음 도입된 SQL Server 2014 이상에 적용됩니다.

  • AWS DMS 변경 데이터를 캡처하려면 기본적으로 Amazon EC2 또는 온프레미스 SQL 서버의 배포 데이터베이스를 소스로 사용해야 합니다. 따라서 프라이머리 키가 있는 테이블의 MS 복제를 구성하는 동안 배포자를 활성화했는지 확인하세요.

온프레미스 또는 Amazon EC2에서 자체 관리형 SQL Server의 데이터 변경 캡처

소스 Microsoft SQL Server 데이터베이스에서 변경 내용을 캡처하려면 데이터베이스가 전체 백업을 수행하도록 구성되어 있어야 합니다. 데이터베이스를 전체 복구 모드 또는 대량 로그 모드로 구성합니다.

자체 관리형 SQL Server 원본의 경우 다음을 AWS DMS 사용합니다.

MS-REPLICATION

프라이머리 키가 있는 테이블의 변경 사항을 캡처합니다. 원본 SQL Server 인스턴스의 AWS DMS 엔드포인트 사용자에게 sysadmin 권한을 제공하여 이를 자동으로 구성할 수 있습니다. 또는 이 섹션의 단계에 따라 원본을 준비하고 엔드포인트에 대한 sysadmin 권한이 없는 사용자를 사용할 수 있습니다. AWS DMS

MS-CDC

프라이머리 키가 없는 테이블의 변경 사항을 캡처합니다. 데이터베이스 수준에서 모든 테이블에 대해 개별적으로 MS-CDC를 활성화합니다.

지속적 복제(CDC)를 위해 SQL Server 데이터베이스를 설정할 때 다음 중 하나를 수행할 수 있습니다.

  • sysadmin 역할을 사용하여 지속적 복제를 설정합니다.

  • sysadmin 역할을 사용하지 않도록 지속적 복제를 설정합니다.

자체 관리형 SQL Server에서 지속적 복제 설정

이 섹션에는 sysadmin 역할을 사용하거나 사용하지 않고 자체 관리형 SQL 서버에서 지속적 복제를 설정하는 방법에 대한 정보가 나와 있습니다.

자체 관리형 SQL Server에서 지속적 복제 설정: sysadmin 역할 사용

AWS DMS SQL Server의 지속적 복제는 기본 키가 있는 테이블에는 기본 SQL Server 복제를 사용하고, 기본 키가 없는 테이블에는 CDC (변경 데이터 캡처) 를 사용합니다.

지속적 복제를 설정하기 전에 SQL Server 소스에서 지속적 복제(CDC) 사용을 위한 사전 요구 사항 섹션을 참조하세요.

기본 키가 있는 테이블의 경우 일반적으로 AWS DMS 원본에 필요한 아티팩트를 구성할 수 있습니다. 하지만 자체 관리형인 SQL Server 소스 인스턴스의 경우, 먼저 SQL Server 배포를 수동으로 구성해야 합니다. 이렇게 하면 sysadmin 권한이 있는 AWS DMS 원본 사용자가 기본 키가 있는 테이블에 대한 게시를 자동으로 만들 수 있습니다.

배포가 이미 구성되어 있는지 확인하려면 다음 명령을 실행합니다.

sp_get_distributor

열 배포 결과가 NULL인 경우 배포가 구성되지 않은 것입니다. 다음 절차에 따라 배포를 설정할 수 있습니다.

배포를 설정하려면
  1. SQL Server Management Studio(SSMS) 도구를 사용하여 SQL Server 소스 데이터베이스에 연결합니다.

  2. 복제 폴더의 컨텍스트 메뉴(마우스 오른쪽 버튼 클릭)를 열고 배포 구성을 선택합니다. 배포 구성 마법사가 나타납니다.

  3. 마법사에 따라 기본값을 입력하고 배포를 생성합니다.

CDC를 설정하려면

AWS DMS 버전 3.4.7 이상에서는 읽기 전용 복제본을 사용하지 않는 경우 데이터베이스 및 모든 테이블에 대해 MS CDC를 자동으로 설정할 수 있습니다. 이 기능을 사용하려면 SetUpMsCdcForTables ECA를 true로 설정합니다. ECA에 대한 자세한 내용은 엔드포인트 설정 섹션을 참조하세요.

3.4.7 AWS DMS 이전 버전이거나 읽기 전용 복제본을 원본으로 사용하는 경우 다음 단계를 수행하십시오.

  1. 프라이머리 키가 없는 테이블의 경우, 데이터베이스에 MS-CDC를 설정합니다. 이렇게 하려면 sysadmin 역할이 할당된 계정을 사용하고 다음 명령을 실행합니다.

    use [DBname] EXEC sys.sp_cdc_enable_db
  2. 다음으로, 각 소스 테이블마다 MS-CDC를 설정합니다. 고유 키는 있지만 프라이머리 키가 없는 각 테이블마다 다음 쿼리를 실행하여 MS-CDC를 설정합니다.

    exec sys.sp_cdc_enable_table @source_schema = N'schema_name', @source_name = N'table_name', @index_name = N'unique_index_name', @role_name = NULL, @supports_net_changes = 1 GO
  3. 프라이머리 키가 없거나 고유 키가 없는 각 테이블마다 다음 쿼리를 실행하여 MS-CDC를 설정합니다.

    exec sys.sp_cdc_enable_table @source_schema = N'schema_name', @source_name = N'table_name', @role_name = NULL GO

특정 테이블에서 MS-CDC를 설정하는 방법에 대한 자세한 내용은 SQL Server 설명서를 참조하십시오.

독립 실행형 SQL Server에서 지속적 복제 설정: sysadmin 역할 없음

sysadmin 역할 없이 독립 실행형 SQL Server에서 지속적 복제를 설정하는 방법에 대한 자세한 내용은 독립 실행형 SQL Server에서 지속적 복제 설정: sysadmin 역할 없음 섹션을 참조하세요.

클라우드 SQL Server DB 인스턴스에서 지속적 복제 설정

이 섹션에서는 클라우드에 호스팅된 SQL Server 데이터베이스 인스턴스에 CDC를 설정하는 방법을 설명합니다. 클라우드에 호스팅된 SQL 서버 인스턴스는 Amazon RDS for SQL Server, Azure SQL Managed Instance 또는 기타 관리형 클라우드 SQL Server 인스턴스에서 실행되는 인스턴스입니다. 각 데이터베이스 유형에 따른 지속적 복제 제한 사항에 대한 자세한 내용은 SQL Server를 원본으로 사용할 때의 제한 사항 AWS DMS 섹션을 참조하세요.

지속적 복제를 설정하기 전에 SQL Server 소스에서 지속적 복제(CDC) 사용을 위한 사전 요구 사항 섹션을 참조하세요.

자체 관리형 Microsoft SQL Server 소스와 달리 Amazon RDS for SQL Server는 MS-Replication을 지원하지 않습니다. 따라서 기본 키가 AWS DMS 있거나 없는 테이블에는 MS-CDC를 사용해야 합니다.

Amazon RDS는 원본 SQL Server 인스턴스의 지속적인 변경에 AWS DMS 사용되는 복제 아티팩트를 설정할 수 있는 시스템 관리자 권한을 부여하지 않습니다. 다음 절차와 같이 Amazon RDS 인스턴스에서 MS-CDC를 켜야 합니다(마스터 사용자 권한 사용).

클라우드 SQL Server DB 인스턴스에서 MS-CDC를 켜려면
  1. 데이터베이스 수준에서 다음 쿼리 중 하나를 실행합니다.

    RDS for SQL Server DB 인스턴스에는 다음 쿼리를 사용하세요.

    exec msdb.dbo.rds_cdc_enable_db 'DB_name'

    Azure SQL 관리형 DB 인스턴스에는 다음 쿼리를 사용하세요.

    USE DB_name GO EXEC sys.sp_cdc_enable_db GO
  2. 프라이머리 키가 있는 각 테이블마다 다음 쿼리를 실행하여 MS-CDC를 켭니다.

    exec sys.sp_cdc_enable_table @source_schema = N'schema_name', @source_name = N'table_name', @role_name = NULL, @supports_net_changes = 1 GO

    고유 키는 있지만 프라이머리 키가 없는 각 테이블마다 다음 쿼리를 실행하여 MS-CDC를 켭니다.

    exec sys.sp_cdc_enable_table @source_schema = N'schema_name', @source_name = N'table_name', @index_name = N'unique_index_name', @role_name = NULL, @supports_net_changes = 1 GO

    프라이머리 키도 없고 고유 키도 없는 각 테이블마다 다음 쿼리를 실행하여 MS-CDC를 켭니다.

    exec sys.sp_cdc_enable_table @source_schema = N'schema_name', @source_name = N'table_name', @role_name = NULL GO
  3. 다음 명령을 사용하여 원본에서 사용할 수 있도록 변경 사항 보존 기간을 설정합니다.

    use dbname EXEC sys.sp_cdc_change_job @job_type = 'capture' ,@pollinginterval = 86399 exec sp_cdc_stop_job 'capture' exec sp_cdc_start_job 'capture'

    @pollinginterval 파라미터는 초 단위로 측정되며 권장 값은 86,399로 설정되어 있습니다. 즉, @pollinginterval = 86399일 경우 트랜잭션 로그는 86,399초(하루) 동안 변경 사항을 보존합니다. 프로시저 exec sp_cdc_start_job 'capture'에서 설정을 시작합니다.

    참고

    일부 버전의 SQL Server에서는 pollinginterval 값을 3,599초 이상으로 설정하면 값이 기본값인 5초로 재설정됩니다. 이 경우 T-Log 항목은 읽을 수 있기 전에 삭제됩니다. AWS DMS 이 알려진 문제의 영향을 받는 SQL Server 버전을 확인하려면 이 Microsoft KB 문서를 참조하세요.

    다중 AZ에서 Amazon RDS를 사용하는 경우, 장애 조치 시 보조 AZ도 올바른 값을 갖도록 설정해야 합니다.

    exec rdsadmin..rds_set_configuration 'cdc_capture_pollinginterval' , 86399

SQL Server 원본에 대한 지속적인 변경 사항을 캡처하는 AWS DMS 복제 작업이 1시간 이상 중지된 경우 다음 절차를 사용하십시오.

AWS DMS 복제 작업 중에 보존 기간을 유지하려면
  1. 다음 명령을 사용하여 트랜잭션 로그를 잘라내는 작업을 중지합니다.

    exec sp_cdc_stop_job 'capture'
  2. AWS DMS 콘솔에서 작업을 찾아 작업을 재개하십시오.

  3. 모니터링 탭을 선택하고 CDCLatencySource 지표를 확인합니다.

  4. CDCLatencySource 지표가 0이고 그대로 유지되면 다음 명령을 사용하여 트랜잭션 로그를 잘라내는 작업을 다시 시작합니다.

    exec sp_cdc_start_job 'capture'

SQL Server 트랜잭션 로그를 잘라내는 작업을 시작해야 한다는 점을 명심하세요. 그렇지 않으면 SQL Server 인스턴스의 스토리지가 꽉 찰 수 있습니다.

클라우드 SQL Server DB 인스턴스에서의 지속적 복제 제한 사항

  • AWS DMS 활성 트랜잭션 로그만 포함하는 지속적 복제 (CDC) 를 지원합니다. CDC에서는 백업 로그를 사용할 수 없습니다.

  • 이벤트를 활성 트랜잭션 로그에서 백업 로그로 옮기거나 활성 트랜잭션 로그에서 잘라내면 이벤트가 손실될 수 있습니다.

SQL Server용 Amazon RDS를 원본으로 사용할 때의 권장 설정 AWS DMS

Amazon RDS for SQL Server를 소스로 사용하는 경우, 캡처 작업은 maxscansmaxtrans 파라미터를 사용합니다. 이러한 파라미터는 캡처가 트랜잭션 로그에서 수행하는 최대 스캔 수와 각 스캔별로 처리되는 트랜잭션 수를 제어합니다.

트랜잭션 수가 maxtrans*maxscans보다 많은 데이터베이스의 경우, polling_interval 값을 늘리면 활성 트랜잭션 로그 레코드가 누적될 수 있습니다. 결과적으로 이러한 누적으로 인해 트랜잭션 로그 크기가 증가할 수 있습니다.

단, MS-CDC 캡처 작업에는 의존하지 AWS DMS 않습니다. MS-CDC 캡처 작업은 트랜잭션 로그 항목을 처리된 것으로 표시합니다. 이렇게 하면 트랜잭션 로그 백업 작업이 트랜잭션 로그에서 항목을 제거할 수 있습니다.

트랜잭션 로그의 크기와 MS-CDC 작업의 성공 여부를 모니터링하는 것이 좋습니다. MS-CDC 작업이 실패하면 트랜잭션 로그가 과도하게 증가하여 복제 실패가 발생할 수 있습니다. AWS DMS 소스 데이터베이스의 sys.dm_cdc_errors 동적 관리 뷰를 사용하여 MS-CDC 캡처 작업 오류를 모니터링할 수 있습니다. DBCC SQLPERF(LOGSPACE) 관리 명령을 사용하여 트랜잭션 로그 크기를 모니터링할 수 있습니다.

MS-CDC로 인한 트랜잭션 로그 증가를 해결하려면
  1. 에서 데이터베이스가 Log Space Used % AWS DMS 복제되고 있는지 확인하고 데이터베이스가 계속 증가하는지 확인하십시오.

    DBCC SQLPERF(LOGSPACE)
  2. 트랜잭션 로그 백업 프로세스를 방해하는 요인을 식별합니다.

    Select log_reuse_wait, log_reuse_wait_desc, name from sys.databases where name = db_name();

    log_reuse_wait_desc 값이 REPLICATION과 같으면 MS-CDC의 지연 시간으로 인해 로그 백업 보존이 발생합니다.

  3. maxtransmaxscans 파라미터 값을 늘려 캡처 작업에서 처리되는 이벤트 수를 늘립니다.

    EXEC sys.sp_cdc_change_job @job_type = 'capture' ,@maxtrans = 5000, @maxscans = 20 exec sp_cdc_stop_job 'capture' exec sp_cdc_start_job 'capture'

이 문제를 해결하려면 maxscansmaxtrans 값을 매일 원본 데이터베이스에서 maxtrans*maxscans AWS DMS 복제되는 테이블에 대해 생성되는 평균 이벤트 수와 같도록 설정하십시오.

이러한 파라미터를 권장 값보다 높게 설정하면 캡처 작업은 트랜잭션 로그의 모든 이벤트를 처리합니다. 이러한 파라미터를 권장 값보다 낮게 설정하면 MS-CDC 지연 시간이 늘어나고 트랜잭션 로그가 증가합니다.

워크로드의 변경으로 이벤트 수가 달라지기 때문에 적절한 maxscans 값과 maxtrans 값을 식별하는 것이 어려울 수 있습니다. 이 경우 MS-CDC 지연 시간에 대한 모니터링을 설정하는 것이 좋습니다. 자세한 내용은 SQL Server 설명서에서 Monitor the process를 참조하세요. 그런 다음 모니터링 결과를 기반으로 maxtransmaxscans를 동적으로 구성합니다.

AWS DMS 작업을 재개하거나 계속하는 데 필요한 LSN (로그 시퀀스 번호) 을 찾을 수 없는 경우 작업이 실패하여 완전히 다시 로드해야 할 수 있습니다.

참고

를 AWS DMS 사용하여 SQL Server용 RDS에서 데이터를 복제할 때 Amazon RDS 인스턴스의 중지 시작 이벤트 이후 복제를 재개하려고 하면 오류가 발생할 수 있습니다. 이는 중지-시작 이벤트 후 다시 시작할 때 SQL Server Agent 프로세스가 캡처 작업 프로세스를 다시 시작하기 때문입니다. 이는 MS-CDC 폴링 간격을 우회합니다.

이로 인해 MS-CDC 캡처 작업 처리보다 트랜잭션 볼륨이 낮은 데이터베이스에서는 데이터가 중지된 지점부터 재개되기 전에 데이터가 처리되거나 복제 및 백업된 것으로 표시되어 다음과 같은 오류가 발생할 AWS DMS 수 있습니다.

[SOURCE_CAPTURE ]E: Failed to access LSN '0000dbd9:0006f9ad:0003' in the backup log sets since BACKUP/LOG-s are not available. [1020465] (sqlserver_endpoint_capture.c:764)

이 문제를 완화하려면 앞서 권장한 대로 maxtransmaxscans 값을 설정하세요.

SQL Server에 지원되는 압축 방법

AWS DMS에서의 SQL Server 압축 방법 지원에 대해서는 다음을 참고하세요.

  • AWS DMS SQL Server 버전 2008 이상에서는 행/페이지 압축을 지원합니다.

  • AWS DMS Vardecimal 저장 형식을 지원하지 않습니다.

  • AWS DMS 스파스 열 및 열 구조 압축은 지원하지 않습니다.

자체 관리형 SQL Server 가용성 그룹을 사용한 작업 AlwaysOn

SQL Server AlwaysOn 가용성 그룹은 데이터베이스 미러링의 엔터프라이즈 수준 대안으로서 고가용성과 재해 복구를 제공합니다.

AWS DMS에서는 단일 기본 또는 보조 가용성 그룹 복제본에서 변경 내용을 마이그레이션할 수 있습니다.

기본 가용성 그룹 복제본 사용

에서 기본 가용성 그룹을 원본으로 사용하려면 다음과 같이 하십시오. AWS DMS
  1. 가용성 복제본의 모든 SQL Server 인스턴스에서 배포 옵션을 켭니다. 자세한 설명은 자체 관리형 SQL Server에서 지속적 복제 설정 섹션을 참조하세요.

  2. AWS DMS 콘솔에서 SQL Server 원본 데이터베이스 설정을 엽니다. 서버 이름에서 가용성 그룹 리스너에 맞게 구성된 DNS(Domain Name Service) 이름이나 IP 주소를 지정합니다.

AWS DMS 작업을 처음 시작하는 경우 시작하는 데 평소보다 시간이 더 걸릴 수 있습니다. 이렇게 느려지는 이유는 가용성 그룹 서버가 테이블 항목 생성을 복제하고 있기 때문입니다.

보조 가용성 그룹 복제본 사용

에서 보조 가용성 그룹을 원본으로 사용하려면 다음과 같이 하십시오. AWS DMS
  1. 개별 복제본에 연결할 때는 AWS DMS 원본 엔드포인트 사용자가 사용하는 것과 동일한 자격 증명을 사용하십시오.

  2. AWS DMS 복제 인스턴스가 모든 기존 복제본의 DNS 이름을 확인하고 연결할 수 있는지 확인하십시오. 다음 SQL 쿼리를 사용하여 모든 복제본의 DNS 이름을 가져올 수 있습니다.

    select ar.replica_server_name, ar.endpoint_url from sys.availability_replicas ar JOIN sys.availability_databases_cluster adc ON adc.group_id = ar.group_id AND adc.database_name = '<source_database_name>';
  3. 소스 엔드포인트를 만들 때 엔드포인트의 서버 이름 또는 엔드포인트 암호의 서버 주소에 가용성 그룹 리스너의 DNS 이름을 지정합니다. 가용성 그룹 리스너에 대한 자세한 내용은 SQL Server 설명서의 What is an availability group listner?를 참조하세요.

    공용 DNS 서버 또는 온프레미스 DNS 서버를 사용하여 가용성 그룹 리스너, 기본 복제본, 보조 복제본을 확인할 수 있습니다. 온프레미스 DNS 서버를 사용하려면 Amazon Route 53 Resolver를 구성하세요. 자세한 설명은 자체 온프레미스 이름 서버 사용 섹션을 참조하세요.

  4. 다음 추가 연결 속성을 소스 엔드포인트에 추가합니다.

    추가 연결 속성 설명
    applicationIntent ReadOnly 이 ODBC 설정이 없으면 복제 작업이 기본 가용성 그룹 복제본으로 라우팅됩니다. 자세한 내용은 SQL Server 설명서의 SQL Server Native Client Support for High Availability, Disaster Recovery을 참조하세요.
    multiSubnetFailover yes 자세한 내용은 SQL Server 설명서의 SQL Server Native Client Support for High Availability, Disaster Recovery을 참조하세요.
    alwaysOnSharedSynchedBackupIsEnabled false 자세한 설명은 SQL Server를 원본으로 사용할 때의 엔드포인트 설정 AWS DMS 섹션을 참조하세요.
    activateSafeguard false 자세한 내용은 제한 사항 단원을 참조하십시오.
    setUpMsCdcForTables false 자세한 내용은 제한 사항 단원을 참조하십시오.
  5. 가용성 그룹의 모든 복제본에서 배포 옵션을 활성화합니다. 배포자 목록에 모든 노드를 추가합니다. 자세한 설명은 배포를 설정하려면 섹션을 참조하세요.

  6. 기본 읽기-쓰기 복제본에서 다음 쿼리를 실행하여 데이터베이스를 게시할 수 있도록 합니다. 이 쿼리는 데이터베이스에 대해 한 번만 실행합니다.

    sp_replicationdboption @dbname = N'<source DB name>', @optname = N'publish', @value = N'true';

제한 사항

다음은 보조 가용성 그룹 복제본 작업의 제한 사항입니다.

  • AWS DMS 읽기 전용 가용성 그룹 복제본을 원본으로 사용하는 경우 Safeguard를 지원하지 않습니다. 자세한 설명은 SQL Server를 원본으로 사용할 때의 엔드포인트 설정 AWS DMS 섹션을 참조하세요.

  • AWS DMS 읽기 전용 가용성 그룹 복제본을 원본으로 사용하는 경우 setUpMsCdcForTables 추가 연결 속성을 지원하지 않습니다. 자세한 설명은 SQL Server를 원본으로 사용할 때의 엔드포인트 설정 AWS DMS 섹션을 참조하세요.

  • AWS DMS 자체 관리되는 보조 가용성 그룹 복제본을 버전 3.4.7부터 지속적인 복제 (변경 데이터 캡처 또는 CDC) 를 위한 원본 데이터베이스로 사용할 수 있습니다. Cloud SQL Server 다중 AZ 읽기 전용 복제본은 지원되지 않습니다. 이전 버전의 AWS DMS 을 사용하는 경우 주 가용성 그룹 복제본을 CDC의 원본 데이터베이스로 사용해야 합니다.

다른 노드로의 장애 조치

엔드포인트의 ApplicationIntent 추가 연결 속성을 로 설정하면 AWS DMS 작업은 읽기 전용 ReadOnly 라우팅 우선 순위가 가장 높은 읽기 전용 노드에 연결됩니다. 우선 순위가 가장 높은 읽기 전용 노드를 사용할 수 없는 경우, 가용성 그룹에 있는 다른 읽기 전용 노드로 장애 조치됩니다. 설정하지 않으면 AWS DMS 작업은 ApplicationIntent 가용성 그룹의 기본 (읽기/쓰기) 노드에만 연결됩니다.

SQL Server를 원본으로 사용할 때의 보안 요구 사항 AWS Database Migration Service

AWS DMS 사용자 계정에는 연결하려는 원본 SQL Server 데이터베이스의 db_owner 사용자 역할이 최소한 있어야 합니다.

SQL Server를 원본으로 사용할 때의 엔드포인트 설정 AWS DMS

추가 연결 속성을 사용하는 것과 비슷하게 엔드포인트 설정을 사용하여 SQL Server 소스 데이터베이스를 구성할 수 있습니다. AWS DMS 콘솔을 사용하거나 의 create-endpoint 명령을 --microsoft-sql-server-settings '{"EndpointSetting": "value", ...}' JSON 구문과 함께 사용하여 원본 엔드포인트를 생성할 때 설정을 지정합니다. AWS CLI

SQL Server를 소스로 할 때 사용할 수 있는 엔드포인트 설정은 다음 테이블에 나와 있습니다.

명칭 설명

ActivateSafeguard

이 속성은 Safeguard를 켜거나 끕니다. Safeguard에 대한 자세한 내용은 다음 SafeguardPolicy를 참조하세요.

기본 값: true

유효값: {false, true}

예제: '{"ActivateSafeguard": true}'

AlwaysOnSharedSynchedBackupIsEnabled

이 속성은 Always On 가용성 그룹 클러스터의 일부로 호스팅되는 SQL Server 원본 데이터베이스에서 마이그레이션할 AWS DMS 때의 동작을 조정합니다.

AWS DMS Always On 클러스터에서 실행되도록 구성된 SQL Server 원본 데이터베이스에 대한 지원이 향상되었습니다. 이 경우 AWS DMS 는 소스 데이터베이스 인스턴스가 호스팅되는 노드가 아닌 Always On 클러스터의 노드에서 트랜잭션 백업이 실행되고 있는지 추적하려고 시도합니다. 마이그레이션 작업을 시작할 때 클러스터의 각 노드에 연결을 AWS DMS 시도하지만 노드 중 하나에 연결할 수 없으면 연결이 실패합니다.

트랜잭션 백업을 AWS DMS 위해 Always On 클러스터의 모든 노드를 폴링해야 하는 경우 이 속성을 로 false 설정하십시오.

기본 값: true

유효값: true 또는 false

예제: '{"AlwaysOnSharedSynchedBackupIsEnabled": false}'

"ApplicationIntent": "readonly"

SQL Server는 이 ODBC 드라이버 속성 설정을 통해 우선 순위가 가장 높은 읽기 전용 노드로 복제 작업을 라우팅합니다. 이 설정이 없으면 SQL Server는 복제 작업을 기본 읽기-쓰기 노드로 라우팅합니다.

EnableNonSysadminWrapper

sysadmin 사용자 없이 독립 실행형 SQL 서버에서 지속적 복제를 설정하는 경우, 이 엔드포인트 설정을 사용하세요. 이 매개변수는 AWS DMS 버전 3.4.7 이상에서 지원됩니다. 독립 실행형 SQL Server에서 지속적 복제를 설정하는 방법에 대한 자세한 내용은 독립 실행형 SQL Server에서 지속적 복제 설정: sysadmin 역할 없음 섹션을 참조하세요.

기본 값: false

유효값: true, false

예제: '{"EnableNonSysadminWrapper": true}'

ExecuteTimeout

이 추가 연결 속성(ECA)을 사용하여 SQL Server 인스턴스의 클라이언트 문 제한 시간을 초 단위로 설정합니다. 기본값은 60초입니다.

예제: '{"ExecuteTimeout": 100}'

FatalOnSimpleModel

이 설정을 true로 설정하면 SQL Server 데이터베이스 복구 모델이 simple로 설정된 경우 치명적 오류가 발생합니다.

기본 값: false

유효값: true 또는 false

예제: '{"FatalOnSimpleModel": true}'

ForceLobLookup

인라인 LOB에서 LOB 조회를 강제 실행합니다.

기본 값: false

유효값: true, false

예제: '{"ForceLobLookup": false}'

"MultiSubnetFailover": "Yes"

이 ODBC 드라이버 속성은 가용성 그룹 장애 조치 시 DMS가 새 기본 가용 영역에 연결하는 데 도움이 됩니다. 이 속성은 연결이 끊어지거나 리스너 IP 주소가 잘못된 상황을 위해 설계되었습니다. 이러한 상황에서는 가용성 그룹 수신기와 연결된 모든 IP 주소에 연결을 AWS DMS 시도합니다.

ReadBackupOnly

이 속성을 사용하려면 sysadmin 권한이 필요합니다. 이 속성을 로 Y 설정하면 복제를 진행하는 동안 트랜잭션 로그 백업에서만 변경 내용을 AWS DMS 읽고 활성 트랜잭션 로그 파일에서는 읽지 않습니다. 이 파라미터를 Y로 설정하면 전체 로드 및 지속적 복제 작업 중에 활성 트랜잭션 로그 파일 증가를 제어할 수 있습니다. 하지만 약간의 소스 지연 시간이 지속적 복제에 추가될 수 있습니다

유효한 값: N 또는 Y 기본값은 N입니다.

예제: '{"ReadBackupOnly": Y}'

참고: RDS가 백업을 수행하는 방식 때문에 Amazon RDS SQL Server 소스 인스턴스에서는 이 파라미터가 작동하지 않습니다.

SafeguardPolicy

최적의 성능을 위해 활성 트랜잭션 로그 (TLOG) 에서 읽지 않은 모든 변경 내용을 AWS DMS 캡처하려고 시도합니다. 하지만 경우에 따라 잘라내기로 인해 활성 TLOG에 읽지 않은 변경 사항 전체가 포함되지 않을 수도 있습니다. 이 경우 로그 백업에 AWS DMS 액세스하여 누락된 변경 내용을 캡처합니다. 로그 백업에 액세스할 필요성을 최소화하려면 다음 방법 중 하나를 사용하여 AWS DMS 잘림을 방지하십시오.

  1. RELY_ON_SQL_SERVER_REPLICATION_AGENT(데이터베이스에서 트랜잭션 시작): 이 값이 기본값입니다. AWS DMS

    이 설정을 사용하는 경우, AWS DMS 은 SQL Server Log Reader Agent가 실행 중이어야 AWS DMS 가 복제하도록 표시된 트랜잭션을 활성 TLOG에서 이동할 수 있습니다. Log Reader Agent가 실행되고 있지 않으면 활성 TLOG가 가득 차게 되어 문제를 해결할 수 있을 때까지 소스 데이터베이스가 읽기 전용 모드로 전환될 수 있습니다. 이외의 AWS DMS 목적으로 데이터베이스에서 Microsoft Replication을 사용하도록 설정해야 하는 경우 이 설정을 선택해야 합니다.

    이 설정을 사용하면 라는 awsdms_truncation_safeguard 테이블을 만들어 로그 백업 읽기를 AWS DMS 최소화하고 데이터베이스에서 열린 트랜잭션을 모방하여 TLOG 잘림을 방지합니다. 이렇게 하면 데이터베이스에서 이벤트가 잘리고 5분(기본값) 동안 백업 로그로 이동되는 것을 방지할 수 있습니다. 유지 관리 작업 실패를 초래할 수 있으므로 유지 관리 계획에 테이블이 포함되지 않도록 하세요. Start Transactions 데이터베이스 옵션으로 구성된 작업이 없는 경우, 테이블을 안전하게 삭제할 수 있습니다.

  2. EXCLUSIVE_AUTOMATIC_TRUNCATION(단일 작업에만 사용): 이 설정을 sp_repldone 사용하면 로그 항목을 사용함으로 AWS DMS 표시하는 복제 에이전트 프로세스를 완전히 제어할 수 있습니다. ready for truncation sp_repldone 이 설정에서는 RELY_ON_SQL_SERVER_REPLICATION_AGENT (기본값) 설정과 달리 더미 트랜잭션을 사용하지 AWS DMS 않습니다. MS Replication을 원본 데이터베이스 이외의 AWS DMS 다른 용도로 사용하지 않는 경우에만 이 설정을 사용할 수 있습니다. 또한 이 설정을 사용하면 하나의 AWS DMS 작업만 데이터베이스에 액세스할 수 있습니다. 동일한 데이터베이스에 대해 병렬 AWS DMS 작업을 실행해야 하는 경우 를 사용하십시오RELY_ON_SQL_SERVER_REPLICATION_AGENT.

    • 이 설정을 사용하려면 데이터베이스에서 Log Reader Agent를 중지해야 합니다. 작업이 시작될 때 Log Reader 에이전트가 실행 중이면 AWS DMS 작업은 강제로 중지됩니다. 또는 작업을 시작하기 전에 수동으로 Log Reader Agent를 중지할 수도 있습니다.

    • MS-CDC에 이 방법을 사용하는 경우, MS-CDC 캡처MS-CDC 정리 작업을 중지하고 비활성화해야 합니다.

    • 원격 배포자 컴퓨터에서 Microsoft SQL Server 마이그레이션 작업을 실행할 때는 원격 컴퓨터에 액세스할 수 AWS DMS 없으므로 이 설정을 사용할 수 없습니다.

    • Amazon RDS 사용자에게는 sp_repldone 저장 프로시저를 실행할 수 있는 액세스 권한이 없기 때문에 EXCLUSIVE_AUTOMATIC_TRUNCATION는 Amazon RDS for SQL Server 소스 인스턴스에서는 작동하지 않습니다.

    • sysadmin 역할을 사용하지 않고 SafeguardPolicyEXCLUSIVE_AUTOMATIC_TRUNCATION으로 설정하는 경우, dmsuser 사용자에게 dbo.syscategoriesdbo.sysjobs 객체에 대한 권한을 부여해야 합니다.

기본 값: RELY_ON_SQL_SERVER_REPLICATION_AGENT

유효값: {EXCLUSIVE_AUTOMATIC_TRUNCATION, RELY_ON_SQL_SERVER_REPLICATION_AGENT}

예제: '{"SafeguardPolicy": "EXCLUSIVE_AUTOMATIC_TRUNCATION"}'

SetUpMsCdcForTables

이 속성은 MS-Replication이 활성화되지 않은 작업 매핑의 테이블과 소스 데이터베이스에서 MS-CDC를 켭니다. 이 값을 true로 설정하면 소스 데이터베이스에서 sp_cdc_enable_db 저장 프로시저가 실행되고, 소스 데이터베이스에서 MS-Replication이 활성화되지 않은 작업의 각 테이블에서 sp_cdc_enable_table 저장 프로시저가 실행됩니다. 배포를 켜는 방법에 대한 자세한 내용은 자체 관리형 SQL Server에서 지속적 복제 설정 섹션을 참조하세요.

유효값: {true, false}

예제: '{"SetUpMsCdcForTables": true}'

TlogAccessMode

CDC 데이터를 가져오는 데 사용되는 모드를 나타냅니다.

기본 값: PreferTlog

유효값: BackupOnly, PreferBackup, PreferTlog, TlogOnly

예제: '{"TlogAccessMode": "PreferTlog"}'

Use3rdPartyBackupDevice

이 속성이 Y로 설정된 경우, AWS DMS 는 네이티브 형식으로 생성된 타사 트랜잭션 로그 백업을 처리합니다.

SQL Server용 소스 데이터 형식

SQL Server를 원본으로 사용하는 데이터 마이그레이션은 대부분의 SQL Server 데이터 유형을 AWS DMS 지원합니다. 다음 표에는 사용 시 지원되는 SQL Server 원본 데이터 AWS DMS 형식과 데이터 유형에서의 AWS DMS 기본 매핑이 나와 있습니다.

대상에서 매핑된 데이터 형식을 확인하는 방법에 대한 정보는 사용 중인 대상 엔드포인트에 대한 섹션을 참조하십시오.

AWS DMS 데이터 유형에 대한 자세한 내용은 을 참조하십시오AWS Database Migration Service에서 사용되는 데이터 형식.

SQL Server 데이터 형식

AWS DMS 데이터 유형

BIGINT

INT8

BIT

BOOLEAN

DECIMAL

NUMERIC

INT

INT4

MONEY

NUMERIC

NUMERIC(p,s)

NUMERIC

SMALLINT

INT2

SMALLMONEY

NUMERIC

TINYINT

UINT1

REAL

REAL4

FLOAT

REAL8

DATETIME

DATETIME

DATETIME2(SQL Server 2008 이상)

DATETIME

SMALLDATETIME

DATETIME

날짜

날짜

TIME

TIME

DATETIMEOFFSET

WSTRING

CHAR

STRING

VARCHAR

STRING

VARCHAR(최대)

CLOB

TEXT

에서 이 데이터 유형을 사용하려면 특정 작업에 CLOB 데이터 유형을 사용할 수 있도록 설정해야 합니다. AWS DMS

SQL Server 테이블의 경우 SQL Server의 LOB 열 값을 변경하지 않는 UPDATE 문에 대해서도 대상의 LOB 열을 업데이트합니다. AWS DMS

CDC 중에는 기본 키가 포함된 테이블에서만 CLOB 데이터 유형을 AWS DMS 지원합니다.

NCHAR

WSTRING

NVARCHAR(길이)

WSTRING

NVARCHAR(최대)

NCLOB

NTEXT

에서 이 데이터 유형을 사용하려면 특정 작업에 사용할 수 있도록 설정해야 합니다. AWS DMS SupportLobs Lob 지원 활성화에 대한 자세한 내용은 태스크의 소스 데이터베이스에 대한 LOB 지원 설정 AWS DMS 섹션을 참조하세요.

SQL Server 테이블의 경우 SQL Server의 LOB 열 값을 변경하지 않는 UPDATE 문에 대해서도 대상의 LOB 열을 업데이트합니다. AWS DMS

CDC 중에는 기본 키가 포함된 테이블에서만 CLOB 데이터 유형을 AWS DMS 지원합니다.

BINARY

BYTES

VARBINARY

BYTES

VARBINARY(최대)

BLOB

IMAGE

SQL Server 테이블의 경우 SQL Server의 LOB 열 값을 변경하지 않는 UPDATE 문에 대해서도 대상의 LOB 열을 업데이트합니다. AWS DMS

에서 이 데이터 형식을 사용하려면 특정 AWS DMS 작업에 BLOB 데이터 형식을 사용할 수 있도록 설정해야 합니다.

AWS DMS 기본 키가 포함된 테이블에서만 BLOB 데이터 유형을 지원합니다.

TIMESTAMP

BYTES

UNIQUEIDENTIFIER

STRING

HIERARCHYID

SQL Server 대상 엔드포인트에 복제할 때 HIERARCHYID를 사용합니다.

다른 모든 대상 엔드포인트에 복제할 때에는 WSTRING(250)을 사용합니다.

XML

NCLOB

SQL Server 테이블의 경우 SQL Server의 LOB 열 값을 변경하지 않는 UPDATE 문에 대해서도 대상의 LOB 열을 업데이트합니다. AWS DMS

에서 이 데이터 형식을 사용하려면 특정 AWS DMS 작업에 NCLOB 데이터 형식을 사용할 수 있도록 설정해야 합니다.

CDC 중에는 기본 키가 포함된 테이블에서만 NCLOB 데이터 유형을 AWS DMS 지원합니다.

GEOMETRY

이 데이터 형식을 지원하는 대상 엔드포인트에 복제할 때에는 GEOMETRY를 사용합니다.

이 데이터 형식을 지원하지 않는 대상 엔드포인트에 복제할 때에는 CLOB를 사용합니다.

GEOGRAPHY

이 데이터 형식을 지원하는 대상 엔드포인트에 복제할 때에는 GEOGRAPHY를 사용합니다.

이 데이터 형식을 지원하지 않는 대상 엔드포인트에 복제할 때에는 CLOB를 사용합니다.

AWS DMS 다음 데이터 유형의 필드를 포함하는 테이블은 지원하지 않습니다.

  • CURSOR

  • SQL_VARIANT

  • TABLE

참고

사용자 정의 데이터 형식은 그 기반 유형에 따라 지원됩니다. 예를 들어, DATETIME을 기반으로 한 사용자 정의 데이터는 DATETIME 데이터 형식으로 처리됩니다.