All Products
Search
Document Center

AnalyticDB:Sinkronisasi data dari instans ApsaraDB RDS for SQL Server ke instans AnalyticDB for PostgreSQL

Last Updated:Mar 29, 2026

Gunakan Data Transmission Service (DTS) untuk menyinkronkan data dari ApsaraDB RDS for SQL Server ke AnalyticDB for PostgreSQL. DTS menangani sinkronisasi skema, sinkronisasi data penuh, dan sinkronisasi data inkremental sehingga database analitik Anda tetap mutakhir seiring perubahan pada database transaksional.

Apa yang didukung DTS dalam skenario ini

KemampuanDetail
Versi SQL Server yang didukung2012, 2014, 2016, 2017, 2019
Objek sinkronisasi skemaSkema, tabel, view, fungsi, prosedur
Operasi DDLHanya ADD COLUMN. Operasi DDL transaksional tidak didukung.
Operasi DMLINSERT, UPDATE, DELETE
Topologi sinkronisasiSinkronisasi satu arah
PenagihanSinkronisasi skema dan data penuh: gratis. Sinkronisasi data inkremental: berbayar. Lihat Ikhtisar penagihan.

Batasan

Tipe data yang tidak didukung

DTS tidak menyinkronkan kolom dengan tipe data berikut: TIMESTAMP, CURSOR, ROWVERSION, HIERARCHYID, SQL\_VARIANT, SPATIAL GEOMETRY, SPATIAL GEOGRAPHY, dan TABLE.

Batasan database heterogen

SQL Server dan AnalyticDB for PostgreSQL merupakan database heterogen. Tipe data di antara keduanya tidak memiliki pemetaan satu-ke-satu. Tinjau pemetaan tipe data untuk sinkronisasi skema sebelum memulai, dan evaluasi dampaknya terhadap bisnis Anda.

Persyaratan tabel sumber dan tujuan

  • Tabel sumber harus memiliki kunci primer.

  • Tabel tujuan harus memiliki kunci primer atau indeks unik.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

Izin yang diperlukan

Berikan izin berikut sebelum mengonfigurasi tugas sinkronisasi.

ApsaraDB RDS for SQL Server

Akun database harus memiliki izin tingkat owner pada database sumber. Lihat Ubah izin akun.

AnalyticDB for PostgreSQL

Akun database memerlukan izin berikut. Anda dapat menggunakan akun awal instans, yang secara default sudah memiliki izin-izin tersebut.

  • Izin LOGIN

  • Izin SELECT, CREATE, INSERT, UPDATE, dan DELETE pada tabel tujuan

  • Izin CONNECT dan CREATE pada database tujuan

  • Izin CREATE pada skema tujuan

  • Izin COPY (diperlukan untuk operasi copy batch berbasis memori)

Lihat Kelola pengguna dan izin untuk informasi lebih lanjut.

Catatan penggunaan

  • DTS menambahkan tabel heartbeat bernama dts_log_heart_beat ke database sumber untuk menjaga akurasi latensi sinkronisasi.

  • DTS mengonsumsi sumber daya baca dan tulis pada kedua database selama sinkronisasi. Untuk menghindari penurunan performa database, jalankan tugas sinkronisasi selama jam sepi—idealnya saat utilisasi CPU pada kedua database berada di bawah 30%.

  • Jika DTS gagal terhubung ke database sumber atau tujuan, sistem akan mencoba ulang hingga 720 menit (12 jam) secara default. Sesuaikan nilai ini berdasarkan kebutuhan bisnis Anda. Selama masa percobaan ulang, Anda tetap dikenai biaya untuk instans DTS.

Peringatan

Saat blok CIDR DTS ditambahkan ke daftar putih database atau aturan security group ECS, risiko keamanan mungkin timbul. Sebelum memulai sinkronisasi, lakukan langkah pencegahan seperti memperkuat keamanan username dan password, membatasi port yang terbuka, mengautentikasi panggilan API, serta melakukan audit rutin terhadap aturan daftar putih. Sebagai alternatif, hubungkan database Anda ke DTS melalui Express Connect, VPN Gateway, atau Smart Access Gateway.

Konfigurasi tugas sinkronisasi

Menyiapkan tugas sinkronisasi melibatkan tiga tahap: membeli dan mengonfigurasi instans DTS, memilih objek yang akan disinkronkan, serta mengonfigurasi pengaturan tabel khusus AnalyticDB for PostgreSQL.

Langkah 1: Beli dan konfigurasi instans DTS

  1. Beli instans DTS. Pada halaman pembelian, atur:

    • Instans Sumber: SQL Server

    • Instans Tujuan: AnalyticDB for PostgreSQL

    • Topologi Sinkronisasi: Sinkronisasi Satu Arah

  2. Masuk ke Konsol DTS.

  3. Di panel navigasi kiri, klik Data Synchronization.

  4. Di bagian atas halaman Synchronization Tasks, pilih wilayah tempat instans tujuan berada.

  5. Temukan instans sinkronisasi dan klik Configure Synchronization Channel di kolom Actions.

  6. Konfigurasi instans sumber dan tujuan.

    BagianParameterDeskripsi
    N/ANama tugas sinkronisasiNama untuk tugas ini. Gunakan nama deskriptif agar mudah diidentifikasi. Nama tugas tidak perlu unik.
    Detail instans sumberTipe instansPilih RDS Instance.
    Wilayah instansWilayah sumber yang dipilih di halaman pembelian. Hanya-baca.
    ID instansID instans ApsaraDB RDS for SQL Server sumber.
    Akun databaseAkun dengan izin tingkat owner pada database sumber.
    Kata Sandi DatabasePassword untuk akun database tersebut.
    EnkripsiPilih Non-encrypted atau SSL-encrypted. Untuk menggunakan enkripsi SSL, aktifkan enkripsi SSL pada instans RDS terlebih dahulu.
    Catatan

    Parameter Encryption hanya tersedia untuk wilayah di Tiongkok daratan dan wilayah China (Hong Kong).

    Detail instans tujuanTipe instansTetap sebagai AnalyticDB for PostgreSQL.
    Wilayah instansWilayah tujuan yang dipilih di halaman pembelian. Hanya-baca.
    ID instansID instans AnalyticDB for PostgreSQL tujuan.
    Nama databaseNama database tujuan.
    Akun databaseAkun dengan izin yang diperlukan pada instans tujuan.
    Kata sandi databasePassword untuk akun database tersebut.

    Configure the source and destination instances

  7. Klik Set Whitelist and Next di pojok kanan bawah. DTS secara otomatis menambahkan blok CIDR servernya ke daftar putih alamat IP instans database Alibaba Cloud dan ke aturan security group database yang di-host di ECS. Untuk database yang dikelola sendiri di pusat data atau platform cloud pihak ketiga, tambahkan blok CIDR tersebut secara manual. Lihat Tambahkan blok CIDR server DTS.

Langkah 2: Pilih kebijakan dan objek sinkronisasi

  1. Konfigurasikan kebijakan sinkronisasi dan pilih objek yang akan disinkronkan.

    Persyaratan untuk penggabungan tabel

    Saat Merge Multi Tables diatur ke Yes:

    • Tambahkan kolom bernama __dts_data_source (tipe data: TEXT) ke tabel tujuan. DTS menggunakan kolom ini untuk mencatat sumber setiap baris dalam format: <ID instans sinkronisasi data>:<Nama database sumber>.<Nama skema sumber>.<Nama tabel sumber>. Contoh: dts********:dtstestdata.testschema.customer1.

    • Gunakan pemetaan nama objek untuk mengganti nama semua tabel sumber yang dipilih menjadi nama tabel tujuan di AnalyticDB for PostgreSQL.

    • Semua tabel sumber yang dipilih dalam tugas digabungkan ke dalam satu tabel tujuan yang sama. Untuk mengecualikan tabel tertentu dari penggabungan, buat tugas sinkronisasi terpisah untuk tabel-tabel tersebut.

    PengaturanDeskripsi
    Inisialisasi sinkronisasiInitial Schema Synchronization, Initial Full Data Synchronization, dan Initial Incremental Data Synchronization dipilih secara default. DTS menyinkronkan skema dan data yang ada sebelum memulai sinkronisasi inkremental.
    Mode pemrosesan jika tabel tujuan sudah adaPre-check and Intercept: gagal dalam pemeriksaan awal jika database tujuan memiliki tabel dengan nama yang sama seperti tabel sumber. Gunakan pemetaan nama objek untuk mengganti nama tabel yang bentrok. Ignore Errors and Proceed: melewati pemeriksaan awal untuk nama tabel duplikat. Jika skema cocok, DTS melewatkan catatan dengan kunci primer duplikat. Jika skema berbeda, tugas mungkin gagal atau hanya menyinkronkan sebagian kolom.
    Merge multi tablesYes: menggabungkan beberapa tabel sumber dengan skema yang sama ke dalam satu tabel tujuan. Berguna untuk skenario sharding OLTP di mana Anda ingin mengkonsolidasi data di AnalyticDB for PostgreSQL. Lihat persyaratan untuk penggabungan tabel di bawah. No (default): setiap tabel sumber dipetakan ke tabel tujuan masing-masing.
    Pilih jenis operasiPilih jenis operasi yang ingin Anda sinkronkan sesuai kebutuhan bisnis. Semua jenis operasi dipilih secara default.
    Pilih objek yang akan disinkronkanPilih objek dari bagian Available dan pindahkan ke bagian Selected. Karena ini adalah sinkronisasi database heterogen, hanya tabel yang disinkronkan—view, trigger, dan prosedur tersimpan tidak disinkronkan. Gunakan pemetaan nama objek untuk mengganti nama objek di instans tujuan.
    Tambahkan tanda kutip pada objek tujuanPilih Yes jika salah satu kondisi berikut berlaku: lingkungan database sumber bersifat case-sensitive dengan nama campuran huruf besar-kecil; nama tabel diawali karakter non-huruf atau mengandung karakter yang tidak didukung (karakter khusus yang diizinkan: underscore _, tanda pagar #, tanda dolar $); atau nama objek merupakan kata kunci yang dicadangkan di database tujuan. Setelah DTS menyinkronkan data, rujuk objek yang dikutip menggunakan nama yang dikutip tersebut.
    Ganti nama database dan tabelGunakan pemetaan nama objek untuk mengganti nama objek di instans tujuan.
    Waktu coba ulang untuk koneksi yang gagalDTS mencoba ulang koneksi yang gagal selama 720 menit (12 jam) secara default. Sesuaikan berdasarkan kebutuhan Anda.

    Select the synchronization policy and the objects to be synchronized

Langkah 3: Konfigurasi pengaturan tabel AnalyticDB for PostgreSQL

  1. Tentukan tipe tabel, kolom kunci primer, dan kunci distribusi untuk setiap tabel yang akan disinkronkan ke instans AnalyticDB for PostgreSQL. Untuk informasi lebih lanjut tentang kolom kunci primer dan kolom distribusi, lihat Kelola tabel dan Definisikan distribusi tabel.

    Specify the table type, primary key column, and distribution key

  2. Klik Precheck di pojok kanan bawah. DTS menjalankan pemeriksaan awal sebelum memulai tugas sinkronisasi. Jika ada item yang gagal:

    1. Klik ikon di samping item yang gagal untuk melihat detailnya.

    2. Perbaiki masalah berdasarkan detail tersebut, lalu mulai pemeriksaan awal baru.

    3. Untuk melewati masalah tanpa memperbaikinya, pilih ignore the failed items, lalu pilih initiate a new precheck.

  3. Tutup dialog Precheck setelah muncul pesan The precheck is passed. Tugas sinkronisasi akan dimulai secara otomatis.

  4. Tunggu hingga sinkronisasi awal selesai dan status tugas berubah menjadi Synchronizing. Pantau status tugas di halaman Synchronization Tasks.

    View the status of a data synchronization task

FAQ

Di mana tabel yang disinkronkan muncul di instans AnalyticDB for PostgreSQL?

Selama sinkronisasi skema, DTS membuat tabel di database tujuan menggunakan struktur skema yang sama seperti database sumber. Misalnya, jika Anda menyinkronkan tabel customer dan Student dari skema dbo database dtstestdata, Anda dapat menemukan tabel-tabel tersebut di skema dbo instans tujuan.

View destination tables in AnalyticDB for PostgreSQL

Topik terkait