이 페이지에서는 Database Migration Service를 사용하여 SQL Server 데이터베이스를 SQL Server용 Cloud SQL 인스턴스로 마이그레이션하는 방법을 설명합니다.
마이그레이션 프로세스에는 다음 작업이 포함됩니다.
소스 SQL Server 인스턴스에서 전체 데이터베이스 백업 및 트랜잭션 로그 파일을 내보냅니다.
마이그레이션 프로세스에서 선택적 차등 데이터베이스 백업을 사용할 수도 있습니다.
백업 파일을 Cloud Storage 버킷에 업로드합니다.
대상 SQL Server용 Cloud SQL 인스턴스를 만듭니다.
Database Migration Service에서 마이그레이션 작업을 만들고 실행합니다.d
Database Migration Service 관찰 가능성 기능으로 마이그레이션 작업 진행률 모니터링
데이터가 완전히 마이그레이션된 후에 마이그레이션 작업을 승격합니다.
비용
Cloud SQL로의 동종 마이그레이션의 경우 Database Migration Service가 추가 비용 없이 제공됩니다. 하지만 Cloud SQL 및 Cloud Storage 가격은 네트워크 요금뿐만 아니라 마이그레이션 목적으로 생성된 Cloud SQL 및 Cloud Storage 항목에도 적용됩니다.
이 문서에서는 비용이 청구될 수 있는 다음과 같은Google Cloud구성요소를 사용합니다.
- Cloud Storage
- Cloud SQL
프로젝트 사용량을 기준으로 예상 비용을 산출하려면 가격 계산기를 사용하세요.
시작하기 전에
- 이 이전 경로가 시나리오를 완전히 지원할 수 있는지 확인합니다. SQL Server 알려진 제한사항을 참고하세요.
- 대상 데이터베이스를 만들 리전을 고려합니다. Database Migration Service는 완전히 지역화된 제품이므로 마이그레이션과 관련된 모든 항목 (소스 및 대상 연결 프로필, 마이그레이션 작업, 대상 데이터베이스, 스토리지 버킷)을 단일 리전에 저장해야 합니다.
- Google Cloud 콘솔의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 만들거나 선택합니다.
- Database Migration Service, Compute Engine, Cloud Storage, Cloud SQL Admin API를 사용 설정합니다.
필요한 역할
Database Migration Service로 동질적인 SQL Server 이전을 실행하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에서 다음 이전 프로세스에 참여하는 계정에 필요한 IAM 역할을 부여해 달라고 요청하세요.
- 이전을 실행하는 사용자 계정:
-
데이터베이스 마이그레이션 관리자 (
roles/datamigration.admin
) -
스토리지 관리자 (
roles/storage.admin
) -
Cloud SQL 편집기 (
roles/cloudsql.editor
)
-
데이터베이스 마이그레이션 관리자 (
- Database Migration Service 서비스 계정:
-
데이터베이스 마이그레이션 관리자 (
roles/datamigration.admin
) -
스토리지 관리자 (
roles/storage.admin
) -
Cloud SQL 편집기 (
roles/cloudsql.editor
) -
Cloud SQL 스튜디오 사용자 (
roles/cloudsql.studioUser
)
-
데이터베이스 마이그레이션 관리자 (
역할 부여에 대한 자세한 내용은 액세스 관리를 참고하세요.
이러한 사전 정의된 역할에는 Database Migration Service로 동질적인 SQL Server 이전을 실행하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 확장하세요.
필수 권한
Database Migration Service로 동종 SQL Server 마이그레이션을 실행하려면 다음 권한이 필요합니다.
- 이전을 실행하는 사용자 계정:
datamigration.*
resourcemanager.projects.get
resourcemanager.projects.list
cloudsql.operations.get
cloudsql.instances.create
cloudsql.instances.get
cloudsql.instances.list
cloudsql.instances.import
cloudsql.databases.get
cloudsql.databases.list
cloudsql.databases.delete
compute.machineTypes.list
compute.machineTypes.get
compute.projects.get
storage.buckets.create
storage.buckets.list
- Database Migration Service 서비스 계정:
datamigration.*
resourcemanager.projects.get
resourcemanager.projects.list
cloudsql.instances.create
cloudsql.instances.get
cloudsql.instances.list
cloudsql.instances.executeSql
storage.objects.create
storage.objects.list
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
데이터 소스 준비
마이그레이션을 위해 소스 데이터를 준비하려면 다음 단계를 따르세요.
마이그레이션 프로세스에 대한 백업 전략을 고려하세요. Database Migration Service는 전체 백업을 수행한 후 데이터베이스에 표시되는 데이터를 마이그레이션하기 위해 차등 백업 및 트랜잭션 로그 파일을 사용하는 것을 지원합니다.
소스 SQL Server 데이터베이스의 전체 백업을 실행합니다. 올바른 이름 지정 패턴을 사용해야 합니다.
Cloud Storage 버킷을 준비하고 백업 파일을 버킷에 업로드합니다. 사용하려는 각 백업 파일 유형에 필요한 디렉터리 구조를 설정해야 합니다.
Cloud Storage 버킷의 소스 연결 프로필을 만듭니다.
SQL Server용 Cloud SQL 대상 인스턴스 준비
대상 Cloud SQL 인스턴스를 구성하려면 다음 단계를 따르세요.
SQL Server용 Cloud SQL 대상 인스턴스를 만들고 구성합니다. 이전 요구사항을 충족하기에 충분한 컴퓨팅 및 메모리 리소스를 사용하고 인스턴스의 서비스 계정에 스토리지 관리자 (
roles/storage.admin
) 역할을 할당합니다.Cloud SQL 인스턴스의 대상 연결 프로필을 만듭니다.
마이그레이션 작업 만들기 및 실행
이전을 구성하고 실행하려면 다음 단계를 따르세요.
-
마이그레이션 작업을 시작하면 대상 SQL Server용 Cloud SQL 데이터베이스가 복구 모드로 전환되며 이 모드에서는 Database Migration Service에서 완전히 관리합니다. 데이터가 완전히 마이그레이션되면 대상 인스턴스를 승격할 수 있습니다. 대상 인스턴스가 승격되면 해당 인스턴스의 모든 데이터베이스가 완전히 작동하게 됩니다. 또한 이러한 데이터베이스에 대한 전체 쓰기 액세스 권한도 얻게 됩니다.
Database Migration Service 관찰 가능성 기능을 사용하여 이전 진행 상황과 대상 인스턴스 상태를 모니터링할 수 있습니다. 이전 작업 측정항목을 참고하세요.
Cloud Storage 버킷에 새 트랜잭션 로그 백업 파일을 계속 업로드합니다.
전체 백업 내보내기를 실행한 후 소스 데이터베이스에 표시되는 데이터를 처리하려면 거래 로그 백업 파일을 내보내고 저장소 버킷에 업로드합니다. Database Migration Service는 새 파일을 자동으로 감지하고 콘텐츠를 읽은 후 데이터를 대상 인스턴스로 푸시합니다. 거래 로그 내보내기 자동화를 참고하세요.
이전 완료
애플리케이션을 새 SQL Server용 Cloud SQL 인스턴스로 전환하기로 결정한 경우 다음 단계에 따라 마이그레이션을 완료하세요.
- 소스 데이터베이스의 모든 쓰기 작업을 중지합니다. 읽기 전용 모드로 전환하여 운영 기능을 유지할 수 있습니다.
- 마지막 트랜잭션 로그 백업을 수행하고 파일을 스토리지 버킷에 업로드한 후 Database Migration Service에서 점진적 로드 단계를 중지합니다.
다음 작업 중 하나를 실행하여 이 결과를 얻을 수 있습니다.
- 자동 백업 파일 업로드를 중지하거나 마지막 트랜잭션 로그 파일을 업로드합니다. 처리되지 않은 트랜잭션 로그 백업 크기를 모니터링하여 Database Migration Service가 파일 처리를 완료한 시점을 확인합니다.
- 원하는 경우 이름이
.trn.final
접미사로 끝나는 트랜잭션 로그 파일을 업로드할 수 있습니다. 데이터베이스 이전 서비스는 이름이.trn.final
접미사 규칙과 일치하는 백업 파일을 감지하면 연속 로드를 중지합니다.Database Migration Service에서 파일 처리를 완료하면 마이그레이션 작업 상태가 승격 준비 완료로 변경됩니다.
- 마이그레이션 작업을 승격합니다.
- (선택사항) 마이그레이션 데이터의 완전성을 확인합니다.