Halaman ini menjelaskan cara membuat tugas migrasi untuk sumber Cloud SQL for SQL Server dengan Google Cloud CLI. Untuk mengetahui informasi selengkapnya tentang cara melakukan migrasi antar-instance Cloud SQL untuk SQL Server dengan Database Migration Service, lihat Panduan migrasi untuk sumber Cloud SQL untuk SQL Server.
Sebelum memulai
- Pastikan Anda memenuhi persyaratan berikut:
- Anda memiliki bucket Cloud Storage untuk file cadangan SQL Server.
- Anda memiliki profil koneksi sumber untuk instance sumber.
- Anda telah membuat dan mengonfigurasi instance Cloud SQL for SQL Server tujuan, dan Anda memiliki profil koneksi tujuan untuk instance tersebut.
- Di konsol Google Cloud , pada halaman pemilih project, pilih atau buat Google Cloud project.
- Aktifkan Database Migration Service, Compute Engine, Cloud Storage, dan Cloud SQL Admin API.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk membuat tugas migrasi di Database Migration Service, minta administrator Anda untuk memberi Anda peran IAM berikut di project Anda:
-
Database Migration Admin (
roles/datamigration.admin) -
Storage Admin (
roles/storage.admin) -
Cloud SQL Editor (
roles/cloudsql.editor)
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.
Peran bawaan ini berisi izin yang diperlukan untuk melakukan migrasi SQL Server homogen dengan Database Migration Service. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk melakukan migrasi SQL Server homogen dengan Database Migration Service:
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
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Menentukan setelan dan membuat tugas migrasi
gcloud
Contoh ini menggunakan tanda --no-async opsional sehingga semua operasi
dilakukan secara sinkron. Artinya, beberapa perintah mungkin memerlukan waktu beberapa saat untuk diselesaikan. Anda dapat melewati tanda --no-async untuk menjalankan perintah secara asinkron.
Jika ya, Anda harus menggunakan perintah
gcloud database-migration operations describe
untuk memverifikasi apakah operasi Anda berhasil.
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- MIGRATION_JOB_ID dengan ID yang dapat dibaca mesin untuk tugas migrasi Anda. Anda menggunakan nilai ini untuk bekerja dengan tugas migrasi menggunakan perintah atau API Google Cloud CLI Database Migration Service.
- REGION dengan ID region tempat Anda ingin menyimpan tugas migrasi.
- MIGRATION_JOB_NAME dengan nama yang mudah dibaca manusia untuk tugas migrasi Anda. Nilai ini ditampilkan di Database Migration Service di konsol Google Cloud .
- SOURCE_CONNECTION_PROFILE_ID dengan ID profil koneksi sumber yang dapat dibaca mesin.
- DESTINATION_CONNECTION_PROFILE_ID dengan ID profil koneksi tujuan yang dapat dibaca mesin.
- DESTINATION_PROJECT_ID dengan ID Google Cloud project tempat Anda memiliki instance Cloud SQL untuk SQL Server tujuan. Project ini harus sama dengan project tempat Anda mengaktifkan Database Migration Service API dan tempat Anda membuat tugas migrasi.
- COMMA_SEPARATED_DATABASE_ID_LIST dengan daftar ID database yang dipisahkan koma dari SQL Server yang ingin Anda migrasikan dari file cadangan Anda.
Jalankan perintah berikut:
Linux, macOS, atau 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
Anda akan melihat respons seperti berikut:
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]
Tugas migrasi kini telah dibuat. Anda dapat melanjutkan proses migrasi:
- (Opsional) Lakukan pengujian tugas migrasi untuk memeriksa apakah Database Migration Service dapat menjangkau semua entitas sumber dan tujuan yang diperlukan.
- Mulai tugas migrasi untuk mulai memindahkan data Anda ke instance tujuan.