All Products
Search
Document Center

AnalyticDB:Menyinkronkan Database SQL Server yang Dikelola Sendiri ke AnalyticDB for PostgreSQL

Last Updated:Mar 25, 2026

Layanan Transmisi Data (DTS) mendukung sinkronisasi database SQL Server yang dikelola sendiri ke AnalyticDB for PostgreSQL, memungkinkan transfer data yang mudah untuk analitik real-time.

Prasyarat

  • Untuk informasi mengenai versi database SQL Server yang dikelola sendiri yang didukung, lihat Ikhtisar sinkronisasi.

  • Buat instance tujuan AnalyticDB for PostgreSQL. Jika belum membuatnya, lihat Buat instance.

  • Ruang penyimpanan instans tujuan AnalyticDB for PostgreSQL harus lebih besar daripada ruang penyimpanan yang digunakan oleh database SQL Server yang dikelola sendiri.

  • Pisahkan sinkronisasi menjadi beberapa tugas jika salah satu kondisi berikut berlaku pada instans sumber:

    • Jumlah database melebihi 10.

    • Backup log dilakukan pada satu database lebih dari sekali per jam.

    • Operasi DDL dilakukan pada satu database lebih dari 100 kali per jam.

    • Volume log satu database melebihi 20 MB/s.

    • Change Data Capture (CDC) perlu diaktifkan untuk lebih dari 1.000 tabel.

Catatan penting

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

  • Selama sinkronisasi data penuh dan inkremental, DTS sementara menonaktifkan pemeriksaan kendala serta operasi kaskade kunci asing pada tingkat sesi. Ketidaksesuaian data dapat terjadi jika operasi pembaruan atau penghapusan kaskade dilakukan pada database sumber saat tugas sedang berjalan.

Tipe

Deskripsi

Batasan database sumber

  • Tabel yang akan disinkronkan harus memiliki kunci primer atau kendala UNIK, dan field-field tersebut harus unik. Jika tidak, data duplikat dapat muncul di database tujuan.

  • Jika Anda menyinkronkan data pada tingkat tabel, perlu mengedit objek seperti memetakan nama kolom, dan jumlah tabel dalam satu tugas melebihi 5.000, pisahkan tabel tersebut menjadi beberapa tugas. Anda juga dapat mengonfigurasi satu tugas untuk menyinkronkan seluruh database. Jika tidak, kesalahan dapat dilaporkan setelah Anda mengirimkan tugas.

  • Satu tugas sinkronisasi mendukung maksimal 10 database. Jika melebihi batas ini, stabilitas dan kinerja dapat terganggu. Dalam kasus ini, pisahkan tabel dan konfigurasikan dalam beberapa tugas.

  • Saat mengonfigurasi tugas untuk menyinkronkan objek tertentu ke database tujuan yang sama, Anda tidak dapat memilih objek yang memiliki nama tabel yang sama tetapi nama skema berbeda.

  • DTS menggunakan fungsi `fn_log` untuk mengambil log dari database sumber. Fungsi ini memiliki bottleneck kinerja. Jangan menghapus log database sumber terlalu awal, atau tugas dapat gagal.

  • Log data:

    • Log data harus diaktifkan. Mode backup harus diatur ke Full, dan backup fisik penuh harus telah berhasil dilakukan.

    • Untuk tugas sinkronisasi inkremental, DTS memerlukan database sumber menyimpan log data selama lebih dari 24 jam. Untuk tugas yang mencakup sinkronisasi penuh dan inkremental, DTS memerlukan database sumber menyimpan log data minimal selama 7 hari. Setelah sinkronisasi penuh selesai, Anda dapat mengubah periode retensi log menjadi lebih dari 24 jam. Jika periode retensi terlalu singkat, tugas DTS dapat gagal karena tidak dapat mengambil log data. Dalam kasus ekstrem, hal ini dapat menyebabkan ketidaksesuaian data atau kehilangan data. Masalah yang disebabkan oleh pengaturan periode retensi log lebih pendek dari yang dipersyaratkan oleh DTS tidak dicakup oleh Perjanjian Tingkat Layanan (SLA) DTS.

  • Jika Change Data Capture (CDC) perlu diaktifkan untuk tabel di database sumber, kondisi berikut harus dipenuhi. Jika tidak, pemeriksaan awal akan gagal.

    • Nilai field `srvname` dalam tampilan `sys.sysservers` harus sama dengan nilai kembali fungsi `SERVERPROPERTY`.

    • Jika database sumber adalah instans SQL Server yang dikelola sendiri, pemilik database harus `sa`. Jika database sumber adalah instans RDS for SQL Server, pemilik database harus `sqlsa`.

    • Jika database sumber adalah Edisi Perusahaan, versinya harus SQL Server 2008 atau lebih baru.

    • Jika database sumber adalah Edisi Standar, versinya harus SQL Server 2016 SP1 atau lebih baru.

    • Jika database sumber adalah SQL Server 2017 (Edisi Standar atau Perusahaan), tingkatkan versinya.

  • Jika instans sumber adalah instans hanya baca, operasi DDL tidak dapat disinkronkan.

  • Jika database sumber adalah Azure SQL Database, satu instans sinkronisasi hanya dapat menyinkronkan satu database.

  • Jika database sumber adalah instans RDS for SQL Server, pastikan fitur Enkripsi Data Transparan (TDE) dinonaktifkan untuk menjaga stabilitas instans sinkronisasi. Untuk informasi lebih lanjut, lihat Nonaktifkan TDE.

  • Jika Anda menggunakan perintah sp_rename untuk mengubah nama objek, seperti prosedur tersimpan, di database sumber sebelum tugas sinkronisasi skema dijalankan, tugas tersebut dapat menghasilkan hasil yang tidak terduga atau gagal.

    Catatan

    Kami merekomendasikan menggunakan perintah ALTER untuk mengganti nama objek database.

  • Dalam mode parsing log hibrida, Anda tidak dapat menjalankan beberapa operasi berturut-turut untuk menambah atau menghapus kolom di database sumber dalam interval 10 menit. Misalnya, menjalankan pernyataan SQL berikut secara berturut-turut menyebabkan tugas melaporkan kesalahan.

    ALTER TABLE test_table DROP COLUMN Flag;
    ALTER TABLE test_table ADD Remark nvarchar(50) not null default('');
  • Jangan menjalankan operasi DDL yang mengubah skema database atau tabel selama sinkronisasi skema atau sinkronisasi penuh. Jika tidak, tugas sinkronisasi akan gagal.

    Catatan

    Selama sinkronisasi penuh, DTS melakukan kueri ke database sumber. Hal ini membuat kunci metadata yang dapat memblokir operasi DDL pada database sumber.

  • 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 tugas.

  • Kami merekomendasikan agar Anda tetap mengaktifkan parameter mode pemrosesan transaksi READ_COMMITTED_SNAPSHOT pada database sumber selama tugas sinkronisasi data penuh berjalan. Hal ini mencegah shared lock memengaruhi penulisan data. Jika tidak, masalah seperti ketidaksesuaian data atau kegagalan instans dapat terjadi. Masalah semacam ini tidak dicakup oleh Perjanjian Tingkat Layanan (SLA) DTS.

Batasan lainnya

  • Persyaratan untuk objek yang disinkronkan:

    • Objek yang didukung untuk sinkronisasi skema awal meliputi Skema, Tabel, Tampilan, Fungsi, dan Prosedur.

      Peringatan

      Skenario ini melibatkan sinkronisasi data antar database heterogen, sehingga tipe data tidak dapat dipetakan satu-ke-satu. Hal ini dapat menyebabkan tugas gagal atau kehilangan data. Evaluasi secara cermat dampak bisnis dari pemetaan tipe data. Untuk informasi lebih lanjut, lihat Pemetaan tipe data untuk sinkronisasi skema awal.

    • Objek berikut tidak didukung untuk sinkronisasi skema awal: assemblies, service broker, indeks teks penuh, katalog teks penuh, skema terdistribusi, fungsi terdistribusi, prosedur tersimpan CLR, fungsi skalar CLR, fungsi bernilai tabel CLR, tabel internal, objek sistem, dan fungsi agregat.

    • Data dengan tipe data berikut tidak dapat disinkronkan: CURSOR, ROWVERSION, SQL_VARIANT, HIERARCHYID, POLYGON, GEOMETRY, GEOGRAPHY, dan tipe data yang ditentukan pengguna yang dibuat dengan perintah CREATE TYPE.

    • Sinkronisasi tabel yang berisi kolom terhitung tidak didukung.

    • Sinkronisasi objek berikut tidak didukung: 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 primer, kolom kunci primer di tabel tujuan harus sesuai dengan tabel sumber. Jika tabel yang akan disinkronkan tidak memiliki kunci primer, kolom kunci primer di tabel tujuan harus sesuai dengan kunci distribusi.

  • Kunci unik di tabel tujuan—termasuk kolom kunci primer—harus mencakup semua kolom dalam kunci distribusi.

  • Jika 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 berisi kolom kunci primer. Sinkronisasi tabel heap, tabel tanpa kunci primer, tabel terkompresi, tabel dengan kolom terhitung, atau tabel dengan kolom sparse tidak didukung. Pembatasan ini tidak berlaku dalam mode parsing log hibrida.

  • 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:

    • Sinkronisasi inkremental DTS bergantung pada komponen CDC. Pastikan pekerjaan CDC di database sumber berjalan dengan benar. Jika tidak, tugas DTS akan gagal.

    • Secara default, data inkremental yang disimpan oleh komponen CDC dipertahankan selama 3 hari. Sesuaikan periode retensi sesuai kebutuhan menggunakan perintah exec console.sys.sp_cdc_change_job @job_type = 'cleanup', @retention= <time>;.

      Catatan
      • <time> menentukan waktu dalam menit.

      • Jika rata-rata jumlah pernyataan SQL perubahan inkremental harian untuk satu tabel di database sumber melebihi 10 juta, atur <time> ke 1440.

    • Modul prasyarat untuk tugas sinkronisasi inkremental DTS mengaktifkan CDC pada tingkat database dan tabel di database sumber. Selama proses ini, database sumber mungkin dikunci sebentar karena keterbatasan kernel database SQL Server.

    • Dalam satu tugas sinkronisasi, jangan aktifkan CDC untuk lebih dari 1.000 tabel. Jika tidak, tugas mungkin mengalami latensi atau menjadi 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 instans DTS harus memiliki izin untuk mengaktifkan CDC. Mengaktifkan CDC tingkat database memerlukan akun dengan izin role sysadmin, dan mengaktifkan CDC tingkat tabel memerlukan akun istimewa.

      Catatan
      • Akun istimewa (administrator server) yang disediakan di konsol Azure SQL Database memenuhi persyaratan. Untuk database yang menggunakan model pembelian berbasis vCore, semua spesifikasi mendukung pengaktifan CDC. Untuk database yang menggunakan model pembelian berbasis DTU, spesifikasi harus S3 atau lebih tinggi untuk mendukung pengaktifan CDC.DTU

      • Akun istimewa untuk Amazon RDS for SQL Server memenuhi persyaratan dan mendukung pengaktifan CDC tingkat database untuk prosedur tersimpan.

      • CDC tidak dapat diaktifkan untuk tabel dengan indeks penyimpanan kolom terkluster.

      • Modul prasyarat untuk tugas sinkronisasi inkremental DTS mengaktifkan CDC pada tingkat database dan tabel di database sumber. Selama proses ini, database sumber mungkin dikunci sebentar karena keterbatasan kernel database SQL Server.

    • DTS melakukan polling instans CDC setiap tabel di database sumber untuk mendapatkan data inkremental. Oleh karena itu, jangan menyinkronkan lebih dari 1.000 tabel dari database sumber. Jika tidak, tugas mungkin mengalami latensi atau menjadi tidak stabil.

    • Secara default, data inkremental yang disimpan oleh komponen CDC dipertahankan selama 3 hari. Sesuaikan periode retensi sesuai kebutuhan menggunakan perintah exec console.sys.sp_cdc_change_job @job_type = 'cleanup', @retention= <time>;.

    • Catatan
      • <time> menentukan waktu dalam menit.

      • Jika rata-rata jumlah pernyataan SQL perubahan inkremental harian untuk satu tabel di database sumber melebihi 10 juta, atur <time> ke 1440.

    • Menjalankan operasi tambah atau hapus kolom secara berturut-turut (lebih dari dua operasi DDL tambah atau hapus dalam satu menit) tidak didukung. Jika tidak, tugas dapat gagal.

    • Jangan memodifikasi instans CDC di database sumber. Jika tidak, tugas dapat gagal atau data dapat hilang.

  • Untuk memastikan latensi akurat selama sinkronisasi data inkremental, DTS melakukan tindakan berikut: Dalam mode "parse source logs for incremental synchronization", DTS membuat trigger dts_cdc_sync_ddl, tabel heartbeat dts_sync_progress, dan tabel penyimpanan DDL dts_cdc_ddl_history di database sumber. Dalam mode sinkronisasi inkremental hibrida, DTS membuat trigger dts_cdc_sync_ddl, tabel heartbeat dts_sync_progress, dan tabel penyimpanan DDL dts_cdc_ddl_history, serta mengaktifkan CDC tingkat database dan CDC untuk beberapa tabel. Volume perubahan data untuk tabel dengan CDC diaktifkan di database sumber tidak boleh melebihi 1.000 catatan per detik (RPS).

  • Evaluasi kinerja database sumber dan tujuan sebelum menyinkronkan data. Lakukan sinkronisasi selama jam sepi. Jika tidak, sinkronisasi data penuh awal akan mengonsumsi sumber daya baca dan tulis pada kedua database, yang dapat meningkatkan beban database.

  • Sinkronisasi penuh awal menjalankan operasi INSERT konkuren, yang menyebabkan fragmentasi tabel di database tujuan. Akibatnya, ruang tabel instans tujuan lebih besar daripada instans sumber setelah sinkronisasi penuh awal selesai.

  • Untuk sinkronisasi data tingkat tabel, jangan gunakan alat seperti gh-ost atau pt-online-schema-change untuk melakukan operasi DDL Online pada objek sinkronisasi di database sumber. Jika tidak, sinkronisasi akan gagal.

  • Selama sinkronisasi DTS, jangan menulis data ke database tujuan dari sumber selain DTS. Hal ini akan menyebabkan ketidaksesuaian data antara database sumber dan tujuan. Misalnya, jika Anda menulis data dari sumber lain lalu menggunakan DMS untuk melakukan operasi DDL Online, data dapat hilang di database tujuan.

  • Anda dapat memilih objek untuk sinkronisasi pada tingkat tabel dan memodifikasi pemetaan kolom. Jika Anda menggunakan pemetaan kolom dan tidak menyinkronkan seluruh tabel, atau struktur tabel sumber dan tujuan berbeda, data di kolom yang ada di sumber tetapi tidak di tujuan akan hilang.

  • Reindexing tidak didukung untuk instans sinkronisasi. Operasi ini dapat menyebabkan tugas gagal atau bahkan kehilangan data.

    Catatan

    Perubahan yang berkaitan dengan kunci primer tidak didukung untuk tabel dengan CDC diaktifkan.

  • Jika jumlah tabel dengan CDC diaktifkan dalam satu tugas sinkronisasi melebihi nilai yang ditetapkan untuk The maximum number of tables for which CDC is enabled that DTS supports., pemeriksaan awal akan gagal.

  • Jika satu field dalam tabel dengan CDC diaktifkan perlu menyimpan data lebih dari 64 KB, Anda harus menjalankan perintah exec sp_configure 'max text repl size', -1; terlebih dahulu untuk menyesuaikan konfigurasi database sumber.

    Catatan

    Secara default, pekerjaan CDC dapat memproses maksimal 64 KB untuk satu field.

  • Untuk menggunakan fitur memodifikasi objek yang disinkronkan, Anda tidak dapat menghapus database.

  • Jika beberapa instans sinkronisasi menggunakan database SQL Server yang sama sebagai sumber, modul ingestion data inkremental mereka saling independen.

  • Jika tugas gagal, staf dukungan DTS akan berusaha memulihkannya dalam waktu delapan jam. Selama pemulihan, mereka mungkin merestart tugas atau menyesuaikan parameternya.

    Catatan

    Hanya parameter tugas DTS yang dimodifikasi—bukan parameter database. Parameter yang mungkin disesuaikan termasuk yang tercantum dalam Modify instance parameters.

  • SQL Server adalah database komersial bersumber tertutup. Format log-nya memiliki karakteristik yang dapat menyebabkan masalah tak terhindarkan saat DTS melakukan CDC dan parsing inkremental. Sebelum menggunakan DTS untuk sinkronisasi inkremental atau migrasi dari sumber SQL Server di lingkungan produksi, lakukan proof of concept (POC) yang komprehensif. POC Anda harus mencakup semua jenis perubahan bisnis, penyesuaian skema tabel, dan uji stres jam sibuk. Format log SQL Server bisa tidak terduga. Untuk memastikan DTS berjalan secara efisien dan stabil, pastikan logika bisnis produksi Anda konsisten dengan yang diuji dalam POC.

Kasus khusus

Jika instans sumber adalah instans RDS for SQL Server, DTS membuat akun rdsdt_dtsacct di instans sumber untuk sinkronisasi data. Jangan menghapus akun ini atau mengubah kata sandinya selama tugas berjalan. Jika tidak, tugas dapat gagal. Untuk informasi lebih lanjut, lihat System accounts.

Penagihan

Tipe sinkronisasi

Harga

Sinkronisasi skema dan sinkronisasi data penuh

Gratis.

Sinkronisasi data inkremental

Dikenai 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 deskripsi dan catatan mengenai topologi ini, lihat Ikhtisar topologi sinkronisasi.

Operasi SQL yang didukung

Tipe operasi

Pernyataan SQL

DML

INSERT, UPDATE, DELETE

Catatan
  • Pernyataan UPDATE yang hanya memperbarui objek besar tidak didukung.

  • Saat data ditulis ke instans tujuan AnalyticDB for PostgreSQL, DTS secara otomatis mengonversi pernyataan UPDATE menjadi pernyataan REPLACE INTO. Jika pernyataan UPDATE dieksekusi pada kunci primer, DTS mengonversinya menjadi pernyataan DELETE dan INSERT.

DDL

  • CREATE TABLE

  • ALTER TABLE (hanya ADD COLUMN dan DROP COLUMN)

  • DROP TABLE

  • CREATE INDEX, DROP INDEX

Catatan
  • Operasi DDL dengan tipe data kustom tidak didukung.

  • Operasi DDL transaksional tidak didukung.

  • Operasi DDL Online tidak didukung.

  • Operasi DDL yang menggunakan kata kunci yang dicadangkan sebagai nama properti tidak didukung.

  • Operasi DDL yang dieksekusi oleh prosedur tersimpan sistem tidak didukung.

  • Operasi TRUNCATE TABLE tidak didukung.

  • Partisi atau definisi tabel yang berisi fungsi tidak didukung.

Izin akun database

Database

Izin yang diperlukan

Metode pembuatan dan otorisasi akun

SQL Server yang dikelola sendiri

sysadmin

CREATE USER dan Manage user permissions

Instans AnalyticDB for PostgreSQL

  • 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 (copy batch in-memory).

Catatan

Anda juga dapat menggunakan akun awal AnalyticDB for PostgreSQL.

Membuat dan mengelola pengguna serta mengelola izin pengguna

Persiapan

Sebelum mengonfigurasi tugas sinkronisasi, Anda harus mengatur log transaksi dan membuat indeks terkluster pada database SQL Server yang dikelola sendiri.

Penting

Jika Anda menyinkronkan beberapa database, ulangi Langkah 1 hingga 3. Jika tidak, ketidaksesuaian data dapat terjadi.

  1. Jalankan perintah berikut pada database SQL Server yang dikelola sendiri untuk mengatur model recovery database ke Full. Anda juga dapat menggunakan SQL Server Management Studio (SSMS). Untuk informasi lebih lanjut, lihat Change the database recovery model.

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

    Deskripsi parameter:

    <database_name>: Nama database yang akan disinkronkan.

    Contoh:

    use master;
    GO
    ALTER DATABASE mytestdata SET RECOVERY FULL WITH ROLLBACK IMMEDIATE;
    GO
  2. Jalankan perintah berikut untuk melakukan backup logis database yang akan disinkronkan. Anda dapat melewati langkah ini jika sudah melakukan backup logis.

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

    Deskripsi parameter:

    • <database_name>: Nama database yang akan disinkronkan.

    • <physical_backup_device_name>: Jalur dan nama file untuk file backup.

    Contoh:

    BACKUP DATABASE mytestdata TO DISK='D:\backup\dbdata.bak';
    GO
  3. Jalankan perintah berikut untuk mencadangkan log transaksi database yang akan disinkronkan.

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

    Deskripsi parameter:

    • <database_name>: Nama database yang akan disinkronkan.

    • <physical_backup_device_name>: Jalur dan nama file untuk file backup.

    Contoh:

    BACKUP LOG mytestdata TO DISK='D:\backup\dblog.bak' WITH init;
    GO
  4. Parsing log untuk sinkronisasi inkremental tidak mendukung tabel heap, tabel tanpa kunci primer, tabel terkompresi, atau tabel dengan kolom terhitung. Gunakan pernyataan SQL berikut untuk memeriksa jenis tabel tersebut:

    1. Periksa tabel heap:

      select s.name, t.name from sys.schemas s inner join sys.tables t on s.schema_id = t.schema_id where t.type = 'U' and t.object_id in (select object_id from sys.indexes where index_id = 0)
    2. Periksa tabel tanpa kunci primer:

      select s.name, t.name from sys.schemas s inner join sys.tables t on s.schema_id = t.schema_id where t.type = 'U' and t.object_id not in (select parent_object_id from sys.objects where type = 'PK')
    3. Periksa tabel terkompresi:

      select s.name as schema_name,t.name as table_name from sys.objects t, sys.schemas s, sys.partitions i where s.schema_id=t.schema_id and t.object_id = i.object_id and i.data_compression != 0
    4. Periksa tabel dengan kolom terhitung:

      select s.name, t.name from sys.schemas s inner join sys.tables t on s.schema_id = t.schema_id where t.type = 'U' and t.object_id in (select object_id from [%s].sys.columns where is_computed = 1)

Prosedur

  1. Buka halaman daftar tugas sinkronisasi di wilayah tujuan menggunakan salah satu metode berikut:

    Dari konsol DTS

    1. Masuk ke Konsol Data Transmission Service (DTS).

    2. Di panel navigasi kiri, klik Data Synchronization.

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

    Dari konsol DMS

    Catatan

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

    1. Masuk ke Data Management (DMS).

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

    3. Di sebelah kanan Data Synchronization Tasks, pilih wilayah tempat instans sinkronisasi berada.

  2. Klik Create Task untuk membuka halaman konfigurasi tugas.

  3. Konfigurasikan database sumber dan tujuan.

    Kategori

    Konfigurasi

    Deskripsi

    Tidak ada

    Task Name

    DTS secara otomatis menghasilkan nama tugas. Kami merekomendasikan agar Anda menentukan nama deskriptif untuk memudahkan identifikasi. Nama tidak harus unik.

    Source Database

    Database Type

    Pilih SQL Server.

    Access Method

    Pilih berdasarkan tempat database sumber ditempatkan. Dalam contoh ini, pilih Self-managed Database on ECS.

    Catatan

    Jika Anda memilih jenis koneksi lain untuk database yang dikelola sendiri, lakukan persiapan tambahan. Untuk detailnya, lihat Preparation overview.

    Instance Region

    Pilih wilayah instans ECS yang meng-host database SQL Server yang dikelola sendiri.

    ECS Instance ID

    Pilih ID instans ECS yang meng-host database SQL Server yang dikelola sendiri.

    Port Number

    Masukkan port layanan database SQL Server yang dikelola sendiri. Default adalah 1433.

    Database Account

    Masukkan akun untuk database SQL Server yang dikelola sendiri. Izin yang diperlukan dijelaskan dalam Izin akun database.

    Database Password

    Masukkan kata sandi yang sesuai dengan akun database.

    Encryption

    Pilih Non-encrypted atau SSL-encrypted sesuai kebutuhan.

    • Jika enkripsi SSL tidak diaktifkan untuk database sumber, pilih Non-encrypted.

    • Jika enkripsi SSL diaktifkan untuk database sumber, pilih SSL-encrypted. DTS secara default mempercayai sertifikat sisi server.

    Destination Database

    Database Type

    Pilih AnalyticDB PostgreSQL.

    Connection Type

    Pilih Cloud instance.

    Instance Region

    Pilih wilayah instans tujuan AnalyticDB for PostgreSQL.

    Instance ID

    Pilih ID instans tujuan AnalyticDB for PostgreSQL.

    Database name

    Masukkan nama database di instans tujuan AnalyticDB for PostgreSQL yang berisi objek sinkronisasi.

    Database Account

    Masukkan akun database untuk instans tujuan AnalyticDB for PostgreSQL. Izin yang diperlukan dijelaskan dalam Izin akun database.

    Database Password

    Masukkan kata sandi yang sesuai dengan akun database.

  4. Setelah menyelesaikan konfigurasi, klik Test Connectivity and Proceed di bagian bawah halaman. Di kotak dialog CIDR Blocks of DTS Servers, klik Test Connectivity.

    Catatan

    Pastikan blok CIDR alamat IP server DTS telah ditambahkan ke pengaturan keamanan database sumber dan tujuan agar server DTS dapat mengaksesnya. Hal ini dapat dilakukan secara otomatis atau manual. Untuk informasi lebih lanjut, lihat Add the IP address CIDR blocks of DTS servers to a whitelist.

  5. Konfigurasikan objek tugas.

    1. Di halaman Configure Objects, konfigurasikan objek yang akan disinkronkan.

      Konfigurasi

      Deskripsi

      Synchronization Types

      Incremental Data Synchronization dipilih. Secara default, Anda juga harus memilih Schema Synchronization dan Full Data Synchronization. Setelah pemeriksaan awal selesai, DTS melakukan sinkronisasi data penuh objek yang dipilih dari instans sumber ke klaster tujuan sebagai dasar untuk sinkronisasi inkremental berikutnya.

      Processing Mode of Conflicting Tables

      • Precheck and Report Errors: Memeriksa apakah tabel dengan nama yang sama ada di database tujuan. Jika tidak ada, pemeriksaan awal lolos. Jika ada, pemeriksaan awal gagal dan tugas sinkronisasi tidak dimulai.

        Catatan

        Jika Anda tidak dapat menghapus atau mengganti nama tabel dengan nama yang sama di database tujuan, petakan ke nama tabel yang berbeda. Untuk informasi lebih lanjut, lihat Map table and column names.

      • Ignore Errors and Proceed: Melewati pemeriksaan nama tabel duplikat di database tujuan.

        Peringatan

        Memilih Ignore Errors and Proceed dapat menyebabkan ketidaksesuaian data dan membahayakan bisnis Anda. Misalnya:

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

          • Selama sinkronisasi penuh, DTS mempertahankan catatan di klaster tujuan. Catatan yang sesuai dari database sumber tidak disinkronkan.

          • Selama sinkronisasi inkremental, catatan dari database sumber menimpa catatan di database tujuan.

        • Jika skema tabel berbeda, sinkronisasi data awal dapat gagal, sehingga hanya data kolom parsial yang disinkronkan atau sinkronisasi total gagal. Lanjutkan dengan hati-hati.

      SQL Server Incremental Synchronization Mode

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

        • Kelebihan:

          • Mendukung skenario dengan tabel heap, tabel tanpa kunci primer, tabel terkompresi, dan tabel dengan kolom terhitung di database sumber.

          • Stabilitas tautan tinggi. Mode ini dapat memperoleh pernyataan DDL lengkap dan memberikan dukungan komprehensif untuk skenario DDL.

        • Kekurangan:

          • DTS membuat trigger dts_cdc_sync_ddl, tabel heartbeat dts_sync_progress, dan tabel penyimpanan DDL dts_cdc_ddl_history di database sumber. DTS juga mengaktifkan CDC pada tingkat database dan untuk beberapa tabel.

          • Anda tidak dapat menjalankan pernyataan SELECT INTO, TRUNCATE, RENAME COLUMN, atau modifikasi tipe kolom pada tabel yang memiliki CDC diaktifkan di database sumber. Trigger yang dibuat oleh DTS di database sumber tidak dapat dihapus secara manual.

            Catatan

            Tabel yang berisi tipe geometry, geography, atau hierarchyid tidak mendukung pengaktifan CDC.

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

        • Kelebihan:

          Mode ini non-intrusif terhadap database sumber.

        • Kekurangan:

          Tidak mendukung skenario dengan tabel heap, tabel tanpa kunci primer, tabel terkompresi, atau tabel dengan kolom terhitung di database sumber.

      • Polling and querying CDC instances for incremental synchronization:

        • Kelebihan:

          • Mendukung sinkronisasi penuh dan inkremental ketika database sumber adalah Amazon RDS for SQL Server, Azure SQL Database, Azure SQL Managed Instance, Azure SQL Server on Virtual Machine, atau Google Cloud SQL for SQL Server.

          • Mode ini menggunakan komponen Change Data Capture (CDC) asli SQL Server untuk memperoleh data inkremental, sehingga sinkronisasi inkremental lebih stabil dan mengonsumsi lebar pita jaringan lebih sedikit.

        • Kekurangan:

          • Akun database sumber yang digunakan oleh instans DTS harus memiliki izin untuk mengaktifkan CDC. Terdapat penundaan sekitar 10 detik untuk sinkronisasi data inkremental.

          • Dalam skenario yang melibatkan sinkronisasi beberapa database dan tabel, mungkin terdapat risiko masalah stabilitas dan kinerja.

      The maximum number of tables for which CDC is enabled that DTS supports.

      Atur jumlah maksimum tabel yang dapat diaktifkan CDC-nya untuk instans sinkronisasi saat ini sesuai kebutuhan. Nilai default adalah 1.000.

      Catatan

      Item konfigurasi ini tidak tersedia saat SQL Server Incremental Synchronization Mode diatur ke Incremental Synchronization Based on Logs of Source Database (Heap tables are not supported).

      DDL and DML Operations to Be Synchronized

      Pilih operasi DDL atau DML yang akan disinkronkan pada tingkat instans. Operasi yang didukung tercantum dalam Operasi SQL yang didukung.

      Catatan

      Untuk memilih operasi SQL mana yang akan disinkronkan untuk database atau tabel, klik kanan objek sinkronisasi di kotak Selected Objects. Di kotak dialog yang muncul, pilih operasi SQL.

      Storage Engine Type

      Pilih tipe mesin penyimpanan untuk tabel tujuan. Default adalah Beam.

      Catatan

      Item konfigurasi ini hanya tersedia jika versi kernel instans tujuan AnalyticDB for PostgreSQL adalah v7.0.6.6 atau lebih baru dan Synchronization Types diatur ke Schema Synchronization.

      Source Objects

      Di kotak Source Objects, klik objek yang akan disinkronkan, lalu klik 向右 untuk memindahkannya ke kotak Selected Objects.

      Catatan

      Skenario ini melibatkan sinkronisasi antar database heterogen. Oleh karena itu, Anda hanya dapat memilih tabel sebagai objek sinkronisasi. Objek lain seperti tampilan, pemicu, dan prosedur tersimpan tidak disinkronkan ke database tujuan.

      Selected Objects

      • Untuk mengganti nama satu objek sinkronisasi di instans tujuan, klik kanan objek di kotak Selected Objects. Untuk informasi lebih lanjut tentang mengganti nama objek, lihat Map a single database, table, or column.

      • Untuk mengubah nama beberapa objek sinkronisasi di instans tujuan secara batch, klik Batch Edit di pojok kanan atas kotak Selected Objects. Untuk informasi lebih lanjut, lihat Map databases, tables, and columns in a batch.

      Catatan
      • Untuk memilih operasi SQL pada tingkat database atau tabel, klik kanan objek sinkronisasi di bagian Selected objects dan pilih operasi yang diperlukan di kotak dialog yang muncul.

      • Untuk memfilter data menggunakan klausa WHERE, klik kanan tabel di bagian Selected objects dan atur kondisi filter di kotak dialog yang muncul. Untuk informasi lebih lanjut, lihat Set filter conditions.

      • Menggunakan pemetaan nama objek dapat menyebabkan objek dependen gagal disinkronkan.

    2. Klik Next: Advanced Settings untuk mengonfigurasi parameter lanjutan.

      Konfigurasi

      Deskripsi

      Dedicated Cluster for Task Scheduling

      Secara default, DTS menjadwalkan tugas pada klaster bersama, dan Anda tidak perlu memilih klaster. Untuk kinerja yang lebih stabil, Anda dapat membeli klaster khusus untuk menjalankan tugas sinkronisasi DTS. Untuk informasi lebih lanjut, lihat What is a DTS dedicated cluster?.

      Retry Time for Failed Connections

      Setelah tugas sinkronisasi dimulai, jika koneksi ke database sumber atau tujuan gagal, DTS melaporkan kesalahan dan segera mencoba menghubungkan kembali. Durasi percobaan ulang default adalah 720 menit. Anda juga dapat menentukan durasi percobaan ulang kustom antara 10 hingga 1.440 menit. Kami merekomendasikan durasi minimal 30 menit. Jika DTS berhasil terhubung kembali ke database dalam durasi yang ditentukan, tugas sinkronisasi dilanjutkan secara otomatis. Jika tidak, tugas gagal.

      Catatan
      • Jika Anda memiliki beberapa instans DTS (misalnya, Instans A dan Instans B) yang berbagi sumber atau tujuan yang sama, dan Anda mengatur waktu percobaan ulang jaringan menjadi 30 menit untuk Instans A dan 60 menit untuk Instans B, durasi yang lebih pendek yaitu 30 menit digunakan untuk keduanya.

      • Karena DTS mengenakan biaya untuk waktu proses tugas selama periode percobaan ulang koneksi, kami merekomendasikan agar Anda menyesuaikan durasi percobaan ulang berdasarkan kebutuhan bisnis atau segera melepaskan instans DTS setelah instans database sumber dan tujuan dilepas.

      Retry Time for Other Issues

      Setelah tugas sinkronisasi dimulai, jika terjadi masalah non-konektivitas lainnya pada database sumber atau tujuan (seperti pengecualian eksekusi DDL atau DML), DTS melaporkan kesalahan dan segera melakukan operasi percobaan ulang berkelanjutan. Durasi percobaan ulang default adalah 10 menit. Anda juga dapat menyesuaikan durasi percobaan ulang dalam rentang 1 hingga 1.440 menit. Kami merekomendasikan agar Anda mengaturnya minimal 10 menit. Jika operasi terkait berhasil dalam durasi percobaan ulang yang ditetapkan, tugas sinkronisasi dilanjutkan secara otomatis. Jika tidak, tugas gagal.

      Penting

      Nilai untuk Retry Time for Other Issues harus lebih kecil daripada nilai untuk Retry Time for Failed Connections.

      Enable Throttling for Full Data Synchronization

      Selama tahap sinkronisasi penuh, DTS mengonsumsi sumber daya baca dan tulis dari database sumber dan tujuan, yang dapat meningkatkan beban database. Untuk mengurangi beban pada database sumber dan tujuan, Anda dapat mengatur batas laju untuk tugas sinkronisasi penuh dengan mengonfigurasi parameter Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s).

      Catatan
      • Item konfigurasi ini hanya tersedia saat Synchronization Types diatur ke Full Data Synchronization.

      • Anda juga dapat menyesuaikan laju sinkronisasi penuh setelah instans sinkronisasi berjalan.

      Enable Throttling for Incremental Data Synchronization

      Anda juga dapat mengatur batas laju untuk tugas sinkronisasi inkremental. Untuk mengurangi tekanan pada database tujuan, atur parameter RPS of Incremental Data Synchronization dan Data synchronization speed for incremental synchronization (MB/s).

      Enclose Object Names in Quotation Marks

      Pilih apakah akan menambahkan tanda kutip pada nama objek tujuan. Jika Anda memilih Yes dan salah satu kondisi berikut terpenuhi, DTS menambahkan tanda kutip tunggal atau ganda pada nama objek tujuan selama fase sinkronisasi skema awal dan sinkronisasi data inkremental:

      • Lingkungan bisnis database sumber bersifat case-sensitive dan menggunakan campuran huruf besar dan kecil.

      • Nama tabel sumber tidak dimulai dengan huruf dan berisi karakter selain huruf, angka, atau karakter khusus.

        Catatan

        Hanya garis bawah (_), tanda pagar (#), dan tanda dolar ($) yang didukung sebagai karakter khusus.

      • Nama skema, tabel, atau kolom yang akan disinkronkan merupakan kata kunci, kata kunci yang dicadangkan, atau karakter tidak valid di database tujuan.

      Catatan

      Jika Anda memilih untuk menambahkan tanda kutip, Anda harus menggunakan nama objek tujuan yang dikutip untuk kueri setelah tugas sinkronisasi data selesai.

      Environment Tag

      Pilih label lingkungan untuk mengidentifikasi instans. Parameter ini tidak wajib untuk contoh ini.

      Configure ETL

      Pilih apakah akan mengaktifkan fitur ekstrak, transformasi, muat (ETL). Untuk informasi lebih lanjut, lihat What is ETL?. Nilai yang valid:

      Monitoring and Alerting

      Tentukan apakah akan mengonfigurasi peringatan. Jika sinkronisasi gagal atau latensi melebihi ambang batas yang ditentukan, notifikasi akan dikirim ke kontak peringatan.

    3. Klik Next: Data Validation untuk mengonfigurasi tugas validasi data.

      Jika Anda ingin menggunakan fitur validasi data, lihat Configure data validation untuk petunjuk konfigurasi.

    4. Opsional: Setelah menyelesaikan langkah-langkah sebelumnya, klik Next: Configure Database and Table Fields untuk mengatur Type, Primary Key Column, dan Distribution Key untuk tabel di instans tujuan AnalyticDB for PostgreSQL.

      Catatan
      • Langkah ini muncul hanya saat Anda memilih Synchronization Types dan memilih Schema Synchronization saat mengonfigurasi objek tugas. Anda dapat memilih All dari daftar drop-down Definition Status lalu memodifikasi pengaturan.

      • Primary Key Column dapat berupa kunci komposit yang terdiri dari beberapa kolom. Anda dapat memilih satu atau beberapa kolom dari daftar Primary Key Column sebagai Distribution Key. Untuk informasi lebih lanjut, lihat Manage data tables dan Define table distribution.

  6. Simpan tugas dan jalankan pemeriksaan awal.

    • Untuk melihat parameter API untuk mengonfigurasi instans ini, arahkan kursor ke tombol Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters di gelembung.

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

    Catatan
    • Sebelum pekerjaan sinkronisasi dimulai, DTS menjalankan pemeriksaan awal. Pekerjaan hanya dapat dimulai setelah semua item pemeriksaan awal lolos.

    • Jika pemeriksaan awal gagal, klik View Details untuk item yang gagal. Perbaiki masalah sesuai petunjuk, lalu jalankan pemeriksaan awal lagi.

    • Jika pemeriksaan awal mengembalikan peringatan:

      • Jika item pemeriksaan gagal dan tidak dapat diabaikan, klik View Details di sebelah item tersebut. Ikuti petunjuk untuk memperbaiki masalah, lalu jalankan pemeriksaan awal lagi.

      • Untuk item pemeriksaan yang dapat diabaikan, Anda dapat mengklik Confirm Alert Details, Ignore, OK, dan Precheck Again secara berurutan untuk melewati peringatan dan menjalankan ulang pemeriksaan awal. Jika Anda memilih untuk mengabaikan item peringatan, hal ini dapat menyebabkan masalah seperti ketidaksesuaian data dan menimbulkan risiko bagi bisnis Anda.

  7. Beli instans.

    1. Saat Success Rate mencapai 100%, klik Next: Purchase Instance.

    2. Di halaman Purchase, pilih metode penagihan dan spesifikasi tautan untuk instans sinkronisasi data. Tabel berikut menjelaskan parameter-parameter ini secara rinci.

      Kategori

      Parameter

      Deskripsi

      New Instance Class

      Metode Penagihan

      • Langganan: Anda membayar saat membuat instans. Ini cocok untuk kebutuhan jangka panjang dan lebih hemat biaya dibandingkan bayar sesuai penggunaan. Semakin lama durasi langganan, semakin tinggi diskonnya.

      • Bayar sesuai penggunaan: Anda dikenai biaya per jam. Ini cocok untuk kebutuhan jangka pendek. Anda dapat melepaskan instans segera setelah digunakan untuk menghemat biaya.

      Konfigurasi Kelompok Sumber Daya

      Kelompok sumber daya tempat instans berada. Default adalah kelompok sumber daya default. Untuk informasi lebih lanjut, lihat What is Resource Management?.

      Spesifikasi Tautan

      DTS menyediakan spesifikasi sinkronisasi dengan tingkat kinerja berbeda. Spesifikasi tautan sinkronisasi memengaruhi laju sinkronisasi. Anda dapat memilih spesifikasi berdasarkan skenario bisnis Anda. Untuk informasi lebih lanjut, lihat Data synchronization link specifications.

      Durasi Langganan

      Dalam mode langganan, pilih durasi dan jumlah untuk instans langganan. Anda dapat memilih langganan bulanan dari 1 hingga 9 bulan, atau langganan tahunan selama 1, 2, 3, atau 5 tahun.

      Catatan

      Opsi ini hanya tersedia saat metode penagihan adalah Subscription.

    3. Setelah menyelesaikan konfigurasi, baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.

    4. Klik Buy and Start. Di kotak dialog OK, klik OK.

      Anda dapat melihat progres tugas di halaman Data Synchronization.