Mendiagnosis masalah untuk SQL Server

Memecahkan masalah error

Proses tugas migrasi dapat menimbulkan error selama runtime.

  • Untuk beberapa error, Database Migration Service secara otomatis mencoba ulang operasi yang salah untuk melanjutkan proses migrasi dan menghindari gangguan. Status tugas migrasi akan berubah menjadi Running with errors. Status ini menunjukkan 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 seperti itu, tugas migrasi harus 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 yang 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 rendah ke versi yang lebih baru jika Anda memenuhi pedoman 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 terkait urutan update yang ada di dalamnya. Database Migration Service menggunakan nomor urut log dan stempel waktu epoch untuk mengontrol urutan file log transaksi 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 salah.
Jika Anda memigrasikan database yang dipilih dan tugas migrasi tidak dapat mereplikasi data ke satu atau beberapa database, status Gagal akan ditampilkan dalam daftar database. Berbagai error tugas migrasi.

Di kolom Error, klik Lihat error dan perbaiki. Setelah memperbaiki error, klik Mulai Ulang.

Error: database sudah ada di tujuan

Anda akan melihat 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 berasal dari nama folder di Cloud Storage tempat Anda menyimpan file cadangan. Jika Anda memiliki dua database berbeda yang memiliki nama yang sama dan Anda memerlukan keduanya di tujuan Cloud SQL, Anda dapat mengganti nama folder dan membuat ulang tugas migrasi untuk menghindari konflik penamaan.

Lakukan langkah-langkah berikut:

  1. Buat folder baru untuk database sumber yang terpengaruh oleh konflik penamaan. Lihat Menyimpan file cadangan di bucket Cloud Storage .
  2. Buat ulang tugas migrasi Anda. Lihat Membuat tugas migrasi.

    Anda dapat menambahkan database baru ke tugas migrasi yang ada, tetapi Anda 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 Anda.

Jika database di instance tujuan Cloud SQL Anda adalah duplikat, Anda dapat menghapusnya dari instance dan melanjutkan tugas migrasi. Lihat Menghapus database di dokumentasi Cloud SQL untuk SQL Server.


Menyesuaikan nama file log transaksi untuk file WAL yang tidak berurutan

Masalahnya mungkin adalah

File log transaksi Anda mungkin menggunakan stempel waktu epoch yang salah terkait urutan update yang ada di dalamnya. Database Migration Service menggunakan nomor urut log dan stempel waktu epoch untuk mengontrol urutan file log transaksi direplikasi ke instance tujuan Cloud SQL.

Hal-hal yang sebaiknya dicoba

Upload file Anda mungkin tertunda atau tidak berurutan. Tunggu beberapa menit agar masalah dapat diselesaikan 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:

  1. Periksa daftar operasi impor log transaksi Anda di instance Cloud SQL for SQL Server tujuan. Di konsol Google Cloud , buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Klik Lihat semua operasi > Lihat log error SQL Server.
  3. Lihat semua operasi impor untuk file log transaksi dan verifikasi apakah nama filenya berisi stempel waktu epoch yang benar.
  4. Jika Anda melihat bahwa file log transaksi terbaru menggunakan nama dengan stempel waktu epoch yang tidak berurutan, buka bucket Cloud Storage Anda dan ganti nama file. Database Migration Service otomatis mendeteksi perubahan dan mencoba mengimpor file log transaksi yang relevan.
  5. Khusus Amazon RDS: Kemungkinan beberapa file log transaksi terlewat selama proses ekspor ke S3. Coba jalankan kembali fungsi ekspor log transaksi untuk periode di sekitar file WAL yang hilang.