이 페이지에서는 Google Cloud CLI를 사용하여 SQL Server용 Cloud SQL 소스의 마이그레이션 작업을 만드는 방법을 설명합니다. Database Migration Service를 사용하여 SQL Server용 Cloud SQL 인스턴스 간에 이전하는 방법에 대한 자세한 내용은 SQL Server용 Cloud SQL 소스 이전 가이드를 참조하세요.
시작하기 전에
- 다음 요구사항을 충족해야 합니다.
- SQL Server 백업 파일용 Cloud Storage 버킷이 있습니다.
- 소스 인스턴스의 소스 연결 프로필이 있습니다.
- 대상 SQL Server용 Cloud SQL 인스턴스를 만들고 구성했으며 인스턴스의 대상 연결 프로필이 있습니다.
- Google Cloud 콘솔의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.
- Database Migration Service, Compute Engine, Cloud Storage, Cloud SQL Admin API를 사용 설정합니다.
필요한 역할
Database Migration Service에서 마이그레이션 작업을 만드는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.
-
데이터베이스 마이그레이션 관리자 (
roles/datamigration.admin) -
스토리지 관리자 (
roles/storage.admin) -
Cloud SQL 편집자 (
roles/cloudsql.editor)
역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.
이러한 사전 정의된 역할에는 Database Migration Service를 사용하여 동종 SQL Server 마이그레이션을 수행하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
Database Migration Service로 동종 SQL Server 마이그레이션을 수행하려면 다음 권한이 필요합니다.
datamigration.*resourcemanager.projects.getresourcemanager.projects.listcloudsql.instances.createcloudsql.instances.getcloudsql.instances.listcloudsql.databases.getcloudsql.databases.deletecloudsql.operations.getcompute.machineTypes.listcompute.machineTypes.getcompute.projects.getstorage.buckets.createstorage.buckets.liststorage.objects.list
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
설정 정의 및 마이그레이션 작업 만들기
gcloud
이 샘플에서는 선택적 --no-async 플래그를 사용하므로 모든 작업이 동기식으로 수행됩니다. 즉, 일부 명령어는 완료하는 데 시간이 걸릴 수 있습니다. --no-async 플래그를 건너뛰어 명령어를 비동기식으로 실행할 수 있습니다.
이 경우
gcloud database-migration operations describe 명령어를 사용하여 작업이 성공했는지 확인해야 합니다.
아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.
- MIGRATION_JOB_ID을 마이그레이션 작업의 기계 가독형 식별자로 바꿉니다. 이 값은 Database Migration Service Google Cloud CLI 명령어 또는 API를 사용하여 마이그레이션 작업을 수행하는 데 사용됩니다.
- REGION을 마이그레이션 작업을 저장할 리전 식별자로 바꿉니다.
- MIGRATION_JOB_NAME을 인간이 읽을 수 있는 마이그레이션 작업 이름으로 바꿉니다. 이 값은 Google Cloud 콘솔의 Database Migration Service에 표시됩니다.
- SOURCE_CONNECTION_PROFILE_ID를 소스 연결 프로필의 기계 가독형 식별자로 바꿉니다.
- DESTINATION_CONNECTION_PROFILE_ID: 대상 연결 프로필의 기계 가독형 식별자
- DESTINATION_PROJECT_ID를 대상 SQL Server용 Cloud SQL 인스턴스가 있는 Google Cloud 프로젝트 식별자로 바꿉니다. Database Migration Service API가 사용 설정되어 있고 마이그레이션 작업을 만드는 프로젝트와 동일한 프로젝트여야 합니다.
- COMMA_SEPARATED_DATABASE_ID_LIST를 백업 파일에서 마이그레이션하려는 SQL Server의 데이터베이스 식별자의 쉼표로 구분된 목록으로 바꿉니다.
다음 명령어를 실행합니다.
Linux, macOS 또는 Cloud Shell
gcloud database-migration migration-jobs \ create MIGRATION_JOB_ID \ --no-async \ --region=REGION \ --display-name=MIGRATION_JOB_NAME \ --source=SOURCE_CONNECTION_PROFILE_ID \ --destination=DESTINATION_CONNECTION_PROFILE_ID \ --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST \ --project=DESTINATION_PROJECT_ID \ --type=CONTINUOUS
Windows(PowerShell)
gcloud database-migration migration-jobs ` create MIGRATION_JOB_ID ` --no-async ` --region=REGION ` --display-name=MIGRATION_JOB_NAME ` --source=SOURCE_CONNECTION_PROFILE_ID ` --destination=DESTINATION_CONNECTION_PROFILE_ID ` --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST ` --project=DESTINATION_PROJECT_ID ` --type=CONTINUOUS
Windows(cmd.exe)
gcloud database-migration migration-jobs ^ create MIGRATION_JOB_ID ^ --no-async ^ --region=REGION ^ --display-name=MIGRATION_JOB_NAME ^ --source=SOURCE_CONNECTION_PROFILE_ID ^ --destination=DESTINATION_CONNECTION_PROFILE_ID ^ --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST ^ --project=DESTINATION_PROJECT_ID ^ --type=CONTINUOUS
다음과 비슷한 응답이 표시됩니다.
Waiting for migration job [MIGRATION_JOB_ID] to be created with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Created migration job MIGRATION_JOB_ID [OPERATION_ID]
이제 마이그레이션 작업이 생성되었습니다. 이전 프로세스를 진행할 수 있습니다.
- (선택사항) 마이그레이션 작업 테스트를 수행하여 Database Migration Service가 필요한 모든 소스 및 대상 항목에 도달할 수 있는지 확인합니다.
- 마이그레이션 작업을 시작하여 데이터를 대상 인스턴스로 이동합니다.