이 페이지에서는 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을 마이그레이션 작업의 사람이 읽을 수 있는 이름으로 바꿉니다. 이 값은 콘솔의 Database Migration Service에 표시됩니다. Google Cloud
- 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가 필요한 모든 소스 및 대상 항목에 도달할 수 있는지 확인하기 위해 마이그레이션 작업 테스트를 수행합니다.
- 마이그레이션 작업을 시작하여 데이터를 대상 인스턴스로 이동하기 시작합니다.