All Products
Search
Document Center

Data Transmission Service:Konfigurasikan tugas untuk database sumber dengan trigger

Last Updated:Jun 22, 2026

Sinkronisasi atau migrasi database dapat menyebabkan ketidakkonsistenan data antara sumber dan tujuan jika database sumber berisi trigger yang memperbarui tabel di dalamnya. Topik ini menjelaskan cara mengonfigurasi tugas dalam skenario tersebut untuk memastikan konsistensi data.

Latar Belakang

Jika database sumber Anda berisi trigger dan skenario Anda memenuhi salah satu kondisi dalam tabel di bawah ini, rujuk dokumentasi terkait. Jika tidak, ikuti prosedur dalam topik ini.

Source database

Destination database

Description

References

All supported types

PostgreSQL, PolarDB for PostgreSQL, PolarDB for PostgreSQL (Compatible with Oracle)

  • Jika akun database tujuan memiliki izin yang cukup (seperti akun dengan hak istimewa atau superuser), Data Transmission Service (DTS) secara otomatis menonaktifkan trigger tersebut pada tingkat session setelah migrasi atau sinkronisasi.

  • Jika akun database tujuan tidak memiliki izin yang cukup, atur parameter session_replication_role ke replica di database tujuan selama tugas berjalan.

MySQL, PolarDB for MySQL, ApsaraDB RDS for MariaDB

MySQL, PolarDB for MySQL, ApsaraDB RDS for MariaDB

Trigger harus dikonfigurasi secara manual untuk sinkronisasi atau migrasi.

Synchronize or migrate triggers from the source database

SQL Server

SQL Server

Alur Kerja

  1. Buat tugas data migration untuk memigrasikan skema dari database sumber ke database tujuan.

    Untuk informasi lebih lanjut, lihat Overview of data migration scenarios.

    Penting
    • Untuk Migration Types, pilih hanya Schema Migration.

    • Untuk Source Objects, pilih seluruh database atau skema.

  2. Login ke database tujuan dan hapus trigger yang dimigrasikan dari database sumber.

  3. Buat tugas sinkronisasi data atau migrasi data dari database sumber ke database tujuan.

    Untuk informasi lebih lanjut, lihat Overview of data synchronization scenarios dan Overview of data migration scenarios.

    Penting
    • Untuk tugas sinkronisasi data, Synchronization Types dipilih secara default di bawah Incremental Data Synchronization. Anda juga harus memilih Full Data Synchronization. Jangan pilih Schema Synchronization.

    • Untuk tugas migrasi data, pilih Migration Types dan Full Data Migration untuk Incremental Data Migration. Jangan pilih Schema Migration.

  4. (Opsional) Setelah transfer data selesai, terminate atau release instans.

    Untuk informasi lebih lanjut, lihat Terminate a DTS instance dan Release DTS instances.

    Catatan

    Setelah instans di-terminate atau di-release, tambahkan kembali trigger ke database tujuan secara manual sesuai kebutuhan bisnis Anda.

Contoh

Catatan

Contoh ini menunjukkan cara mengonfigurasi tugas untuk menyinkronkan data dari database MySQL yang dikelola sendiri ke instans ApsaraDB RDS for MySQL.

Persiapan Data

Contoh ini menggunakan database MySQL bernama triggertestdata yang berisi dua tabel: parent dan child. Trigger pada tabel parent memasukkan salinan setiap baris baru ke dalam tabel child.

Catatan

Tabel berikut menampilkan skema tabel dan definisi trigger.

Object type

Name

Statement

Table

parent

CREATE TABLE `parent` (
  `user_vs_id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(30) DEFAULT NULL,
  PRIMARY KEY (`user_vs_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2001 DEFAULT CHARSET=utf8

Table

child

CREATE TABLE `child` (
  `sys_child_id` int(11) NOT NULL AUTO_INCREMENT,
  `user_vs_id` int(11) DEFAULT NULL,
  `name` varchar(30) DEFAULT NULL,
  PRIMARY KEY (`sys_child_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2001 DEFAULT CHARSET=utf8

trigger

data_check

CREATE TRIGGER data_check
AFTER INSERT ON parent
FOR EACH ROW
insert into child(user_vs_id, name) values(new.user_vs_id, new.name) ;

Dalam skenario ini, operasi INSERT pada tabel parent selama sinkronisasi akan menyebabkan data tabel child menjadi tidak konsisten antara sumber dan tujuan. Untuk mencegah hal ini, Anda harus menghapus trigger dari database tujuan setelah migrasi skema awal.

Prosedur

  1. Buat tugas migrasi data untuk memigrasikan skema dari database sumber ke database tujuan.

    1. Buka halaman daftar tugas migrasi untuk wilayah tujuan menggunakan salah satu metode berikut.

      Dari Konsol DTS

      1. Login ke Data Transmission Service (DTS) console.

      2. Di panel navigasi kiri, klik Data Migration.

      3. Di pojok kiri atas halaman, pilih wilayah tempat instans migrasi berada.

      Dari Konsol DMS

      Catatan

      Operasi aktual dapat berbeda tergantung mode dan tata letak Konsol DMS. Untuk informasi lebih lanjut, lihat Simple mode console dan Customize the layout and style of the DMS console.

      1. Login ke Data Management (DMS) console.

      2. Di bilah menu atas, pilih Data + AI > Data Transmission (DTS) > Data Migration.

      3. Di sebelah kanan Data Migration Tasks, pilih wilayah tempat instans migrasi berada.

    2. Klik Create Task untuk membuka halaman konfigurasi tugas.

    3. Konfigurasikan pengaturan Source Database dan Destination Database, lalu klik Test Connectivity and Proceed di bagian bawah halaman.

      Untuk deskripsi parameter dan informasi selengkapnya, lihat Migrasi data dari Database MySQL yang dikelola sendiri ke instans ApsaraDB RDS untuk MySQL.

    4. Untuk Migration Types, pilih Schema Migration, lalu pilih database atau skema yang akan dimigrasikan.

    5. Selesaikan langkah konfigurasi lainnya sesuai kebutuhan bisnis Anda.

  2. Migrasi skema juga memigrasikan trigger. Setelah tugas selesai, login ke database tujuan dan hapus trigger tersebut dengan menjalankan perintah berikut:

    drop trigger <trigger_name>;

    Contoh:

    drop trigger data_check;
  3. Buat tugas sinkronisasi data untuk menyinkronkan data dari database sumber ke database tujuan.

    1. Di panel navigasi kiri, klik Data Synchronization.

    2. Konfigurasikan pengaturan Source Database dan Destination Database, lalu klik Test Connectivity and Proceed di bagian bawah halaman.

      Untuk deskripsi parameter dan informasi lebih lanjut, lihat Synchronize data from a self-managed MySQL database to an ApsaraDB RDS for MySQL instance.

      Catatan

      Gunakan database sumber dan tujuan yang sama seperti yang Anda konfigurasi di Langkah 1.

    3. Untuk Synchronization Types, pilih secara manual Full Data Synchronization.

      Catatan
      • Pastikan objek sinkronisasi sama dengan objek migrasi yang Anda konfigurasi di Langkah 1.

      • Synchronization Types dipilih secara default di bawah Incremental Data Synchronization. Jangan pilih Schema Synchronization.

    4. Selesaikan langkah konfigurasi lainnya sesuai kebutuhan bisnis Anda.

Uji konsistensi data

  1. Login ke database sumber dan masukkan satu baris ke dalam tabel parent.

    insert into parent values(1,'testname');

    Trigger di database sumber kemudian memasukkan baris yang sama ke dalam tabel child sumber.

  2. Login ke database sumber dan tujuan. Lakukan kueri pada tabel child di kedua database untuk memverifikasi konsistensi data.

    • Hasil kueri di database sumber

      +--------------+------------+----------+
      | sys_child_id | user_vs_id | name     |
      +--------------+------------+----------+
      |         2001 |          1 | testname |
      +--------------+------------+----------+
    • Hasil kueri di database tujuan

      +--------------+------------+----------+
      | sys_child_id | user_vs_id | name     |
      +--------------+------------+----------+
      |         2001 |          1 | testname |
      +--------------+------------+----------+

    Hasil menunjukkan bahwa data konsisten.

Langkah Selanjutnya

  1. Setelah sinkronisasi data selesai, terminate tugas sinkronisasi yang Anda buat di Langkah 3.

    Untuk informasi lebih lanjut, lihat Terminate a DTS instance.

  2. (Opsional) Lihat statement untuk membuat trigger.

    1. Temukan tugas migrasi yang Anda buat di Langkah 1.

    2. Klik ID tugas tersebut.

    3. Di halaman Task Management, klik Schema Migration2.

    4. Di tab Task Details, klik View Statements.

  3. Login ke database tujuan dan tambahkan kembali trigger secara manual.