Database Migration Service는 표준 Cloud Storage 백업 및 복원 마이그레이션 흐름 외에도 SQL Server 분산 가용성 그룹 (DAG)을 사용하여 자체 관리형 SQL Server 데이터베이스를 SQL Server용 Cloud SQL로 마이그레이션하는 것을 지원합니다.
Database Migration Service는 백업 및 트랜잭션 로그 파일을 Cloud Storage 버킷으로 내보내고 업로드하는 대신 소스 가용성 그룹과 대상 SQL Server용 Cloud SQL 인스턴스의 관리형 보조 가용성 그룹 간에 분산 가용성 그룹을 구성합니다. 이 구성은 비공개 네트워크 연결을 통해 초기 전체 로드와 지속적인 데이터베이스 변경사항을 모두 직접 스트리밍합니다.
이 페이지에서는 다음 주제에 대해 설명합니다.
DAG 마이그레이션을 사용해야 하는 경우
다음 표에서는 표준 백업 및 복원 마이그레이션과 분산 가용성 그룹 (DAG) 마이그레이션을 비교하여 워크로드에 가장 적합한 접근 방식을 선택하는 데 도움을 줍니다.
| 기능 또는 요구사항 | 표준 백업 및 복원 이전 (표준 이전 가이드) | 분산 가용성 그룹 (DAG) 마이그레이션 (DAG 마이그레이션 가이드) |
|---|---|---|
| 지원되는 소스 | 자체 관리형 SQL Server, Amazon RDS, SQL Server용 Cloud SQL | Always On 가용성 그룹이 있는 자체 관리형 SQL Server (Enterprise 버전) |
| 데이터 이동 메커니즘 | Cloud Storage에 스테이징된 전체 백업 (.bak), 선택적 차등 백업 (.diff), 트랜잭션 로그 (.trn) 파일 |
SQL Server 데이터베이스 미러링 (DBM) 엔드포인트를 통한 직접 네트워크 스트리밍 (백업 파일 또는 Cloud Storage 버킷이 필요하지 않음) |
| 네트워크 연결 | 소스와 대상 간에 연결이 필요하지 않습니다. | SQL Server 데이터베이스 포트 (기본값 1433) 및 데이터베이스 미러링 포트 (기본값 5022)에 양방향 비공개 IP 연결이 필요합니다. |
| 마이그레이션 중 대상 데이터베이스 액세스 | 데이터베이스는 승격될 때까지 RESTORING 모드 (쿼리에 액세스할 수 없음)로 유지됩니다. |
연속 복제 (CDC) 단계에서 데이터베이스는 읽기 전용 모드로 액세스할 수 있습니다. |
| 승격 후 장애 복구 | 지원되지 않음 (단방향 승격) | 승격 후 SQL Server용 Cloud SQL에서 소스 SQL Server 인스턴스로 다시 기본 제공되는 역방향 복제 (FAILBACK 단계)로, 데이터 손실 없는 장애 복구 전환을 지원합니다. |
DAG 마이그레이션 작동 방식
DAG 마이그레이션 중에 Database Migration Service는 소스 가용성 그룹과 대상 SQL Server용 Cloud SQL 인스턴스의 관리형 보조 가용성 그룹 간에 데이터 복제를 조정합니다.
네트워크 통신 채널
Database Migration Service는 소스 SQL Server 인스턴스와 대상 SQL Server용 Cloud SQL 인스턴스 간에 두 개의 비공개 네트워크 통신 채널을 사용합니다.
- SQL Server 연결된 서버 (데이터베이스 포트, 기본값
1433): Database Migration Service는 대상 SQL Server용 Cloud SQL 인스턴스에 구성된 연결된 서버를 사용하여 소스 SQL Server 인스턴스에서 관리 및 조정 쿼리를 실행합니다. - 데이터베이스 미러링 (
DBM) 엔드포인트 (기본값5022): 소스 가용성 그룹과 대상 SQL Server용 Cloud SQL 가용성 그룹은DBM포트를 통해 직접 인증서 인증 초기 전체 로드 데이터와 지속적인 데이터베이스 변경사항을 교환합니다.
마이그레이션 수명 주기 단계
DAG 마이그레이션 작업은 4가지 수명 주기 단계를 거칩니다.
- 초기 전체 로드 (
FULL_DUMP): 마이그레이션 작업을 시작하면 Database Migration Service가 분산 가용성 그룹을 구성하여 소스 가용성 그룹에 있는 모든 데이터베이스의 초기 전체 복사본을 네트워크를 통해 대상 SQL Server용 Cloud SQL 인스턴스로 스트리밍합니다. - 지속적 복제 (
CDC): 각 데이터베이스가 초기 전체 로드를 완료하면CDC단계로 전환됩니다. 소스 데이터베이스에 대한 지속적인 변경사항은DBM엔드포인트를 통해 지속적으로 복제되며, 대상 SQL Server용 Cloud SQL 인스턴스에 연결하여 복제 데이터베이스에 대해 읽기 전용 확인 쿼리를 실행할 수 있습니다. - 승격 및 역방향 복제 (
FAILBACK): 마이그레이션 작업을 승격하면 (--failback플래그 없이promote) Database Migration Service가 두 가용성 그룹을 동기화하고 역할을 전환하여 대상 SQL Server용 Cloud SQL 인스턴스가 읽기/쓰기 기본이 되고 원래 소스 SQL Server 인스턴스가 보조가 되며 마이그레이션 작업 단계를FAILBACK(Google Cloud CLI 및 API 응답의PHASE_FAILBACK)로 전환합니다.FAILBACK단계에서 마이그레이션 작업은Running상태로 유지되고 SQL Server용 Cloud SQL의 새 쓰기를 소스 SQL Server 인스턴스에 다시 복제합니다. - 장애 복구 전환, 중지 또는 완료 (
Stop및Delete):FAILBACK단계 중에 컷오버를 되돌려야 하는 경우--failback플래그(API의failback = true)와 함께promote명령어를 실행하여 데이터 손실 없는 장애 복구 전환을 수행할 수 있습니다. 이 전환은 원래 소스 SQL Server 인스턴스를 기본으로 복원하고 SQL Server용 Cloud SQL을 보조로 강등하며 마이그레이션 작업을CDC단계로 되돌립니다.stop를 실행하여 정의된 짧은 기간 동안 데이터 복제를 중지할 수 있습니다(복제가 중지된 동안 트랜잭션 로그에 업데이트가 계속 누적됨).Stopped상태에서resume를 실행하여 데이터 복제를 재개하거나delete를 실행하여 이전을 완료하고 필요한 정리를 수행할 수 있습니다.- SQL Server용 Cloud SQL로의 컷오버가 영구적인지 확인한 후에는 마이그레이션 작업을 직접 또는
Stopped상태에서 삭제(delete)합니다. 마이그레이션 작업을 삭제하면 마이그레이션이 완료되고 두 인스턴스에서 분산 가용성 그룹과 인증서가 삭제되며 마이그레이션 중에 차단된 SQL Server용 Cloud SQL 기능(예: PITR(point-in-time recovery) 및 읽기 복제본)을 사용 설정할 수 있습니다.
지원되는 소스 및 대상 데이터베이스
DAG 마이그레이션은 다음 소스 및 대상 데이터베이스 버전과 버전을 지원합니다.
- 소스 데이터베이스: Always On 가용성 그룹 기능이 사용 설정된 자체 관리형 SQL Server Enterprise Edition(버전 2017, 2019, 2022, 2025)(Windows 또는 Linux)
- 대상 데이터베이스: SQL Server용 Cloud SQL Enterprise 버전(버전 2017, 2019, 2022, 2025)
DAG 마이그레이션의 알려진 제한사항
DAG 마이그레이션을 구성하기 전에 다음 제한사항을 고려하세요.
- DAG 연결 프로필 만들기 및 DAG 마이그레이션 작업 만들기, 확인, 시작, 승격, 삭제는 Google Cloud CLI 또는 Database Migration Service API를 통해서만 지원됩니다. Google Cloud 콘솔에서 DAG 마이그레이션 작업 진행 상황, 데이터베이스별 상태, 측정항목을 모니터링할 수 있습니다.
- 소스 SQL Server 인스턴스와 대상 SQL Server용 Cloud SQL 인스턴스 모두 Enterprise 버전을 실행해야 합니다. DAG 마이그레이션에는 Amazon RDS 및 SQL Server용 Cloud SQL 소스가 지원되지 않습니다.
- 각 DAG 마이그레이션 작업은 단일 소스 가용성 그룹에 포함된 모든 데이터베이스를 마이그레이션합니다 (분산 가용성 그룹당 최대 100개의 데이터베이스). 시스템 데이터베이스 (
master,model,msdb,tempdb) 및 Database Migration Service 도우미 데이터베이스 (gcp_dms_db)는 마이그레이션되지 않습니다. - 소스 가용성 그룹의 모든 데이터베이스는 데이터 파일(
.mdf및.ndf)을 기본 SQL Server 데이터 디렉터리에 저장해야 합니다. - 데이터베이스 소유권 요구사항:
- 소스 데이터베이스는
sa로그인으로 소유할 수 없습니다. 마이그레이션 작업을 시작하기 전에 데이터베이스 소유자를sa에서 다른 SQL 로그인 또는 Windows 사용자로 변경합니다. - 소스 데이터베이스가 Windows Active Directory 사용자의 소유인 경우 마이그레이션하기 전에 소스 데이터베이스 소유자를 SQL 로그인으로 변경하거나 대상 SQL Server용 Cloud SQL 인스턴스를 Active Directory와 통합하여 마이그레이션 작업이 시작될 때 Database Migration Service가 대상 인스턴스에 해당 Windows 로그인을 자동으로 만들 수 있도록 해야 합니다.
- SQL 인증 데이터베이스 소유자의 경우 Database Migration Service는 마이그레이션된 데이터베이스를 소유하기 위해
gcp_dms_, 6자 식별자, 소스 소유자 이름 (예:gcp_dms_a1b2c3_myowner)이 프리픽스로 추가된 SQL Server용 대상 Cloud SQL 인스턴스에 해당하는 로그인을 자동으로 만듭니다.
- 소스 데이터베이스는
- 공개 IP 연결은 지원되지 않습니다. 비공개 서비스 액세스 또는 Private Service Connect를 사용하여 소스 SQL Server 인스턴스와 대상 SQL Server용 Cloud SQL 인스턴스 간에 비공개 IP 연결을 구성해야 합니다.
- DAG 마이그레이션 작업이 있는 동안 SQL Server용 대상 Cloud SQL 제한사항: DAG 마이그레이션 작업을 시작하는 순간부터 마이그레이션 작업을 삭제할 때까지 (작업이 승격 후
FAILBACK단계에 있는 동안 포함):- 대상 SQL Server용 Cloud SQL 인스턴스에서 PITR (point-in-time recovery)을 사용 중지해야 합니다.
- 대상 SQL Server용 Cloud SQL 인스턴스에서는 읽기 복제본과 읽기 풀이 지원되지 않습니다.
- 대상 SQL Server용 Cloud SQL 인스턴스에서는 다운타임이 거의 없는 계획된 유지보수가 지원되지 않습니다.
- 대상 SQL Server용 Cloud SQL 인스턴스에서
cloud sql enable dag support데이터베이스 플래그를 수동으로 수정하지 마세요. Database Migration Service는 마이그레이션 작업이 시작될 때 이 플래그를 자동으로 사용 설정하며 마이그레이션 작업을 삭제한 후 삭제할 수 있습니다.
- 마이그레이션 중에 데이터베이스 추가 또는 삭제:
- 마이그레이션 작업이
CDC단계에 있는 동안 소스 가용성 그룹에서 데이터베이스를 동적으로 추가하거나 삭제할 수 있습니다. Database Migration Service는 새로 추가된 데이터베이스를 자동으로 감지하고 검증하며 SQL Server용 대상 Cloud SQL 인스턴스에 초기 전체 로드를 수행합니다. - 소스 가용성 그룹에서 데이터베이스를 삭제하면 해당 데이터베이스의 복제가 중지되고 마이그레이션 작업의 추적된 객체에서 삭제되며 대상 SQL Server용 Cloud SQL 인스턴스에서 데이터베이스가
RESTORING상태로 유지됩니다 (작업이 승격될 때 복구되지 않음). - 승격 후
FAILBACK단계에서 대상 SQL Server용 Cloud SQL 인스턴스에 직접 새 데이터베이스를 추가하는 것은 지원되지 않습니다 (대상 가용성 그룹은 Cloud SQL에서 생성된 새 데이터베이스로 업데이트되지 않음).
- 마이그레이션 작업이
- DAG 마이그레이션 작업 중지, 재개, 다시 시작 시 주의사항:
- DAG 마이그레이션 작업을 중지 (
stop)하면 데이터 복제가 중지되어 복제가 중지된 동안 트랜잭션 로그에 업데이트가 누적됩니다. 트랜잭션 로그 디스크가 가득 차지 않도록 정의된 짧은 기간 동안만 DAG 마이그레이션 작업을 중지합니다.Stopped상태에서resume를 실행하여 데이터 복제를 재개하거나delete를 실행하여 마이그레이션을 완료하고 필요한 삭제를 수행할 수 있습니다. - 실패하거나 중지된 DAG 마이그레이션 작업을 다시 시작 (
restart)하면 대상 SQL Server용 Cloud SQL 인스턴스에서 마이그레이션된 데이터베이스가 삭제되고 네트워크를 통해 초기 전체 로드 (FULL_DUMP)가 다시 실행됩니다.
- DAG 마이그레이션 작업을 중지 (