Memecahkan masalah error
Proses tugas migrasi mungkin mengalami error selama runtime.
- Untuk beberapa error, Database Migration Service akan otomatis mencoba kembali operasi yang salah untuk melanjutkan proses migrasi dan menghindari gangguan. Status tugas migrasi berubah menjadi Berjalan dengan error. Status ini menunjukkan fakta bahwa Database Migration Service terus memigrasikan data yang tidak terpengaruh oleh error.
- Beberapa error tidak dapat dipulihkan. Jika Database Migration Service mengalami error yang tidak dapat dipulihkan, status tugas migrasi akan berubah menjadi Gagal. Dalam skenario tersebut, tugas migrasi perlu dimulai ulang setelah masalah diperbaiki.
Untuk memecahkan masalah error, buka tugas migrasi yang terpengaruh, lihat error, dan ikuti langkah-langkah yang diuraikan dalam pesan error. Anda juga bisa mendapatkan detail selengkapnya dengan melihat log Cloud Monitoring untuk instance tujuan Cloud SQL Anda. Gunakan link Cloud Monitoring di halaman detail tugas migrasi.
Dalam tabel berikut, Anda dapat menemukan beberapa contoh masalah dan cara mengatasinya:
Untuk masalah ini... | Kemungkinan masalah... | Coba langkah ini... |
---|---|---|
Pesan error: The BAK file's database major version number
{backup_version_num} must not be higher than the current database
major version number {your Cloud SQL for SQL Server version number} . |
Anda mencoba mengimpor file cadangan dari versi SQL Server yang lebih baru daripada versi yang Anda gunakan di instance tujuan Cloud SQL untuk SQL Server.
Database Migration Service hanya mendukung migrasi lintas versi dari versi yang lebih lama ke versi yang lebih baru jika Anda memenuhi panduan kompatibilitas lintas versi. Lihat Database sumber dan tujuan yang didukung. |
Buat ulang instance tujuan Cloud SQL untuk SQL Server dengan menggunakan versi SQL Server yang lebih baru dan coba lagi proses migrasi dengan instance baru Anda. |
Pesan error:
The following database already exists in destination: {database_name} .
|
Instance tujuan Cloud SQL Anda sudah berisi database yang menggunakan nama yang sama dengan salah satu database yang disertakan dalam tugas migrasi Anda. | Hapus konflik penamaan. Lihat Error: database already exists in destination |
Pesan error:
Permission denied for {cloudsql.databases.get} on the Database Migration Service service account. |
Akun layanan Database Migration Service tidak memiliki izin. | Tambahkan izin yang tidak ada ke akun layanan Database Migration Service. Lihat Kontrol akses dengan IAM. |
Pesan error:
Missing WAL file at Log Sequence Number (LSN) {log_number_here} |
File log transaksi Anda mungkin menggunakan stempel waktu epoch yang salah sehubungan dengan urutan update yang dikandungnya. Database Migration Service menggunakan nomor urutan log dan stempel waktu epoch untuk mengontrol urutan file log transaksi yang direplikasi ke instance tujuan Cloud SQL. | Periksa dan sesuaikan stempel waktu epoch yang digunakan dalam nama file log transaksi terbaru Anda. Lihat Menyesuaikan nama log transaksi yang rusak. |
Error: database already exists in destination
Anda mendapatkan pesan error berikut:
The following database already exists in destination: {database_name}
.
Masalahnya mungkin adalah
Instance tujuan Cloud SQL Anda sudah berisi database yang menggunakan nama yang sama dengan salah satu database yang disertakan dalam tugas migrasi Anda.
Hal-hal yang sebaiknya dicoba
Bergantung pada skenario migrasi Anda, ada berbagai cara untuk menyelesaikan masalah database duplikat. Coba salah satu tindakan berikut:
Ganti nama bucket Cloud Storage sumber untuk memigrasikan database Anda dengan nama yang berbeda.
Nama database yang dibuat Database Migration Service di instance Cloud SQL tujuan Anda berasal dari nama folder di Cloud Storage tempat Anda menyimpan file cadangan. Jika memiliki dua database berbeda yang memiliki nama yang sama dan memerlukan keduanya di tujuan Cloud SQL, Anda dapat mengganti nama folder dan membuat ulang tugas migrasi untuk menghindari konflik penamaan.
Lakukan langkah-langkah berikut:
- Buat folder baru untuk database sumber yang terpengaruh oleh konflik penamaan. Lihat Menyimpan file cadangan di bucket Cloud Storage .
- Buat ulang tugas migrasi Anda. Lihat
Membuat tugas migrasi.
Anda dapat menambahkan database baru ke tugas migrasi yang ada, tetapi tidak dapat menghapus database dari tugas migrasi. Itulah sebabnya Anda perlu membuat ulang seluruh tugas migrasi.
Hapus database duplikat dari instance Cloud SQL untuk SQL Server.
Jika database di instance tujuan Cloud SQL Anda merupakan duplikat, Anda dapat menghapusnya dari instance dan melanjutkan tugas migrasi. Lihat Menghapus database dalam dokumentasi Cloud SQL untuk SQL Server.
Menyesuaikan nama file log transaksi untuk file WAL yang tidak beraturan
Masalahnya mungkin adalah
File log transaksi Anda mungkin menggunakan stempel waktu epoch yang salah sehubungan dengan urutan update yang dikandungnya. Database Migration Service menggunakan nomor urutan log dan stempel waktu epoch untuk mengontrol urutan file log transaksi yang direplikasi ke instance tujuan Cloud SQL.
Hal-hal yang sebaiknya dicoba
Upload file Anda dapat tertunda atau tidak berurutan. Tunggu beberapa menit agar masalah teratasi atau periksa apakah ada file yang hilang di bucket Cloud Storage Anda.
Jika masalah tidak teratasi, verifikasi dan sesuaikan stempel waktu epoch dalam nama file log transaksi Anda.
Lakukan langkah-langkah berikut:
- Periksa daftar operasi impor log transaksi Anda di instance Cloud SQL untuk SQL Server tujuan. Di konsol Google Cloud , buka halaman Instance Cloud SQL.
- Klik Lihat semua operasi > Lihat log error SQL Server.
- Lihat semua operasi impor untuk file log transaksi dan verifikasi apakah nama filenya berisi stempel waktu epoch yang benar.
- Jika Anda melihat bahwa file log transaksi terbaru menggunakan nama dengan stempel waktu epoch yang tidak berurutan, buka bucket Cloud Storage dan ganti nama file. Database Migration Service otomatis mendeteksi perubahan dan mencoba mengimpor file log transaksi yang relevan.
- Khusus Amazon RDS: Mungkin beberapa file log transaksi terlewat selama proses ekspor ke S3. Coba jalankan ulang fungsi ekspor log transaksi untuk periode sekitar file WAL yang hilang.