Layanan Transmisi Data (Data Transmission Service/DTS) mendukung sinkronisasi data dua arah antara dua database PostgreSQL, seperti database pada instans ApsaraDB RDS untuk PostgreSQL dan database PostgreSQL yang dikelola sendiri. Fitur ini memungkinkan arsitektur redundansi geo-aktif (berbasis unit) dan pemulihan bencana geo, di mana setiap instans memiliki partisi data yang berbeda dan operasi penulisan dipisahkan berdasarkan partisi.
Sinkronisasi dua arah bukan solusi multi-master umum. Untuk menjaga konsistensi data, setiap record hanya boleh ditulis pada satu instans dalam satu waktu—record dengan primary key atau unique key yang sama tidak boleh diperbarui secara bersamaan di kedua instans. DTS mendeteksi dan menangani konflik, tetapi tidak dapat menjamin konsistensi penuh jika record yang sama dimodifikasi secara simultan di kedua sisi.
Batasan sinkronisasi dua arah
Sebelum mengonfigurasi tugas sinkronisasi dua arah, tinjau batasan berikut yang berlaku khusus untuk topologi dua arah.
| Batas | Detail |
|---|---|
| Jumlah instans | DTS mendukung sinkronisasi dua arah antara tepat dua database PostgreSQL. Sinkronisasi di antara tiga atau lebih database tidak didukung. |
| Sinkronisasi data penuh | Hanya satu tugas dalam pasangan dua arah yang dapat menjalankan sinkronisasi data penuh plus sinkronisasi data inkremental. Tugas lainnya harus hanya menjalankan sinkronisasi data inkremental. |
| Pemilihan objek tugas balik | Jangan memilih objek yang sama dalam tugas balik yang telah dipilih dalam tugas maju. |
| Pemetaan nama objek | Fitur pemetaan nama objek tidak didukung dalam tugas balik. Menggunakannya dapat menyebabkan ketidakkonsistenan data. |
| Arah sinkronisasi DDL | Operasi DDL hanya disinkronkan dalam arah maju (sumber ke tujuan). Operasi DDL dalam arah balik diabaikan. |
Prasyarat
Sebelum memulai, pastikan bahwa:
Kedua instans ApsaraDB RDS untuk PostgreSQL (sumber dan tujuan) telah dibuat. Untuk informasi selengkapnya, lihat Buat instans ApsaraDB RDS untuk PostgreSQL.
Parameter
wal_leveldiatur kelogicalpada kedua instans. Untuk informasi selengkapnya, lihat Modifikasi parameter instans ApsaraDB RDS untuk PostgreSQL.
Untuk versi PostgreSQL yang didukung, lihat Ikhtisar skenario sinkronisasi data.
Penagihan
| Jenis sinkronisasi | Biaya |
|---|---|
| Sinkronisasi skema dan sinkronisasi data penuh | Gratis |
| Sinkronisasi data inkremental | Dikenakan biaya. Untuk detailnya, lihat Ikhtisar penagihan. |
Objek yang didukung
SCHEMA dan TABLE — termasuk PRIMARY KEY, UNIQUE KEY, FOREIGN KEY, tipe data bawaan, dan DEFAULT CONSTRAINT.
VIEW, PROCEDURE (PostgreSQL V11 atau lebih baru), FUNCTION, RULE, SEQUENCE, EXTENSION, TRIGGER, AGGREGATE, INDEX, OPERATOR, dan DOMAIN.
Operasi SQL yang dapat disinkronkan
| Jenis operasi | Pernyataan SQL |
|---|---|
| DML | INSERT, UPDATE, dan DELETE |
| DDL | CREATE TABLE, DROP TABLE, ALTER TABLE (RENAME TABLE, ADD COLUMN, ADD COLUMN DEFAULT, ALTER COLUMN TYPE, DROP COLUMN, ADD CONSTRAINT, ADD CONSTRAINT CHECK, ALTER COLUMN DROP DEFAULT), TRUNCATE TABLE (versi database PostgreSQL yang dikelola sendiri sebagai sumber harus 11 atau lebih baru), CREATE INDEX ON TABLE |
Persyaratan sinkronisasi DDL:
Operasi DDL hanya dapat disinkronkan oleh tugas yang dibuat setelah 1 Oktober 2020.
Untuk tugas yang dibuat sebelum 12 Mei 2023, Anda harus membuat trigger dan function di database sumber sebelum mengonfigurasi tugas. Untuk detailnya, lihat Gunakan trigger dan function untuk menerapkan migrasi DDL inkremental untuk database PostgreSQL.
Akun database sumber harus merupakan akun istimewa, dan instans ApsaraDB RDS untuk PostgreSQL harus menjalankan versi mesin minor 20210228 atau lebih baru. Untuk detail tentang pembaruan versi mesin minor, lihat Perbarui versi mesin minor.
Operasi DDL hanya disinkronkan dalam arah maju (sumber ke tujuan). Operasi DDL dalam arah balik diabaikan. Batasan DDL tambahan berlaku:
Klausa CASCADE dan RESTRICT tidak disinkronkan.
Pernyataan DDL yang dieksekusi melalui
SET session_replication_role = replicatidak disinkronkan.Pernyataan DDL yang dipanggil melalui function tidak disinkronkan.
Jika commit batch berisi pernyataan DML dan DDL sekaligus, pernyataan DDL tidak disinkronkan.
Pernyataan DDL yang memengaruhi objek di luar cakupan sinkronisasi tidak disinkronkan.
Untuk menggunakan tugas sinkronisasi data yang dibuat sebelum 12 Mei 2023 guna menyinkronkan operasi DDL, Anda harus membuat trigger dan function di database sumber untuk menangkap informasi DDL sebelum mengonfigurasi tugas sinkronisasi data. Untuk informasi selengkapnya, lihat Gunakan trigger dan function untuk menerapkan migrasi DDL inkremental untuk database PostgreSQL.
Data bertipe BIT tidak dapat disinkronkan selama sinkronisasi data inkremental.
Deteksi konflik
DTS memeriksa dan menangani konflik untuk menjaga stabilitas sinkronisasi dua arah. Data sumber dari tugas saat ini hanya dapat disinkronkan ke database tujuan dalam tugas tersebut—data yang telah disinkronkan tidak digunakan sebagai data sumber tugas lainnya.
DTS mendeteksi jenis konflik berikut:
Konflik INSERT — Jika record dengan primary key yang sama dimasukkan di kedua instans hampir bersamaan, salah satu operasi insert gagal karena kunci tersebut sudah ada di sisi lain.
Konflik UPDATE — Jika record yang akan diperbarui tidak ada di instans tujuan, DTS mengubah UPDATE menjadi INSERT, yang kemudian dapat memicu konflik INSERT.
Konflik DELETE — Jika record yang akan dihapus tidak ada di instans tujuan, DTS mengabaikan operasi DELETE terlepas dari kebijakan resolusi konflik.
DTS tidak dapat menjamin bahwa mekanisme deteksi konflik mencegah semua konflik. Perbedaan jam sistem dan latensi sinkronisasi antar instans berarti pembaruan konkuren terhadap record yang sama masih dapat menyebabkan ketidakkonsistenan. Rancang aplikasi Anda sehingga record dengan primary key yang sama selalu ditulis hanya pada salah satu dari dua instans.
Batasan lainnya
Batasan database sumber dan tujuan
Tabel tanpa primary key dan kendala UNIK memerlukan fitur Exactly-Once write diaktifkan, atau database tujuan mungkin berisi record duplikat. Untuk detailnya, lihat Sinkronisasi tabel tanpa primary key atau kendala UNIK.
Jika Anda memilih tabel sebagai objek dan perlu mengganti nama tabel atau kolom di destinasi, satu task dapat menyinkronkan hingga 5.000 tabel. Melebihi batas ini akan menyebabkan error permintaan. Dalam kasus tersebut, konfigurasikan multiple task atau lakukan sinkronisasi pada level database.
DTS tidak dapat menyinkronkan tabel sementara, pemicu internal, atau prosedur dan fungsi internal tertentu yang ditulis dalam bahasa C.
DTS dapat menyinkronkan parameter khusus dari tipe COMPOSITE, ENUM, dan RANGE. Tabel harus memiliki constraint PRIMARY KEY, FOREIGN KEY, UNIQUE, atau CHECK.
DTS tidak dapat menyinkronkan tabel yang memiliki hubungan warisan lintas skema.
Jika sebuah tabel berisi tipe data SERIAL, DTS secara otomatis membuat sequence di database sumber. Saat memilih Schema Synchronization di bawah Synchronization Types, pilih juga Sequence atau sinkronkan pada tingkat skema untuk mencegah kegagalan tugas.
Jika skema adalah objek sinkronisasi dan Anda membuat tabel baru atau mengganti nama tabel dalam skema tersebut, jalankan pernyataan berikut sebelum menulis data ke tabel:
ALTER TABLE schema.table REPLICA IDENTITY FULL;Ganti
schemadantabledengan nama aktual. Jalankan ini selama jam sepi dan hindari penguncian tabel untuk mencegah deadlock.
Persyaratan Write-ahead log (WAL)
Atur
wal_levelkelogical.Hanya untuk sinkronisasi data inkremental: simpan log WAL lebih dari 24 jam.
Untuk sinkronisasi data penuh plus sinkronisasi data inkremental: simpan log WAL minimal tujuh hari. Setelah sinkronisasi data penuh selesai, Anda dapat mengatur periode retensi menjadi lebih dari 24 jam. Jika periode retensi terlalu singkat, DTS mungkin gagal mengambil log WAL, menyebabkan kegagalan tugas atau kehilangan data.
Jika database sumber memiliki transaksi jangka panjang, log WAL yang dihasilkan sebelum transaksi tersebut dikomit dapat menumpuk dan menghabiskan disk space.
Operasi pada database sumber
Sebelum melakukan alih bencana primary/secondary pada instans sumber, aktifkan fitur Logical Replication Slot Failover untuk mencegah gangguan pada langganan logis. Untuk detailnya, lihat Logical Replication Slot Failover.
Jika ukuran satu perubahan inkremental melebihi 256 MB, instans sinkronisasi gagal dan tidak dapat dipulihkan. Anda harus mengonfigurasi tugas baru.
Jangan mengeksekusi pernyataan DDL selama sinkronisasi skema atau sinkronisasi data penuh. Melakukannya menyebabkan tugas gagal.
Peningkatan versi utama database sumber menyebabkan instans sinkronisasi yang sedang berjalan gagal tanpa pemulihan. Anda harus mengonfigurasi tugas baru.
Jangan mengubah endpoint atau zona instans ApsaraDB RDS untuk PostgreSQL sumber selama tugas berjalan.
Batasan lainnya
Satu tugas sinkronisasi mencakup satu database. Untuk menyinkronkan beberapa database, buat tugas terpisah untuk masing-masing.
DTS membuat tabel temporary berikut di database sumber untuk penangkapan DDL, pelacakan skema, dan heartbeat. Jangan menghapusnya selama tugas berjalan. Setelah instans DTS dilepas, tabel-tabel tersebut dihapus secara otomatis:
public.dts_pg_class,public.dts_pg_attribute,public.dts_pg_type,public.dts_pg_enum,public.dts_postgres_heartbeat,public.dts_ddl_command,public.dts_args_session, danpublic.aliyun_dts_instance.DTS menambahkan tabel heartbeat bernama
dts_postgres_heartbeatke database sumber untuk menjaga metrik latensi sinkronisasi yang akurat.DTS membuat slot replikasi dengan awalan
dts_sync_di database sumber. Slot ini menyimpan log inkremental dari 15 menit terakhir.Slot replikasi dihapus secara otomatis saat instans DTS dilepas. Namun, jika Anda mengubah password database sumber atau menghapus alamat IP DTS dari daftar putih, slot tersebut tidak dapat dihapus secara otomatis—hapus secara manual untuk mencegah penumpukan. Jika tugas dilepas atau gagal, DTS secara otomatis menghapus slot replikasi. Setelah alih bencana primary/secondary, masuk ke database secondary untuk menghapus slot tersebut.

DTS tidak memvalidasi metadata seperti sequence. Validasi metadata secara manual.
Sebelum mengalihkan beban kerja ke database tujuan, kueri nilai maksimum sequence di database sumber, lalu atur nilai tersebut sebagai nilai awal di database tujuan:
Output berisi semua sequence di database sumber. Terapkan pernyataan
setvalyang relevan di database tujuan sesuai kebutuhan Anda.do language plpgsql $$ declare nsp name; rel name; val int8; begin for nsp,rel in select nspname,relname from pg_class t2 , pg_namespace t3 where t2.relnamespace=t3.oid and t2.relkind='S' loop execute format($_$select last_value from %I.%I$_$, nsp, rel) into val; raise notice '%', format($_$select setval('%I.%I'::regclass, %s);$_$, nsp, rel, val+1); end loop; end; $$;Sebelum menyinkronkan data, evaluasi dampak sinkronisasi data terhadap performa database sumber dan tujuan. Kami merekomendasikan agar Anda menyinkronkan data selama jam sepi.
Sinkronisasi data penuh awal menjalankan operasi INSERT secara konkuren, yang dapat menyebabkan fragmentasi tabel di database tujuan. Akibatnya, ruang tabel yang digunakan di database tujuan mungkin lebih besar daripada di database sumber setelah sinkronisasi data penuh selesai.
Jika Anda hanya menggunakan DTS untuk menulis data ke database tujuan, Anda dapat menggunakan Data Management (DMS) untuk melakukan operasi DDL Online pada tabel sumber selama sinkronisasi. Untuk detailnya, lihat Ubah skema tanpa mengunci tabel.
Jika sumber lain juga menulis ke database tujuan selama sinkronisasi, ketidakkonsistenan data dapat terjadi. Misalnya, menjalankan pernyataan DDL Online DMS sementara sumber lain menulis ke tujuan dapat menyebabkan kehilangan data.
Jika akun database tujuan adalah akun istimewa atau superuser, dan tabel yang disinkronkan berisi foreign key, trigger, atau event trigger, DTS sementara mengatur
session_replication_rolekereplicapada tingkat sesi. Jika akun tidak memiliki izin yang diperlukan, atur parameter ini secara manual. Jikasession_replication_rolediatur kereplicadan operasi cascade update atau delete dilakukan di database sumber selama sinkronisasi, ketidakkonsistenan data dapat terjadi. Setelah tugas dilepas, Anda dapat mengatur ulangsession_replication_rolekeorigin.Jika tugas DTS gagal, dukungan teknis DTS berusaha memulihkannya dalam waktu 8 jam. Selama pemulihan, tugas mungkin dimulai ulang dan parameter tugas mungkin dimodifikasi.
Hanya parameter tugas yang dimodifikasi—parameter database tidak diubah. Untuk daftar parameter yang mungkin dimodifikasi, lihat bagian Modifikasi parameter instans dalam topik Modifikasi parameter instans DTS.
Untuk database PostgreSQL yang dikelola sendiri: nilai
max_wal_sendersdanmax_replication_slotsharus melebihi jumlah slot replikasi yang ada ditambah jumlah instans DTS yang akan dibuat untuk database tersebut.Untuk Google Cloud SQL untuk PostgreSQL: atur Database Account ke akun dengan izin
cloudsqlsuperuser. Saat memilih objek, pilih hanya objek yang dikelola oleh akun tersebut, atau berikan izin OWNER pada objek tersebut kepada akun.Akun dengan izin
cloudsqlsuperusertidak dapat mengelola data yang dimiliki oleh akuncloudsqlsuperuserlainnya.
Konfigurasi sinkronisasi dua arah
Pengaturan sinkronisasi dua arah memerlukan dua tugas: tugas maju dan tugas balik. Konfigurasikan secara berurutan—tugas balik hanya dapat dikonfigurasi setelah tugas maju mencapai status Running.
Langkah 1: Beli instans sinkronisasi dua arah
Beli instans DTS. Di halaman pembelian, atur Source Instance dan Destination Instance ke PostgreSQL, dan atur Synchronization Topology ke Two-way Synchronization.
Langkah 2: Konfigurasi tugas sinkronisasi maju
Tugas maju menyinkronkan data dari instans A ke instans B, dan menjalankan sinkronisasi data penuh plus sinkronisasi data inkremental.
Buka halaman Sinkronisasi Data di Konsol DTS.
Sebagai alternatif, masuk ke Konsol Data Management (DMS). Di bilah navigasi atas, arahkan pointer ke Konsol Data Management (DMS)Data + AI, lalu pilih DTS (DTS) > Data Synchronization.
Di pojok kiri atas, pilih wilayah tempat instans yang dibeli berada.
Temukan instans sinkronisasi dan klik Configure Task di kolom Actions tugas pertama (maju).
Konfigurasi database sumber dan tujuan.
PeringatanBaca Limits yang ditampilkan di halaman sebelum mengonfirmasi. Melewatkan langkah ini dapat menyebabkan kegagalan tugas atau ketidakkonsistenan data.
Bagian Parameter Deskripsi N/A Task Name Nama untuk tugas DTS. DTS menghasilkan nama default. Tentukan nama deskriptif untuk memudahkan identifikasi. Nama tidak perlu unik. Source Database Database Type Pilih PostgreSQL. Connection Type Pilih Alibaba Cloud Instance. Instance Region Wilayah sumber yang dipilih di halaman pembelian. Hanya baca. Instance ID ID instans ApsaraDB RDS untuk PostgreSQL sumber. Database Name Nama database sumber. Database Account Akun istimewa yang merupakan pemilik database sumber. Untuk detail tentang pembuatan akun dan pemberian izin, lihat Buat akun dan Buat database. Database Password Password untuk akun database. Encryption Pilih Non-encrypted atau SSL-encrypted sesuai kebutuhan Anda. Untuk enkripsi SSL, unggah CA Certificate, Client Certificate, dan Private Key of Client Certificate sesuai kebutuhan, serta tentukan Private Key Password of Client Certificate. Untuk detail tentang konfigurasi enkripsi SSL, lihat Enkripsi SSL. Destination Database Database Type Pilih PostgreSQL. Connection Type Pilih Alibaba Cloud Instance. Instance Region Wilayah tujuan yang dipilih di halaman pembelian. Hanya baca. Instance ID ID instans ApsaraDB RDS untuk PostgreSQL tujuan. Database Name Nama database tujuan. Database Account Akun istimewa yang merupakan pemilik database tujuan. Database Password Password untuk akun database. Encryption Opsi yang sama seperti database sumber. Klik Test Connectivity and Proceed.
Blok CIDR server DTS harus ditambahkan ke pengaturan keamanan kedua database. Untuk database yang dikelola sendiri yang tidak menggunakan metode akses Alibaba Cloud Instance, klik Test Connectivity di kotak dialog CIDR Blocks of DTS Servers. Untuk detailnya, lihat Tambahkan blok CIDR server DTS.
Konfigurasi objek yang akan disinkronkan. Di langkah Configure Objects, atur parameter berikut:
Mengganti nama objek dengan fitur pemetaan nama objek dapat mengganggu sinkronisasi objek lain yang bergantung padanya.
Parameter Deskripsi Synchronization Types Pilih Schema Synchronization, Full Data Synchronization, dan Incremental Data Synchronization. Setelah pemeriksaan awal selesai, DTS menyinkronkan data historis dari sumber ke tujuan sebagai dasar untuk sinkronisasi inkremental berikutnya. Memilih Schema Synchronization juga menyinkronkan foreign key. Processing Mode of Conflicting Tables Precheck and Report Errors: gagal dalam pemeriksaan awal jika tujuan berisi tabel dengan nama yang sama seperti tabel sumber. Gunakan fitur pemetaan nama objek untuk menyelesaikan konflik jika tabel tujuan tidak dapat dihapus atau diganti namanya. Untuk detailnya, lihat Pemetaan nama objek. Ignore Errors and Proceed: melewati pemeriksaan awal ini. Jika tabel sumber dan tujuan memiliki skema yang sama dan terdapat konflik primary key atau unique key, DTS mempertahankan record tujuan selama sinkronisasi data penuh tetapi menimpanya selama sinkronisasi data inkremental. Jika skema berbeda, inisialisasi mungkin gagal atau hanya kolom parsial yang disinkronkan. Synchronization Topology Pilih Two-way Synchronization. Exclude DDL Operations Yes: mengecualikan operasi DDL. No: menyinkronkan operasi DDL (hanya arah maju). Parameter ini hanya ditampilkan saat mengonfigurasi tugas maju. Conflict Resolution Policy Pilih kebijakan sesuai kebutuhan Anda: TaskFailed — menghentikan tugas saat terjadi konflik; Anda harus menyelesaikan konflik secara manual. Ignore — mengabaikan pernyataan yang konflik dan mempertahankan record tujuan. Overwrite — menimpa record tujuan dengan data masuk. Capitalization of Object Names in Destination Instance Mengontrol kapitalisasi nama database, nama tabel, dan nama kolom. Default ke DTS default policy. Untuk detailnya, lihat Tentukan kapitalisasi nama objek di instans tujuan. Source Objects Pilih satu atau beberapa objek dan klik ikon
untuk memindahkannya ke Selected Objects.Selected Objects Untuk mengganti nama satu objek, klik kanan objek tersebut. Untuk penggantian nama massal, klik Batch Edit. Untuk detailnya, lihat Pemetaan nama objek. Untuk memfilter data berdasarkan kondisi SQL, klik kanan tabel dan tentukan kondisinya. Untuk detailnya, lihat Gunakan kondisi SQL untuk memfilter data. Klik Next: Advanced Settings dan konfigurasi parameter berikut:
Parameter Deskripsi Dedicated Cluster for Task Scheduling Secara default, DTS menjadwalkan tugas ke kluster bersama. Beli kluster khusus untuk stabilitas lebih tinggi. Untuk detailnya, lihat Apa itu kluster khusus DTS. Retry Time for Failed Connections Rentang waktu selama DTS mencoba koneksi yang gagal setelah tugas dimulai. Nilai valid: 10–1440 menit. Default: 720 menit. Atur nilai ini lebih dari 30 menit. Jika koneksi dipulihkan dalam rentang ini, tugas dilanjutkan. Jika tidak, tugas gagal. Jika beberapa tugas berbagi database sumber atau tujuan yang sama, waktu retry terpendek berlaku untuk semuanya. Retry Time for Other Issues Rentang waktu selama DTS mencoba ulang operasi DML atau DDL yang gagal. Nilai valid: 1–1440 menit. Default: 10 menit. Atur nilai ini lebih dari 10 menit. Nilai ini harus kurang dari Retry Time for Failed Connections. Enable Throttling for Full Data Synchronization Membatasi sinkronisasi data penuh dengan membatasi Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s). Tersedia hanya jika Full Data Synchronization dipilih. Enable Throttling for Incremental Data Synchronization Membatasi sinkronisasi data inkremental dengan membatasi RPS of Incremental Data Synchronization dan Data synchronization speed for incremental synchronization (MB/s). Environment Tag Tag opsional untuk mengidentifikasi instans DTS. Monitoring and Alerting Konfigurasi peringatan untuk kegagalan tugas atau pelanggaran ambang batas latensi. Pilih Yes untuk mengatur ambang batas peringatan dan pengaturan notifikasi. Untuk detailnya, lihat Konfigurasi pemantauan dan peringatan. Klik Next Step: Data Verification dan konfigurasikan verifikasi data sesuai kebutuhan. Untuk detailnya, lihat Mengonfigurasi Tugas Verifikasi Data.
Simpan pengaturan tugas dan jalankan pemeriksaan awal.
Untuk melihat pratinjau parameter API untuk konfigurasi ini, arahkan kursor ke Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters.
Klik Next: Save Task Settings and Precheck untuk menyimpan dan memulai pemeriksaan awal.
Tugas tidak dapat dimulai hingga lulus pemeriksaan awal. Jika pemeriksaan awal gagal, klik View Details di samping setiap item yang gagal, selesaikan masalahnya, dan jalankan ulang pemeriksaan awal. Untuk item peringatan yang dapat diabaikan dengan aman, klik Confirm Alert Details > Ignore > OK, lalu klik Precheck Again.
Tunggu hingga success rate mencapai 100%, lalu klik Back.
Langkah 3: Konfigurasi tugas sinkronisasi balik
Tugas balik menyinkronkan data dari instans B kembali ke instans A. Tugas ini harus hanya menjalankan sinkronisasi data inkremental—sinkronisasi data penuh tidak boleh dipilih untuk tugas balik, karena hanya satu tugas dalam pasangan dua arah yang dapat menjalankan sinkronisasi data penuh.
Tunggu hingga sinkronisasi awal selesai dan tugas maju memasuki status Running.
Temukan tugas sinkronisasi balik dan klik Configure Task.
Ulangi langkah 4 hingga 10 dari konfigurasi tugas maju, dengan perbedaan berikut:
Instans sumber dan tujuan saling ditukar. Instans sumber dalam tugas balik adalah instans tujuan dalam tugas maju, dan sebaliknya. Pastikan nama database, akun, dan password konsisten dengan instans, bukan perannya.
Parameter Instance Region tidak dapat dimodifikasi.
Untuk Synchronization Types, pilih Incremental Data Synchronization only. Jangan memilih sinkronisasi data penuh.
DTS secara otomatis mengecualikan tabel yang telah disinkronkan ke tujuan dalam tugas maju dari pemeriksaan Processing Mode of Conflicting Tables.
Jangan memilih Selected Objects yang sama seperti tugas maju.
Jangan gunakan fitur pemetaan nama objek untuk tugas balik.
Setelah tugas balik dikonfigurasi, tunggu hingga kedua tugas memasuki status Running. Sinkronisasi data dua arah kini aktif.