Jika Anda menentukan seluruh database sebagai objek yang akan disinkronkan dan database tersebut berisi pemicu yang memperbarui tabel, inkonsistensi data mungkin terjadi antara database sumber dan tujuan. Topik ini menjelaskan cara mengonfigurasi tugas sinkronisasi data untuk database sumber yang berisi pemicu guna mempertahankan konsistensi dan integritas data.
Informasi latar belakang
Jika database sumber dari tugas sinkronisasi atau migrasi berisi pemicu dan memenuhi kondisi tertentu, sinkronkan atau migrasikan pemicu sesuai referensi untuk memastikan konsistensi data antara database sumber dan tujuan. Topik ini menjelaskan cara mengonfigurasi tugas sinkronisasi atau migrasi data untuk database lain yang berisi pemicu.
Database sumber | Database tujuan | Deskripsi | Referensi |
Tanpa Batas | PostgreSQL, PolarDB for PostgreSQL atau PolarDB for PostgreSQL (Kompatibel dengan Oracle) |
| |
MySQL, PolarDB for MySQL, atau ApsaraDB RDS for MariaDB | MySQL, PolarDB for MySQL, atau ApsaraDB RDS for MariaDB | Anda dapat mengonfigurasi tugas sinkronisasi atau migrasi pemicu secara manual. | |
SQL Server | SQL Server |
Proses sinkronisasi atau migrasi
Buat tugas migrasi untuk memigrasikan data dari database sumber ke database tujuan.
Untuk informasi lebih lanjut, lihat Ikhtisar skenario migrasi data.
PentingPilih hanya Schema Migration untuk parameter Migration Types.
Atur parameter Source Objects ke database atau skema.
Masuk ke database tujuan dan hapus pemicu yang dimigrasikan dari database sumber.
Buat tugas sinkronisasi atau migrasi untuk menyinkronkan atau memigrasikan data dari database sumber ke database tujuan.
Untuk informasi lebih lanjut, lihat Ikhtisar skenario sinkronisasi data dan Ikhtisar skenario migrasi data.
PentingSinkronisasi data: Secara default, Incremental Data Synchronization dipilih untuk parameter Synchronization Types. Anda juga perlu memilih Full Data Synchronization. Jangan pilih Schema Synchronization.
Migrasi data: Pilih Full Data Migration dan Incremental Data Migration untuk parameter Migration Types. Jangan pilih Schema Migration.
Opsional. Hentikan atau lepaskan tugas setelah sinkronisasi atau migrasi data selesai.
Untuk informasi lebih lanjut, lihat Hentikan instance DTS dan Lepas instance DTS.
CatatanSetelah tugas dihentikan atau dilepaskan, Anda dapat menambahkan pemicu ke database tujuan secara manual sesuai kebutuhan bisnis Anda.
Contoh
Contoh berikut menunjukkan cara memigrasikan data dari database MySQL yang dikelola sendiri ke instance ApsaraDB RDS for MySQL.
Persiapan data
Dua tabel (induk dan anak) dibuat dalam database MySQL bernama triggertestdata. Tabel induk berisi pemicu. Jika entri data dimasukkan ke tabel induk, pemicu memasukkan entri data ke tabel anak.
Tabel berikut menjelaskan pernyataan tabel dan pemicu.
Jenis objek | Nama | Pernyataan |
Tabel | induk | |
Tabel | anak | |
Pemicu | data_check | |
Dalam hal ini, jika operasi INSERT dilakukan pada tabel induk selama sinkronisasi data, data di tabel anak sumber tidak konsisten dengan data di tabel anak tujuan. Untuk menyelesaikan masalah ini, Anda harus menghapus pemicu di database tujuan.
Prosedur
Buat tugas migrasi data untuk memigrasikan skema database sumber ke database tujuan.
Klik Create Task untuk pergi ke halaman konfigurasi tugas.
Konfigurasikan parameter di bagian Source Database dan Destination Database, lalu klik Test Connectivity and Proceed.
Untuk informasi lebih lanjut, lihat Migrasikan data dari database MySQL yang dikelola sendiri ke instance ApsaraDB RDS for MySQL.
Atur parameter Migration Types ke Schema Migration, dan pilih database atau skema.

Konfigurasikan parameter lainnya sesuai kebutuhan bisnis Anda.
Selama migrasi skema, DTS juga memigrasikan pemicu ke database tujuan. Setelah tugas migrasi selesai, masuk ke database tujuan dan jalankan perintah berikut untuk menghapus pemicu yang dimigrasikan:
drop trigger <Nama Pemicu>;Perintah contoh:
drop trigger data_check;Buat tugas sinkronisasi data untuk menyinkronkan data dari database sumber ke database tujuan.
Di panel navigasi di sebelah kiri, klik Data Synchronization.
Konfigurasikan parameter di bagian Source Database dan Destination Database, lalu klik Test Connectivity and Proceed.
Untuk informasi lebih lanjut, lihat Sinkronkan data dari database MySQL yang dikelola sendiri ke instance ApsaraDB RDS for MySQL.
CatatanKonfigurasi database sumber dan tujuan harus sama dengan yang ada di Langkah 1.
Pilih Full Data Synchronization untuk parameter Synchronization Types.
CatatanObjek yang akan disinkronkan harus sama dengan objek yang dimigrasikan di Langkah 1.
Secara default, Incremental Data Synchronization dipilih untuk parameter Synchronization Types. Jangan pilih Schema Synchronization.

Konfigurasikan parameter lainnya sesuai kebutuhan bisnis Anda.
Uji konsistensi data
Masuk ke database sumber dan masukkan entri data ke tabel induk.
insert into induk values(1,'testname');Setelah entri data dimasukkan, pemicu memasukkan entri data ke tabel anak sumber.
Masuk ke database sumber dan tujuan. Kueri data tabel anak sumber dan tabel anak tujuan. Periksa apakah data konsisten antara kedua tabel.
Hasil kueri tabel anak sumber
+--------------+------------+----------+ | sys_child_id | user_vs_id | name | +--------------+------------+----------+ | 2001 | 1 | testname | +--------------+------------+----------+Hasil kueri tabel anak tujuan
+--------------+------------+----------+ | sys_child_id | user_vs_id | name | +--------------+------------+----------+ | 2001 | 1 | testname | +--------------+------------+----------+
Hasil menunjukkan bahwa data di tabel anak sumber konsisten dengan data di tabel anak tujuan.
Apa yang harus dilakukan selanjutnya
Setelah sinkronisasi data selesai, hentikan tugas sinkronisasi data yang dibuat di Langkah 3.
Untuk informasi lebih lanjut, lihat Hentikan instance DTS.
Opsional. Lihat pernyataan untuk membuat pemicu.
Temukan tugas migrasi data yang dibuat di Langkah 1.
Klik ID tugas yang ingin Anda kelola.
Di halaman Task Management, klik Schema Migration2.
Di tab Task Details, klik View Statements.
Masuk ke database tujuan dan tambahkan pemicu.