Microsoft SQL Server 데이터베이스를 AWS Database Migration Service의 대상으로 사용 - AWS Database Migration Service

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

Microsoft SQL Server 데이터베이스를 AWS Database Migration Service의 대상으로 사용

AWS DMS를 사용하여 Microsoft SQL Server 데이터베이스로 데이터를 마이그레이션할 수 있습니다. SQL Server 데이터베이스를 대상으로 사용할 때에는 다른 SQL Server 데이터베이스나 지원되는 다른 데이터베이스 중 하나에서 가져온 데이터베이스를 마이그레이션할 수 있습니다.

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

AWS DMS는 Enterprise, Standard, Workgroup 및 Developer의 온프레미스 및 Amazon RDS 에디션을 지원합니다.

AWS DMS 및 SQL Server 대상 데이터베이스 사용에 대한 추가 세부 정보는 다음을 참조하십시오.

AWS Database Migration Service에서 SQL Server를 대상으로 사용할 때 적용되는 제한 사항

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

  • 계산된 열에서 SQL Server 대상 테이블을 수동으로 생성하면, BCP 대량 복사 유틸리티를 사용할 때 전체 로드 복제가 지원되지 않습니다. 전체 로드 복제를 사용하려면 엔드포인트에서 추가 연결 속성 (ECA) 'useBCPFullLoad=false'를 설정하여 BCP 로드를 비활성화하십시오. 엔드포인트에서 ECA 설정에 관한 자세한 내용은 소스 및 대상 엔드포인트 생성 단원을 참조하십시오. BCP 사용에 관한 자세한 내용은 Microsoft SQL Server 설명서를 참조하십시오.

  • SQL Server 공간 데이터 형식(GEOMETRY 및 GEOGRAPHY)으로 테이블을 복제하면 AWS DMS는 삽입할 수 있었던 모든 공간 참조 식별자(SRID)를 기본 SRID로 대체합니다. GEOMETRY에서 기본 SRID는 0이고 GEOGRAPHY에서는 4326입니다.

  • 임시 테이블은 지원되지 않습니다. 임시 테이블 마이그레이션은 이 테이블이 대상에서 수동으로 생성되지 않는 경우 Transactional Apply 모드에서 복제 전용 작업을 통해 수행할 수도 있습니다.

  • 현재 PostgreSQL 소스의 boolean 데이터 형식은 값이 일치하지 않는 bit 데이터 형식으로 SQLServer 대상에 마이그레이션됩니다.

    차선책으로 다음을 수행합니다.

    • 열에 대한 VARCHAR(1) 데이터 형식으로 테이블을 미리 생성하거나 AWS DMS에서 테이블을 생성하도록 합니다. 그런 다음, 다운스트림 처리에서 ‘F’를 False로 처리하고 ‘T’를 True로 처리합니다.

    • 다운스트림 처리를 변경할 필요가 없도록 작업에 변환 규칙을 추가하여 ‘F’ 값을 ‘0’으로 변경하고 ‘T’ 값을 1로 변경한 다음 이를 SQL 서버 비트 데이터 형식으로 저장하십시오.

  • AWS DMS는 열 Null 허용 여부를 설정하는 변경 처리를 지원하지 않습니다(ALTER TABLE 문이 있는 ALTER COLUMN [SET|DROP] NOT NULL 절 사용).

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

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

다음은 Microsoft SQL Server 대상과 함께 AWS DMS를 사용할 경우의 보안 요구 사항에 대해 설명합니다.

  • AWS DMS 사용자 계정에는 연결 중인 SQL Server 데이터베이스에서 적어도 db_owner 사용자 역할이 있어야 합니다.

  • SQL Server 시스템 관리자는 모든 AWS DMS 사용자 계정에 이 권한을 부여해야 합니다.

SQL Server를 AWS DMS의 대상으로 사용할 경우 엔드포인트 설정

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

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

명칭 Description

ControlTablesFileGroup

AWS DMS 내부 테이블의 파일 그룹을 지정합니다. 복제 작업을 시작할 때에는 모든 내부 AWS DMS 제어 테이블(awsdms_ apply_exception, awsdms_apply, awsdms_changes)이 지정된 파일 그룹에 생성됩니다.

기본값: 해당 사항 없음

유효값: 문자열

예제: --microsoft-sql-server-settings '{"ControlTablesFileGroup": "filegroup1"}'

다음은 파일 그룹을 생성한 명령의 예입니다.

ALTER DATABASE replicate ADD FILEGROUP Test1FG1; GO ALTER DATABASE replicate ADD FILE (        NAME = test1dat5,        FILENAME = 'C:\temp\DATA\t1dat5.ndf',        SIZE = 5MB,        MAXSIZE = 100MB,        FILEGROWTH = 5MB    )    TO FILEGROUP Test1FG1;    GO

ExecuteTimeout

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

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

UseBCPFullLoad

이 속성을 사용하여 BCP를 사용한 전체 로드 작업에서 데이터를 전송합니다. 소스 테이블에 없는 자격 증명 열이 대상 테이블에 포함되어 있다면 use BCP for loading table(테이블 로드 시 BCP 사용) 옵션을 비활성화해야 합니다.

기본값: true

유효값: true/false

예제: --microsoft-sql-server-settings '{"UseBCPFullLoad": false}'

Microsoft SQL Server용 대상 데이터 형식

다음 테이블에는 AWS DMS를 사용하고 기본적으로 AWS DMS 데이터 형식에 매핑할 때 지원되는 Microsoft SQL Server 대상 데이터 형식이 나와 있습니다. AWS DMS 데이터 형식에 관한 추가 정보는 AWS Database Migration Service에서 사용되는 데이터 형식 단원을 참조하십시오.

AWS DMS 데이터 유형

SQL Server 데이터 형식

BOOLEAN

TINYINT

BYTES

VARBINARY(길이)

날짜

SQL Server 2008 및 이후 버전에서는 DATE를 사용합니다.

이전 버전의 경우에 크기가 3이하라면 DATETIME을 사용합니다. 그 외 모든 경우에서는 VARCHAR(37)을 사용합니다.

TIME

SQL Server 2008 및 이후 버전에서는 DATETIME2(%d)를 사용합니다.

이전 버전의 경우에 크기가 3이하라면 DATETIME을 사용합니다. 그 외 모든 경우에서는 VARCHAR(37)을 사용합니다.

DATETIME

SQL Server 2008 및 이후 버전에서는 DATETIME2(크기)를 사용합니다.

이전 버전의 경우에 크기가 3이하라면 DATETIME을 사용합니다. 그 외 모든 경우에서는 VARCHAR(37)을 사용합니다.

INT1

SMALLINT

INT2

SMALLINT

INT4

INT

INT8

BIGINT

NUMERIC

NUMERIC(p,s)

REAL4

REAL

REAL8

FLOAT

STRING

열이 날짜 또는 시간 열인 경우, 다음 작업을 수행합니다.

  • SQL Server 2008 이상에서는 DATETIME2를 사용합니다.

  • 이전 버전의 경우에 크기가 3이하라면 DATETIME을 사용합니다. 그 외 모든 경우에서는 VARCHAR(37)을 사용합니다.

열이 날짜 또는 시간 열이 아닌 경우, VARCHAR(길이)를 사용합니다.

UINT1

TINYINT

UINT2

SMALLINT

UINT4

INT

UINT8

BIGINT

WSTRING

NVARCHAR(길이)

BLOB

VARBINARY(max)

IMAGE

AWS DMS에서 이 데이터 형식을 사용하려면 특정 작업에서 BLOB 사용을 활성화해야 합니다. AWS DMS는 기본 키를 포함하는 테이블에서만 BLOB 데이터 형식을 지원합니다.

CLOB

VARCHAR(최대)

AWS DMS에서 이 데이터 형식을 사용하려면 특정 작업에서 CLOB 사용을 활성화해야 합니다. 변경 데이터 캡처(CDC) 중에 AWS DMS는 기본 키를 포함하는 데이터에서만 CLOB 데이터 형식을 지원합니다.

NCLOB

NVARCHAR(최대)

AWS DMS에서 이 데이터 형식을 사용하려면 특정 작업에서 NCLOB 사용을 활성화해야 합니다. CDC 중에 AWS DMS는 기본 키를 포함하는 테이블에서만 NCLOB 데이터 형식을 지원합니다.