쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

Microsoft SQL Server 데이터베이스를 AWS DMS에서 소스로 사용

포커스 모드
Microsoft SQL Server 데이터베이스를 AWS DMS에서 소스로 사용 - AWS 데이터베이스 마이그레이션 서비스

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

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

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

AWS DMS가 소스로 지원하는 SQL Server 버전에 대한 자세한 내용은 의 소스 AWS DMS 섹션을 참조하세요.

원본 SQL Server 데이터베이스는 네트워크 상의 어느 컴퓨터에나 설치할 수 있습니다. AWS DMS에서 사용하려면 사용자가 선택한 작업 유형에 적절한 원본 데이터베이스 액세스 권한이 있는 SQL Server 계정이 필요합니다. 자세한 내용은 SQL Server 태스크에 대한 권한 단원을 참조하십시오.

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을 사용하는 방법에 대한 자세한 내용은 SSL와 함께 사용 AWS Database Migration Service 섹션을 참조하십시오.

CDC를 사용하여 SQL Server 데이터베이스에서 지속적으로 마이그레이션할 수 있습니다. CDC용 소스 SQL Server 데이터베이스 구성에 대한 자세한 내용은 SQL Server에서 지속적인 복제를 위한 데이터 변경 사항 캡처 섹션을 참조하세요.

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

AWS DMS용 소스로 SQL Server 사용 시 적용되는 제한 사항

다음 제한 사항은 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에서 해당 정의를 삭제해야 합니다.

  • 전체 로드 전용 작업의 경우, 스키마 바운딩된 뷰와 스키마 바인딩되지 않은 뷰에서 데이터를 마이그레이션할 수 있습니다.

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

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

  • AWS DMS는 (ALTER TABLE 문에서 ALTER COLUMN SET DEFAULT 절을 사용하여) 열 기본값을 설정 및 설정 해제하는 변경 처리를 지원하지 않습니다.

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

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

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

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

  • 데이터베이스가 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는 단일 트랜잭션 내에서 데이터 정의 언어(DL) 및 데이터 조작 언어(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개의 열을 복제합니다. 이는 복제된 각 테이블마다 AWS DMS가 SQL Server 복제 아티클을 생성하기 때문이며, SQL Server 복제 아티클에는 이러한 제한이 있습니다.

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

  • SQL Server가 활성 트랜잭션 로그에서 백업 로그로 아카이브하거나 활성 트랜잭션 로그에서 잘라내면 이벤트가 손실될 수 있습니다.

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

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

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

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

  • Amazon RDS for Microsoft SQL Server 이외의 Cloud SQL Server 소스의 경우 AWS DMS는 활성 트랜잭션 로그로만 지속적인 복제(CDC)를 지원합니다. CDC에서는 백업 로그를 사용할 수 없습니다. SQL Server가 활성 트랜잭션 로그에서 백업 로그로 아카이브하거나 DMS가 읽기 전에 활성 트랜잭션 로그에서 잘라내면 이벤트가 손실될 수 있습니다.

  • Amazon RDS for Microsoft SQL Server 소스의 경우 AWS DMS 3.5.2 이하에서는 DMS가 CDC를 통해 백업 로그에 액세스할 수 없으므로 활성 트랜잭션 로그로만 지속적인 복제(CDC)를 지원합니다. RDS for SQL Server가 활성 트랜잭션 로그에서 백업 로그로 아카이브하거나 DMS가 읽기 전에 활성 트랜잭션 로그에서 잘라내면 이벤트가 손실될 수 있습니다. 이 제한은 AWS DMS 버전 3.5.3 이상에는 적용되지 않습니다.

SQL Server 태스크에 대한 권한

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

전체 로드 전용 작업을 수행하려면 다음 권한이 필요합니다. AWS DMS는 dms_user 로그인을 생성하지 않습니다. 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; GRANT VIEW DEFINITION to dms_user; USE master; GRANT VIEW SERVER STATE TO dms_user;

복제가 진행 중인 태스크에 대한 권한

자체 관리형 SQL Server 인스턴스는 sysadmin 역할을 사용하거나 사용하지 않고도 DMS를 사용하여 계속 복제하도록 구성할 수 있습니다. sysadmin 역할을 부여할 수 없는 SQL Server 인스턴스의 경우 DMS 사용자에게 다음과 같은 권한이 있는지 확인합니다.

자체 관리형 SQL Server 데이터베이스에서 지속적인 복제를 위한 권한 설정
  1. SQL Server Management Studio(SSMS)를 사용하여 또는 전체 로드 전용 작업에 대한 권한에서 이전에 설명한 대로 암호 인증이 있는 새 SQL Server 계정을 생성합니다(예: self_managed_user).

  2. 다음 GRANT 명령을 실행합니다.

    GRANT VIEW SERVER STATE TO self_managed_user; USE MSDB; GRANT SELECT ON MSDB.DBO.BACKUPSET TO self_managed_user; GRANT SELECT ON MSDB.DBO.BACKUPMEDIAFAMILY TO self_managed_user; GRANT SELECT ON MSDB.DBO.BACKUPFILE TO self_managed_user; USE db_name; CREATE USER self_managed_user FOR LOGIN self_managed_user; ALTER ROLE [db_owner] ADD MEMBER self_managed_user; GRANT VIEW DEFINITION to self_managed_user;
  3. 이전 권한 외에도 사용자는 다음 중 하나가 필요합니다.

클라우드 SQL Server 데이터베이스에서 지속적인 복제를 위한 권한 설정

클라우드에 호스팅된 SQL Server 인스턴스는 Amazon RDS for Microsoft SQL Server, Azure SQL Managed Instance 또는 DMS에서 지원하는 기타 관리형 클라우드 SQL Server 인스턴스에서 실행되는 인스턴스입니다.

SQL Server Management Studio(SSMS)를 사용하여 또는 전체 로드 전용 작업에 대한 권한에서 이전에 설명한 대로 암호 인증이 있는 새 SQL Server 계정을 생성합니다(예: rds_user).

다음의 GRANT 명령을 실행합니다.

GRANT VIEW SERVER STATE TO rds_user; USE MSDB; GRANT SELECT ON MSDB.DBO.BACKUPSET TO rds_user; GRANT SELECT ON MSDB.DBO.BACKUPMEDIAFAMILY TO rds_user; GRANT SELECT ON MSDB.DBO.BACKUPFILE TO rds_user; USE db_name; CREATE USER rds_user FOR LOGIN rds_user; ALTER ROLE [db_owner] ADD MEMBER rds_user; GRANT VIEW DEFINITION to rds_user;

Amazon RDS for Microsoft SQL Server 소스의 경우 DMS 버전 3.5.3 이상은 트랜잭션 로그 백업에서 읽기를 지원합니다. DMS가 로그 백업에 액세스할 수 있도록 하려면 위의 항목 외에도 RDS SQL Server 소스에 대한 master 사용자 권한 또는 다음 권한을 부여합니다.

//DMS 3.5.3 version onwards GRANT EXEC ON msdb.dbo.rds_dms_tlog_download TO rds_user; GRANT EXEC ON msdb.dbo.rds_dms_tlog_read TO rds_user; GRANT EXEC ON msdb.dbo.rds_dms_tlog_list_current_lsn TO rds_user; GRANT EXEC ON msdb.dbo.rds_task_status TO rds_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 중에 AWS DMS는 변경 사항을 읽기 위해 SQL Server 트랜잭션 로그 백업을 조회해야 합니다. 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 복제를 구성하는 동안 배포자를 활성화했는지 확인하세요.

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

SQL Server를 AWS DMS의 소스로 사용할 경우 엔드포인트 설정

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

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가 필요한 경우 이 속성을 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에서 지속적인 복제를 위한 데이터 변경 사항 캡처 섹션을 참조하세요.

기본 값: 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 주소가 잘못된 상황을 위해 설계되었습니다. 이러한 상황에서는 AWS DMS는 가용성 그룹 리스너와 연결된 모든 IP 주소에 연결을 시도합니다.

ReadBackupOnly

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

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

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

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

SafeguardPolicy

성능을 최적화하기 위해 AWS DMS는 활성 트랜잭션 로그(TLOG)에서 읽지 않은 모든 변경 사항을 캡처하려고 시도합니다. 하지만 경우에 따라 잘라내기로 인해 활성 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을 활성화해야 하는 경우, 이 설정을 선택해야 합니다.

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

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

    • 이 설정을 사용하려면 데이터베이스에서 Log Reader Agent를 중지해야 합니다. 작업이 시작될 때 Log Reader Agent가 실행 중이면 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용 소스 데이터 형식

AWS DMS용 원본으로 SQL Server를 사용하는 데이터 마이그레이션은 대다수 SQL Server 데이터 형식을 지원합니다. 다음 표에는 AWS DMS를 사용하는 경우 지원되는 SQL Server 원본 데이터 형식과 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

AWS DMS에서 이 데이터 형식을 사용하려면, 특정 작업에서 CLOB 데이터 형식 사용을 활성화해야 합니다.

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

CDC 중에 AWS DMS는 프라이머리 키를 포함하는 테이블에서만 CLOB 데이터 형식을 지원합니다.

NCHAR

WSTRING

NVARCHAR(길이)

WSTRING

NVARCHAR(최대)

NCLOB

NTEXT

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

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

CDC 중에 AWS DMS는 프라이머리 키를 포함하는 테이블에서만 CLOB 데이터 형식을 지원합니다.

BINARY

BYTES

VARBINARY

BYTES

VARBINARY(최대)

BLOB

IMAGE

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

AWS DMS에서 이 데이터 형식을 사용하려면, 특정 작업에서 BLOB 데이터 형식 사용을 활성화해야 합니다.

AWS DMS는 프라이머리 키를 포함하는 테이블에서만 BLOB 데이터 형식을 지원합니다.

TIMESTAMP

BYTES

UNIQUEIDENTIFIER

STRING

HIERARCHYID

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

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

XML

NCLOB

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

AWS DMS에서 이 데이터 형식을 사용하려면, 특정 작업에서 NCLOB 데이터 형식 사용을 활성화해야 합니다.

CDC 중에 AWS DMS는 프라이머리 키를 포함하는 테이블에서만 NCLOB 데이터 형식을 지원합니다.

GEOMETRY

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

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

GEOGRAPHY

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

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

AWS DMS는 다음 데이터 형식의 필드가 포함된 테이블을 지원하지 않습니다.

  • CURSOR

  • SQL_VARIANT

  • TABLE

참고

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

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.