全部产品
Search
文档中心

Data Transmission Service:Sinkronkan data dari database SQL Server yang dikelola sendiri ke instance AnalyticDB for PostgreSQL

更新时间:Dec 05, 2025

Topik ini menjelaskan cara menyinkronkan data dari database SQL Server yang dikelola sendiri ke instance AnalyticDB for PostgreSQL menggunakan Data Transmission Service (DTS).

Prasyarat

  • Versi database SQL Server yang dikelola sendiri didukung oleh DTS. Untuk informasi lebih lanjut, lihat Ikhtisar Skenario Sinkronisasi Data.

  • Instance tujuan AnalyticDB for PostgreSQL telah dibuat. Untuk informasi lebih lanjut, lihat Buat Instance.

  • Ruang penyimpanan yang tersedia di instance tujuan AnalyticDB for PostgreSQL lebih besar daripada total ukuran data di database SQL Server yang dikelola sendiri.

  • Jika instance ApsaraDB RDS for SQL Server sumber memenuhi salah satu kondisi berikut, kami menyarankan Anda untuk membagi tugas sinkronisasi menjadi beberapa subtugas:

    • Instance sumber berisi lebih dari 10 database.

    • Database tunggal dari instance sumber mencadangkan lognya dengan interval kurang dari 1 jam.

    • Database tunggal dari instance sumber mengeksekusi lebih dari 100 pernyataan DDL setiap jam.

    • Log ditulis dengan laju 20 MB/s untuk database tunggal dari instance sumber.

    • Fitur change data capture (CDC) perlu diaktifkan untuk lebih dari 1.000 tabel di instance ApsaraDB RDS for SQL Server sumber.

Batasan

Catatan
  • Selama sinkronisasi skema, DTS menyinkronkan kunci asing dari database sumber ke database tujuan.

  • Selama sinkronisasi data penuh dan sinkronisasi data tambahan, DTS sementara menonaktifkan pengecekan kendala dan operasi kaskade pada kunci asing di tingkat sesi. Jika Anda melakukan operasi pembaruan dan penghapusan kaskade pada database sumber selama sinkronisasi data, ketidaksesuaian data mungkin terjadi.

Tipe

Deskripsi

Batasan pada database sumber

  • Tabel yang akan disinkronkan harus memiliki kendala PRIMARY KEY atau UNIQUE dan semua bidang harus unik. Jika tidak, database tujuan mungkin berisi catatan data duplikat.

  • Jika Anda memilih tabel sebagai objek yang akan disinkronkan dan ingin mengedit tabel di database tujuan, seperti mengganti nama kolom tabel, Anda dapat menyinkronkan hingga 5.000 tabel dalam satu tugas sinkronisasi data. Jika Anda menjalankan tugas untuk menyinkronkan lebih dari 5.000 tabel, kesalahan permintaan mungkin terjadi. Dalam hal ini, kami sarankan Anda membagi tabel untuk disinkronkan, mengonfigurasi beberapa tugas untuk menyinkronkan tabel, atau mengonfigurasi tugas untuk menyinkronkan seluruh database.

  • Satu tugas sinkronisasi data dapat menyinkronkan data dari hingga 10 database. Jika Anda ingin menyinkronkan data dari lebih dari 10 database, kami sarankan Anda membagi tabel untuk disinkronkan dan mengonfigurasi beberapa tugas. Jika tidak, kinerja dan stabilitas tugas sinkronisasi data Anda mungkin terganggu.

  • DTS menggunakan fungsi fn_log untuk mendapatkan log dari database sumber. Namun, fungsi ini memiliki hambatan kinerja. Oleh karena itu, kami sarankan Anda jangan membersihkan log database sumber terlalu dini. Jika tidak, tugas mungkin gagal.

  • Persyaratan berikut untuk log data harus dipenuhi:

    • Fitur pencatatan data harus diaktifkan. Mode cadangan harus diatur ke Penuh dan cadangan fisik penuh harus dilakukan.

    • Jika Anda hanya melakukan sinkronisasi data tambahan, log data dari database sumber harus disimpan selama lebih dari 24 jam. Jika Anda melakukan sinkronisasi data penuh dan sinkronisasi data tambahan, log data dari database sumber harus disimpan setidaknya selama tujuh hari. Setelah sinkronisasi data penuh selesai, Anda dapat mengatur periode retensi menjadi lebih dari 24 jam. Jika tidak, DTS mungkin gagal mendapatkan log data dan tugas mungkin gagal. Dalam keadaan luar biasa, ketidaksesuaian data atau kehilangan data mungkin terjadi. Pastikan Anda mengatur periode retensi log data berdasarkan persyaratan yang disebutkan di atas. Jika tidak, keandalan layanan atau kinerja yang dinyatakan dalam Perjanjian Tingkat Layanan (SLA) DTS tidak dapat dijamin.

  • Jika CDC perlu diaktifkan untuk tabel yang akan disinkronkan dari database sumber, pastikan tabel memenuhi persyaratan berikut. Jika tidak, pra-pemeriksaan gagal.

    • Nilai bidang srvname dalam tampilan sys.sysservers sama dengan nilai balik fungsi SERVERPROPERTY.

    • Jika database sumber adalah database SQL Server yang dikelola sendiri, pemilik database harus menjadi pengguna sa. Jika database sumber adalah database RDS SQL Server, pemilik database harus menjadi pengguna sqlsa.

    • Jika database sumber adalah edisi Enterprise, Anda harus menggunakan SQL Server 2008 atau yang lebih baru.

    • Jika database sumber adalah edisi Standard, Anda harus menggunakan SQL Server 2016 SP1 atau yang lebih baru.

    • Jika database sumber adalah versi SQL Server 2017 (termasuk edisi Standard dan Enterprise), kami sarankan Anda memperbarui versinya.

  • Jika database sumber adalah instance baca-saja, Anda tidak dapat menyinkronkan operasi DDL.

  • Jika database sumber adalah Azure SQL Database, tugas sinkronisasi data dapat menyinkronkan data dari hanya satu database.

  • Jika database sumber adalah RDS for SQL Server, nonaktifkan fitur Transparent Data Encryption (TDE) untuk memastikan stabilitas tugas sinkronisasi data. Untuk informasi lebih lanjut, lihat Nonaktifkan TDE.

  • Dalam mode penguraian berbasis log hybrid, Anda tidak dapat melakukan beberapa operasi untuk menambahkan kolom ke atau menghapus kolom dari database sumber dalam waktu 10 menit. Misalnya, jika Anda mengeksekusi pernyataan SQL berikut dalam waktu 10 menit, kesalahan dilaporkan untuk tugas.

    ALTER TABLE test_table DROP COLUMN Flag;
    ALTER TABLE test_table ADD Remark nvarchar(50) not null default('');
  • Selama sinkronisasi skema dan sinkronisasi data penuh, jangan eksekusi pernyataan DDL untuk mengubah skema database atau tabel. Jika tidak, tugas sinkronisasi data gagal.

  • Jika database sumber adalah RDS SQL Server berbasis web, Anda harus mengatur SQL Server Incremental Synchronization Mode ke Incremental Synchronization Based on Logs of Source Database (Heap tables are not supported) saat mengonfigurasi task.

  • Kami sarankan Anda menggunakan parameter READ_COMMITTED_SNAPSHOT dari mode pemrosesan transaksi di database sumber selama sinkronisasi data penuh. Ini dapat mencegah dampak kunci bersama pada penulisan data. Jika Anda tidak mengatur parameter, pengecualian seperti data tidak konsisten dan instance yang gagal berjalan terjadi. Masalah yang timbul dalam keadaan seperti itu tidak dicakup oleh perjanjian tingkat layanan (SLA) DTS.

Batasan lainnya

  • Persyaratan untuk objek yang akan disinkronkan:

    • DTS mendukung sinkronisasi skema awal untuk jenis objek berikut: skema, tabel, tampilan, fungsi, dan prosedur.

      Peringatan

      Karena skenario ini melibatkan sinkronisasi data antara database heterogen, tipe data tidak dapat dipetakan satu-satu, yang dapat menyebabkan kegagalan tugas atau kehilangan data. Harap evaluasi secara hati-hati dampak hubungan pemetaan tipe data pada bisnis Anda. Untuk informasi lebih lanjut, lihat Pemetaan tipe data untuk sinkronisasi skema awal.

    • DTS tidak menyinkronkan skema objek berikut: assembly, service broker, indeks teks penuh, katalog teks penuh, skema terdistribusi, fungsi terdistribusi, prosedur tersimpan CLR, fungsi skalar CLR, fungsi tabel bernilai CLR, tabel internal, sistem, dan fungsi agregat.

    • DTS tidak menyinkronkan jenis data berikut: CURSOR, ROWVERSION, SQL_VARIANT, HIERARCHYID, POLYGON, GEOMETRY, GEOGRAPHY, dan tipe data kustom dengan menjalankan perintah CREATE TYPE.

    • DTS tidak menyinkronkan tabel yang berisi kolom terhitung.

    • DTS tidak menyinkronkan INDEX, VIEW, PROCEDURE, FUNCTION, TRIGGER, FK, INDEX, FULL_TEXT_INDEX, DATATYPE, DEFAULT, SYNONYM, CATALOG, PLAN_GUIDE, DEFAULT_CONSTRAINT, UK, CK, dan SEQUENCE.

  • Jika tabel yang akan disinkronkan memiliki kunci utama, kolom kunci utama tabel tujuan harus sama dengan kolom kunci utama tabel sumber. Jika tabel yang akan disinkronkan tidak memiliki kunci utama, kolom kunci utama tabel tujuan harus sama dengan kolom kunci distribusi.

  • Kolom kunci unik (termasuk kolom kunci utama) dari tabel tujuan harus mencakup semua kolom kunci distribusi.

  • ika Anda mengatur SQL Server Incremental Synchronization Mode ke Incremental Synchronization Based on Logs of Source Database (Heap tables are not supported) pada tahap Configure Objects, tabel yang akan disinkronkan harus memiliki indeks terkluster yang mencakup kolom kunci primer. Sinkronisasi tidak didukung untuk heap table, tabel tanpa kunci primary, tabel terkompresi, tabel dengan kolom terkomputasi, atau tabel dengan kolom sparse. Pembatasan-pembatasan ini tidak berlaku dalam mode hybrid log parsing.

  • Pada tahap Configure Objects, jika Anda mengatur SQL Server Incremental Synchronization Mode ke Log-based Parsing for Non-heap Tables and CDC-based Incremental Synchronization for Heap Tables (Hybrid Log-based Parsing), pembatasan berikut juga berlaku:

    • DTS menggunakan komponen CDC untuk menyinkronkan data tambahan. Pastikan pekerjaan CDC di database sumber berjalan sesuai harapan. Jika tidak, tugas DTS gagal.

    • Komponen CDC dapat menyimpan data tambahan selama 3 hari secara default. Anda dapat menyesuaikan periode retensi dengan menjalankan perintah exec console.sys.sp_cdc_change_job @job_type = 'cleanup', @retention= <time>;.

      Catatan
      • <time> menunjukkan waktu, dalam menit.

      • Jika jumlah rata-rata data tambahan harian dalam tabel tunggal database sumber melebihi 10 juta, kami sarankan mengatur parameter <time> ke 1.440.

    • Modul pra-tugas sinkronisasi data tambahan di DTS mengaktifkan CDC tingkat database dan tingkat tabel di database sumber. Dalam proses ini, tabel terkunci yang berlangsung beberapa detik terjadi di database sumber karena batasan database SQL Server.

    • Kami sarankan Anda menentukan tugas sinkronisasi data yang berisi tidak lebih dari 1.000 tabel untuk mana CDC diaktifkan. Jika tidak, tugas mungkin tertunda atau tidak stabil.

  • Jika Anda mengatur SQL Server Incremental Synchronization Mode ke Polling and querying CDC instances for incremental synchronization pada tahap Configure Objects, pembatasan berikut juga berlaku:

    • Akun database sumber yang digunakan oleh instance DTS harus memiliki izin untuk mengaktifkan fitur CDC. Untuk mengaktifkan CDC tingkat database, Anda harus menggunakan akun yang ditugaskan peran sysadmin. Untuk mengaktifkan CDC tingkat tabel, Anda harus menggunakan akun istimewa.

      Catatan
      • Akun dengan hak istimewa tertinggi (administrator server) yang disediakan oleh konsol Azure SQL Database memenuhi persyaratan. Untuk database yang dibeli berdasarkan model vCore, semua spesifikasi mendukung pengaktifan CDC; untuk database yang dibeli berdasarkan model DTU, spesifikasi harus S3 atau lebih tinggi untuk mendukung pengaktifan CDC.

      • Akun istimewa instance Amazon RDS for SQL Server memiliki izin yang diperlukan. CDC dapat diaktifkan untuk prosedur tersimpan di tingkat database.

      • CDC tidak dapat diaktifkan untuk indeks kolom terkluster.

      • Modul pra-tugas sinkronisasi data tambahan di DTS mengaktifkan CDC tingkat database dan tingkat tabel di database sumber. Dalam proses ini, tabel terkunci yang berlangsung beberapa detik terjadi di database sumber karena batasan database SQL Server.

    • DTS mendapatkan data tambahan dengan melakukan query round-robin pada instance CDC setiap tabel di database sumber. Oleh karena itu, jumlah tabel yang akan disinkronkan dari database sumber tidak boleh melebihi 1.000. Jika tidak, tugas mungkin tertunda atau tidak stabil.

    • Komponen CDC dapat menyimpan data tambahan selama 3 hari secara default. Anda dapat menyesuaikan periode retensi dengan menjalankan perintah exec console.sys.sp_cdc_change_job @job_type = 'cleanup', @retention= <time>;.

    • Catatan
      • <time> menunjukkan waktu, dalam menit.

      • Jika jumlah rata-rata data tambahan harian dalam tabel tunggal database sumber melebihi 10 juta, kami sarankan mengatur parameter <time> ke 1.440.

    • Anda tidak dapat mengeksekusi pernyataan DDL untuk menambah atau menghapus kolom lebih dari dua kali dalam satu menit. Jika tidak, tugas sinkronisasi data mungkin gagal.

    • Selama sinkronisasi data, Anda tidak dapat memodifikasi instance CDC dari database sumber. Jika tidak, tugas sinkronisasi data mungkin gagal atau kehilangan data mungkin terjadi.

  • Untuk memastikan akurasi latensi sinkronisasi data tambahan, dalam mode sinkronisasi tambahan berbasis penguraian log sumber, DTS membuat pemicu dts_cdc_sync_ddl, tabel denyut jantung dts_sync_progress, dan tabel penyimpanan DDL dts_cdc_ddl_history di database sumber; dalam mode sinkronisasi tambahan hybrid, DTS membuat pemicu dts_cdc_sync_ddl, tabel denyut jantung dts_sync_progress, tabel penyimpanan DDL dts_cdc_ddl_history, dan mengaktifkan CDC tingkat database dan CDC untuk beberapa tabel di database sumber. Kami sarankan agar laju perubahan data untuk tabel dengan CDC diaktifkan di database sumber tidak melebihi 1.000 rekaman per detik (RPS).

  • Sebelum Anda menyinkronkan data, evaluasi dampak sinkronisasi data pada kinerja database sumber dan tujuan. Kami sarankan Anda menyinkronkan data selama jam-jam sepi. Selama sinkronisasi data penuh awal, DTS menggunakan sumber daya baca dan tulis dari database sumber dan tujuan. Ini dapat meningkatkan beban pada server database.

  • Selama sinkronisasi data penuh, operasi INSERT konkuren menyebabkan fragmentasi di tabel database tujuan. Setelah sinkronisasi data penuh selesai, ruang tabel database tujuan lebih besar daripada ruang tabel database sumber.

  • Selama sinkronisasi data, ketidaksesuaian data antara database sumber dan tujuan terjadi jika data dari sumber lain ditulis ke database tujuan. Misalnya, jika Anda menggunakan DMS untuk mengeksekusi pernyataan DDL online sementara data dari sumber lain ditulis ke database tujuan, kehilangan data mungkin terjadi di database tujuan.

  • Jika Anda memilih tabel sebagai objek yang akan disinkronkan, Anda dapat memodifikasi hubungan pemetaan antara kolom. Jika pemetaan kolom digunakan untuk sinkronisasi bukan tabel penuh atau jika skema tabel sumber dan tujuan tidak konsisten, data di kolom database sumber yang tidak termasuk dalam database tujuan hilang.

  • Jika tugas sinkronisasi data melibatkan sinkronisasi data tambahan, DTS tidak mengizinkan Anda melakukan operasi reindexing. Jika Anda melakukan operasi reindexing, tugas sinkronisasi data mungkin gagal dan kehilangan data mungkin terjadi.

    Catatan

    DTS tidak dapat menyinkronkan operasi DDL yang terkait dengan kunci utama tabel untuk mana CDC diaktifkan.

  • Jika jumlah tabel untuk mana CDC diaktifkan dalam tugas sinkronisasi data lebih besar dari jumlah yang diatur dalam The maximum number of tables for which CDC is enabled that DTS supports, pra-pemeriksaan gagal.

  • Jika data dari bidang tunggal yang ditulis ke tabel untuk mana CDC diaktifkan melebihi 64 KB, Anda harus menggunakan perintah exec sp_configure 'max text repl size', -1; untuk mengonfigurasi database sumber.

    Catatan

    Secara default, panjang maksimum bidang tunggal dalam pekerjaan CDC yang dapat diproses adalah 64 KB.

  • Saat Anda memodifikasi objek yang akan disinkronkan, Anda tidak dapat menghapus database.

  • Modul pengumpulan data tambahan dari beberapa instance sinkronisasi data yang berbagi database SQL Server sumber independen satu sama lain.

  • Jika instance gagal berjalan, personel dukungan teknis DTS akan mencoba memulihkan instance dalam waktu 8 jam. Selama proses pemulihan, instance mungkin di-restart atau parameter mungkin disesuaikan.

    Catatan

    Saat parameter disesuaikan, hanya parameter instance DTS yang dimodifikasi. Parameter database tidak dimodifikasi. Parameter yang mungkin dimodifikasi termasuk tetapi tidak terbatas pada parameter dalam Ubah parameter instance.

Kasus khusus

Jika instance sumber adalah instance RDS for SQL Server, DTS secara otomatis membuat akun bernama rdsdt_dtsacct pada instance RDS for SQL Server. Akun ini digunakan untuk sinkronisasi data. Jangan hapus akun ini atau ubah kata sandi akun ini saat tugas sinkronisasi data Anda sedang berjalan. Jika tidak, tugas mungkin gagal. Untuk informasi lebih lanjut, lihat Akun sistem.

Penagihan

Tipe Sinkronisasi

Biaya Konfigurasi Tugas

Sinkronisasi Skema dan Sinkronisasi Data Penuh

Gratis.

Sinkronisasi Data Tambahan

Dikenakan biaya. Untuk informasi lebih lanjut, lihat Ikhtisar Penagihan.

Topologi Sinkronisasi yang Didukung

  • Sinkronisasi satu arah satu-ke-satu

  • Sinkronisasi satu arah satu-ke-banyak

  • Sinkronisasi satu arah banyak-ke-satu

Untuk informasi lebih lanjut tentang topologi sinkronisasi yang didukung oleh DTS, lihat Topologi Sinkronisasi.

Operasi SQL yang dapat disinkronkan

Tipe Operasi

Pernyataan SQL

DML

INSERT, UPDATE, dan DELETE

DDL

  • CREATE TABLE

    Catatan

    Jika operasi CREATE TABLE membuat tabel terpartisi atau tabel yang berisi fungsi, DTS tidak menyinkronkan operasi tersebut.

  • ADD COLUMN dan DROP COLUMN

  • DROP TABLE

  • CREATE INDEX dan DROP INDEX

Catatan
  • DTS tidak menyinkronkan operasi DDL yang berisi tipe data yang ditentukan pengguna.

  • DTS tidak menyinkronkan operasi DDL transaksional.

Izin yang diperlukan untuk akun database

Database

Izin yang Diperlukan

Referensi

Database SQL Server yang dikelola sendiri

sysadmin

CREATE USER dan GRANT (Transact-SQL)

AnalyticDB for PostgreSQL instance

  • 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 (izin untuk melakukan operasi salin berbasis memori)

Catatan

Anda dapat menggunakan akun awal dari instance AnalyticDB for PostgreSQL.

Buat dan kelola akun database dan Kelola pengguna dan izin

Persiapan

Sebelum mengonfigurasi tugas sinkronisasi data, konfigurasikan pengaturan log dan buat indeks terkluster pada database SQL Server yang dikelola sendiri.

Penting

Jika Anda perlu menyinkronkan data dari beberapa database, ulangi Langkah 1 hingga 3 untuk setiap database. Jika tidak, ketidaksesuaian data mungkin terjadi.

  1. Eksekusi pernyataan berikut pada database SQL Server yang dikelola sendiri untuk mengubah model pemulihan menjadi penuh. Anda juga dapat mengubah model pemulihan menggunakan SQL Server Management Studio (SSMS). Untuk informasi lebih lanjut, lihat Lihat atau Ubah Model Pemulihan Database (SQL Server).

    use master;
    GO
    ALTER DATABASE <database_name> SET RECOVERY FULL WITH ROLLBACK IMMEDIATE;
    GO

    Parameter:

    <database_name>: nama database sumber.

    Contoh:

    use master;
    GO
    ALTER DATABASE mytestdata SET RECOVERY FULL WITH ROLLBACK IMMEDIATE;
    GO
  2. Eksekusi pernyataan berikut untuk membuat cadangan logis untuk database sumber. Lewati langkah ini jika Anda sudah membuat cadangan logis.

    BACKUP DATABASE <database_name> TO DISK='<physical_backup_device_name>';
    GO

    Parameter:

    • <database_name>: nama database sumber.

    • <physical_backup_device_name>: jalur penyimpanan dan nama file cadangan.

    Contoh:

    BACKUP DATABASE mytestdata TO DISK='D:\backup\dbdata.bak';
    GO
  3. Eksekusi pernyataan berikut untuk membuat cadangan log untuk database sumber.

    BACKUP LOG <database_name> to DISK='<physical_backup_device_name>' WITH init;
    GO

    Parameter:

    • <database_name>: nama database sumber.

    • <physical_backup_device_name>: jalur penyimpanan dan nama file cadangan.

    Contoh:

    BACKUP LOG mytestdata TO DISK='D:\backup\dblog.bak' WITH init;
    GO

Prosedur

  1. Pergi ke Halaman Sinkronisasi Data Konsol DTS Baru.

    Catatan

    Anda juga dapat masuk ke Konsol DMS. Di bilah navigasi atas, gerakkan penunjuk mouse ke Data + AI dan pilih DTS (DTS) > Data Synchronization.

  2. Di sudut kiri atas halaman, pilih wilayah tempat instance sinkronisasi data berada.

  3. Klik Create Task. Di wizard Buat Tugas Sinkronisasi Data, konfigurasikan database sumber dan tujuan. Tabel berikut menjelaskan parameter.

    Bagian

    Parameter

    Deskripsi

    N/A

    Task Name

    Nama tugas DTS. DTS secara otomatis menghasilkan nama tugas. Kami sarankan Anda menentukan nama deskriptif yang memudahkan identifikasi tugas. Anda tidak perlu menentukan nama tugas unik.

    Source Database

    Database Type

    Tipe database sumber. Pilih SQL Server.

    Connection Type

    Metode akses database sumber. Pilih Self-managed Database on ECS.

    Instance Region

    Wilayah tempat database SQL Server mandiri berada.

    ECS Instance ID

    ID instance Elastic Compute Service (ECS) yang menampung database SQL Server mandiri.

    Database Account

    Akun database SQL Server mandiri. Untuk informasi tentang izin yang diperlukan untuk akun tersebut, lihat Izin yang diperlukan untuk akun database.

    Database Password

    Kata sandi yang digunakan untuk mengakses database.

    Connection Method

    Menentukan apakah akan mengenkripsi koneksi ke database. Anda dapat memilih Non-encrypted atau SSL-encrypted berdasarkan kebutuhan bisnis Anda.

    Destination Database

    Database Type

    Tipe database tujuan. Pilih AnalyticDB PostgreSQL.

    Connection Type

    Metode akses database tujuan. Pilih Alibaba Cloud Instance.

    Instance Region

    Wilayah tempat kluster tujuan AnalyticDB for PostgreSQL berada.

    Instance ID

    ID instance tujuan AnalyticDB for PostgreSQL.

    Database Name

    Nama database tujuan di instance tujuan AnalyticDB for PostgreSQL.

    Database Account

    Akun database instance tujuan AnalyticDB for PostgreSQL. Untuk informasi tentang izin yang diperlukan untuk akun tersebut, lihat Izin yang diperlukan untuk akun database.

    Database Password

    Kata sandi yang digunakan untuk mengakses database.

  4. Di bagian bawah halaman, klik Test Connectivity and Proceed.

    Jika database sumber atau tujuan adalah instance database Alibaba Cloud, seperti instance ApsaraDB RDS for MySQL atau instance ApsaraDB for MongoDB, DTS secara otomatis menambahkan blok CIDR server DTS ke daftar putih instance tersebut. Jika database sumber atau tujuan adalah database mandiri yang di-hosting pada instance Elastic Compute Service (ECS), DTS secara otomatis menambahkan blok CIDR server DTS ke aturan grup keamanan instance ECS, dan Anda harus memastikan bahwa instance ECS dapat mengakses database. Jika database diterapkan pada beberapa instance ECS, Anda harus secara manual menambahkan blok CIDR server DTS ke aturan grup keamanan setiap instance ECS. Jika database sumber atau tujuan adalah database mandiri yang diterapkan di pusat data atau disediakan oleh penyedia layanan cloud pihak ketiga, Anda harus secara manual menambahkan blok CIDR server DTS ke daftar putih database untuk mengizinkan DTS mengakses database. Untuk informasi lebih lanjut, lihat bagian "Blok CIDR server DTS" dari topik Tambahkan Blok CIDR server DTS.

    Peringatan

    Jika blok CIDR server DTS ditambahkan secara otomatis atau manual ke daftar putih database atau instance, atau ke aturan grup keamanan ECS, risiko keamanan mungkin timbul. Oleh karena itu, sebelum Anda menggunakan DTS untuk menyinkronkan data, Anda harus memahami dan mengakui risiko potensial dan mengambil tindakan pencegahan, termasuk tetapi tidak terbatas pada langkah-langkah berikut: meningkatkan keamanan nama pengguna dan kata sandi Anda, membatasi port yang diekspos, mengotentikasi panggilan API, secara berkala memeriksa daftar putih atau aturan grup keamanan ECS dan melarang blok CIDR yang tidak sah, atau menghubungkan database ke DTS dengan menggunakan Express Connect, VPN Gateway, atau Smart Access Gateway.

  5. Konfigurasikan objek yang akan disinkronkan dan pengaturan lanjutan.

    Parameter

    Deskripsi

    Synchronization Type

    Tipe sinkronisasi. Secara default, Incremental Data Synchronization dipilih. Anda juga harus memilih Schema Synchronization dan Full Data Synchronization. Setelah pra-pemeriksaan selesai, DTS menyinkronkan data historis objek yang dipilih dari database sumber ke kluster tujuan. Data historis ini adalah dasar untuk sinkronisasi tambahan selanjutnya.

    Processing Mode for Existing Destination Tables

    • Precheck and Report Errors: memeriksa apakah database tujuan berisi tabel yang memiliki nama yang sama dengan tabel di database sumber. Jika database sumber dan tujuan tidak berisi tabel dengan nama tabel identik, pra-pemeriksaan berhasil. Jika tidak, kesalahan dilaporkan selama pra-pemeriksaan, dan tugas sinkronisasi data tidak dapat dimulai.

      Catatan

      Jika database sumber dan tujuan berisi tabel dengan nama identik dan tabel di database tujuan tidak dapat dihapus atau diganti namanya, Anda dapat menggunakan fitur pemetaan nama objek untuk mengganti nama tabel yang disinkronkan ke database tujuan. Untuk informasi lebih lanjut, lihat Pemetaan Nama Objek.

    • Ignore Errors and Proceed: melewati pemeriksaan awal untuk nama tabel yang identik di database sumber dan tujuan.

      Peringatan

      Jika Anda memilih Ignore Errors and Proceed, ketidaksesuaian data mungkin terjadi dan bisnis Anda mungkin terpapar risiko potensial.

      • Jika database sumber dan tujuan memiliki skema yang sama dan sebuah catatan data di database tujuan memiliki nilai kunci primer atau nilai kunci unik yang sama dengan catatan data di database sumber:

        • Selama sinkronisasi data penuh, DTS tidak menyinkronkan catatan data ke database tujuan. Catatan data yang ada di database tujuan dipertahankan.

        • Selama sinkronisasi data tambahan, DTS menyinkronkan catatan data ke database tujuan. Catatan data yang ada di database tujuan ditimpa.

      • Jika database sumber dan tujuan memiliki skema yang berbeda, data mungkin gagal diinisialisasi. Dalam kasus ini, hanya beberapa kolom yang disinkronkan, atau instance sinkronisasi data gagal. Lanjutkan dengan hati-hati.

    Select DDL and DML for Instance-Level Synchronization

    Operasi DDL dan DML yang ingin Anda sinkronkan. Untuk informasi lebih lanjut, lihat Operasi SQL yang dapat disinkronkan.

    Catatan

    Untuk memilih operasi SQL yang dilakukan pada database atau tabel tertentu, lakukan langkah-langkah berikut: Di bagian Selected Objects, klik kanan sebuah objek. Di kotak dialog yang muncul, pilih operasi SQL yang ingin Anda sinkronkan.

    SQL Server Incremental Synchronization Mode

    • Log-based Parsing for Non-heap Tables and CDC-based Incremental Synchronization for Heap Tables (Hybrid Log-based Parsing):

      • Keuntungan:

        • Mode ini mendukung tabel heap, tabel tanpa kunci utama, tabel terkompresi, dan tabel dengan kolom terhitung.

        • Mode ini memberikan stabilitas yang lebih tinggi dan berbagai pernyataan DDL lengkap.

      • Kerugian:

        • DTS membuat pemicu dts_cdc_sync_ddl, tabel denyut jantung dts_sync_progress, dan tabel penyimpanan DDL dts_cdc_ddl_history di database sumber dan mengaktifkan Change Data Capture (CDC) untuk database sumber dan tabel tertentu.

        • Anda tidak dapat mengeksekusi pernyataan SELECT INTO, TRUNCATE, atau RENAME COLUMN pada tabel dengan CDC diaktifkan di database sumber. Pemicu yang dibuat oleh DTS di database sumber tidak dapat dihapus secara manual.

    • Incremental Synchronization Based on Logs of Source Database (Heap tables are not supported):

      • Keuntungan:

        Mode ini tidak mengubah pengaturan database sumber.

      • Kerugian:

        Mode ini tidak mendukung tabel heap, tabel tanpa kunci utama, tabel terkompresi, atau tabel dengan kolom terhitung.

    • Polling and querying CDC instances for incremental synchronization:

      • Keuntungan:

        • Sinkronisasi data penuh dan sinkronisasi data tambahan didukung jika database sumber adalah instance Amazon RDS for SQL Server, database di Microsoft Azure SQL Database, Microsoft Azure SQL Managed Instance, Microsoft Azure SQL Server on Virtual Machine, atau Google Cloud SQL for SQL Server instance.

        • Anda dapat menggunakan komponen CDC asli dari SQL Server untuk mendapatkan data tambahan. Ini meningkatkan stabilitas sinkronisasi data tambahan dan mengurangi penggunaan bandwidth.

      • Kerugian:

        • Akun yang digunakan DTS untuk mengakses database sumber harus memiliki izin untuk mengaktifkan fitur CDC. Sinkronisasi data tambahan memiliki latensi 10 detik.

        • Jika Anda mengonfigurasi tugas DTS untuk menyinkronkan beberapa tabel di beberapa database, masalah stabilitas dan kinerja mungkin terjadi.

    Source Objects

    Pilih satu atau lebih objek dari bagian Source Objects dan klik ikon 向右 untuk menambahkan objek ke bagian Selected Objects.

    Catatan

    Dalam skenario ini, sinkronisasi data dilakukan antara database heterogen. Oleh karena itu, hanya tabel yang dapat disinkronkan. Objek lain seperti tampilan, pemicu, atau prosedur tersimpan tidak disinkronkan ke database tujuan.

    Selected Objects

    • Untuk mengganti nama objek yang ingin Anda sinkronkan ke instance tujuan, klik kanan objek di bagian Selected Objects. Untuk informasi lebih lanjut, lihat bagian "Pemetaan Nama Objek Tunggal" dari topik Pemetaan Nama Objek.

    • Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit di sudut kanan atas bagian Selected Objects. Untuk informasi lebih lanjut, lihat bagian "Pemetaan Beberapa Nama Objek Sekaligus" dari topik Pemetaan Nama Objek.

    Catatan
    • Untuk memilih operasi SQL yang dilakukan pada database atau tabel tertentu, klik kanan objek di bagian Selected Objects. Di kotak dialog yang muncul, pilih operasi SQL yang ingin Anda sinkronkan. Untuk informasi lebih lanjut, lihat Operasi SQL yang dapat disinkronkan.

    • Untuk menentukan kondisi WHERE untuk memfilter data, klik kanan tabel di bagian Selected Objects. Di kotak dialog yang muncul, tentukan kondisi tersebut. Untuk informasi lebih lanjut, lihat Tentukan Kondisi Filter.

    • Jika Anda menggunakan fitur pemetaan nama objek untuk mengganti nama objek, objek lain yang bergantung pada objek tersebut mungkin gagal disinkronkan.


  6. Parameter

    Deskripsi

    Monitoring and Alerting

    Menentukan apakah akan mengonfigurasi peringatan untuk instance sinkronisasi data. Jika tugas gagal atau latensi sinkronisasi melebihi ambang batas yang ditentukan, kontak peringatan akan menerima notifikasi. Nilai valid:

    • No: Tidak mengaktifkan peringatan.

    • Yes: mengonfigurasi peringatan. Dalam hal ini, Anda juga harus mengonfigurasi ambang batas peringatan dan pengaturan notifikasi peringatan. Untuk informasi lebih lanjut, lihat bagian "Konfigurasikan pemantauan dan peringatan saat Anda membuat tugas DTS" dari topik Konfigurasikan pemantauan dan peringatan.

    Retry Interval After Source or Destination Database Connection Failure

    Rentang waktu ulang untuk koneksi gagal. Jika database sumber atau tujuan gagal terhubung setelah tugas sinkronisasi data dimulai, DTS segera mencoba kembali koneksi dalam rentang waktu tersebut. Nilai valid: 10 hingga 1440. Unit: menit. Nilai default: 720. Kami sarankan Anda mengatur parameter ini ke nilai lebih besar dari 30. Jika DTS berhasil menyambung kembali ke database sumber dan tujuan dalam rentang waktu yang ditentukan, DTS melanjutkan tugas sinkronisasi data. Jika tidak, tugas sinkronisasi data gagal.

    Catatan
    • Jika Anda menentukan rentang waktu ulang yang berbeda untuk beberapa tugas sinkronisasi data yang memiliki database sumber atau tujuan yang sama, rentang waktu ulang terpendek yang diambil menjadi prioritas.

    • Saat DTS mencoba kembali koneksi, Anda akan dikenakan biaya untuk instance DTS. Kami sarankan Anda menentukan rentang waktu ulang berdasarkan kebutuhan bisnis Anda. Anda juga dapat melepaskan instance DTS sesegera mungkin setelah instance sumber dan tujuan dilepaskan.

    Retry Time for Other Issues

    Waktu ulang untuk masalah lainnya. Misalnya, jika operasi DDL atau DML gagal dilakukan setelah tugas sinkronisasi data dimulai, DTS segera mencoba lagi operasi tersebut dalam rentang waktu tersebut. Nilai valid: 1 hingga 1440. Unit: menit. Nilai default: 10. Kami sarankan Anda mengatur parameter ini ke nilai lebih besar dari 10. Jika operasi yang gagal berhasil dilakukan dalam rentang waktu yang ditentukan, DTS melanjutkan tugas sinkronisasi data. Jika tidak, tugas sinkronisasi data gagal.

    Penting

    Nilai parameter The wait time before a retry when other issues occur in the source and destination databases harus lebih kecil dari nilai parameter Retry Time for Failed Connection.

    Configure ETL

    Menentukan apakah akan mengaktifkan fitur ekstraksi, transformasi, dan pemuatan (ETL). Untuk informasi lebih lanjut, lihat Apa itu ETL? Nilai valid:

  7. Di bagian bawah halaman, klik Next: Configure Database and Table Fields. Di halaman yang muncul, atur kolom kunci utama dan kolom distribusi tabel yang ingin Anda sinkronkan ke instance tujuan AnalyticDB for PostgreSQL.

  8. Simpan pengaturan tugas dan jalankan pra-pemeriksaan.

    • Untuk melihat parameter yang harus ditentukan saat Anda memanggil operasi API terkait untuk mengonfigurasi tugas DTS, gerakkan penunjuk mouse ke Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters.

    • Jika Anda tidak perlu melihat atau telah melihat parameter, klik Next: Save Task Settings and Precheck di bagian bawah halaman.

    Catatan
    • Sebelum Anda dapat memulai tugas sinkronisasi data, DTS melakukan pra-pemeriksaan. Anda hanya dapat memulai tugas sinkronisasi data setelah tugas tersebut lulus pra-pemeriksaan.

    • Jika tugas sinkronisasi data gagal pra-pemeriksaan, klik View Details di sebelah setiap item yang gagal. Setelah Anda menganalisis penyebab berdasarkan hasil pemeriksaan, atasi masalah tersebut. Kemudian, jalankan pra-pemeriksaan ulang.

    • Jika peringatan dipicu untuk suatu item selama pra-pemeriksaan:

      • Jika item peringatan tidak dapat diabaikan, klik View Details di sebelah item yang gagal dan atasi masalah tersebut. Kemudian, jalankan pra-pemeriksaan ulang.

      • Jika item peringatan dapat diabaikan, klik Confirm Alert Details. Di kotak dialog Lihat Detail, klik Ignore. Di pesan yang muncul, klik OK. Kemudian, klik Precheck Again untuk menjalankan pra-pemeriksaan ulang. Jika Anda mengabaikan item peringatan, ketidaksesuaian data mungkin terjadi, dan bisnis Anda mungkin terpapar risiko potensial.

  9. Tunggu hingga Success Rate menjadi 100%. Kemudian, klik Next: Purchase Instance.

  10. Di halaman buy, konfigurasikan parameter Metode Penagihan dan Kelas Instance untuk tugas sinkronisasi data. Tabel berikut menjelaskan parameter.

    Bagian

    Parameter

    Deskripsi

    New Instance Class

    Metode Penagihan

    • Langganan: Anda membayar langganan saat membuat instance sinkronisasi data. Metode penagihan langganan lebih hemat biaya daripada metode penagihan bayar sesuai pemakaian untuk penggunaan jangka panjang.

    • Bayar sesuai pemakaian: Instance bayar sesuai pemakaian ditagih per jam. Metode penagihan bayar sesuai pemakaian cocok untuk penggunaan jangka pendek. Jika Anda tidak lagi memerlukan instance sinkronisasi data bayar sesuai pemakaian, Anda dapat melepaskan instance untuk mengurangi biaya.

    Pengaturan Grup Sumber Daya

    Grup sumber daya tempat instance sinkronisasi data milik. Nilai default: default resource group. Untuk informasi lebih lanjut, lihat Apa itu Manajemen Sumber Daya?

    Kelas Instance

    DTS menyediakan kelas instance yang bervariasi dalam kecepatan sinkronisasi. Anda dapat memilih kelas instance berdasarkan kebutuhan bisnis Anda. Untuk informasi lebih lanjut, lihat Kelas instance instance sinkronisasi data.

    Durasi Langganan

    Jika Anda memilih metode penagihan langganan, tentukan durasi langganan dan jumlah instance sinkronisasi data yang ingin Anda buat. Durasi langganan bisa satu hingga sembilan bulan, satu tahun, dua tahun, tiga tahun, atau lima tahun.

    Catatan

    Parameter ini hanya tersedia jika Anda memilih metode penagihan Subscription.

  11. Baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.

  12. Klik Buy and Start, lalu klik OK pada kotak dialog konfirmasi.

    Anda dapat memantau progres task di halaman data synchronization.