All Products
Search
Document Center

Data Transmission Service:Migrasi\ data\ dari\ RDS\ SQL\ Server\ ke\ DataHub

Last Updated:Mar 29, 2026

Gunakan Data Transmission Service (DTS) untuk mengalirkan perubahan data inkremental dari instans ApsaraDB RDS for SQL Server ke proyek DataHub secara real time. DTS menggunakan change data capture (CDC) untuk membaca operasi INSERT, UPDATE, dan DELETE yang telah dikomit dari log transaksi SQL Server dan menuliskannya ke topik DataHub.

Cara kerja

Saat Anda memulai tugas migrasi DTS, DTS melakukan migrasi skema untuk mereplikasi struktur objek yang dipilih ke proyek DataHub tujuan. Setelah migrasi skema selesai, DTS mengaktifkan CDC pada instans sumber dan mulai menangkap perubahan tingkat baris. Setiap perubahan yang ditangkap ditulis ke topik DataHub yang sesuai. Tugas ini berjalan terus-menerus—hanya berhenti jika Anda menghentikannya secara manual atau terjadi error yang tidak dapat dipulihkan.

Migrasi data penuh tidak didukung untuk jalur migrasi ini. Hanya migrasi skema dan migrasi data inkremental yang tersedia.

Konfigurasi yang didukung

Tabel berikut merangkum batasan ketat untuk jalur migrasi ini. Periksa hal-hal ini sebelum memulai.

KategoriNilai atau batas yang didukung
Jenis migrasiMigrasi skema, migrasi data inkremental (migrasi data penuh tidak didukung)
Database per tugasHingga 10
Tabel per tugas (saat mengganti nama tabel atau kolom)Hingga 1.000
SQL Server — edisi Enterprise2008 atau lebih baru
SQL Server — edisi Standard2016 SP1 atau lebih baru
Ukuran string tujuanHingga 2 MB per nilai string
Tabel CDC dengan nilai bidang > 64 KBJalankan exec sp_configure 'max text repl size', -1; sebelum memulai tugas
Transparent Data Encryption (TDE)Harus dinonaktifkan saat migrasi data inkremental disertakan

Prasyarat

Sebelum memulai:

  • Instans ApsaraDB RDS for SQL Server sumber menjalankan versi yang didukung oleh DTS. Lihat Ikhtisar skenario migrasi data untuk versi yang didukung.

  • DataHub telah diaktifkan dan proyek telah dibuat untuk menerima data yang dimigrasikan. Lihat Memulai dengan DataHub dan Mengelola proyek.

  • Jika instans sumber memenuhi salah satu kondisi berikut, beli beberapa instans DTS dan konfigurasikan tugas migrasi terpisah:

    • Instans berisi lebih dari 10 database

    • Backup log transaksi untuk satu database dilakukan lebih sering daripada sekali per jam

    • Satu database mengeksekusi lebih dari 100 pernyataan DDL per jam

    • Log transaksi ditulis dengan laju lebih dari 20 MB/s untuk satu database

    • CDC perlu diaktifkan untuk lebih dari 1.000 tabel

Batasan

Database sumber

  • Server sumber harus memiliki bandwidth outbound yang cukup. Bandwidth yang tidak mencukupi mengurangi kecepatan migrasi.

  • Tabel yang akan dimigrasikan harus memiliki kendala PRIMARY KEY atau UNIQUE, dengan semua bidang bernilai unik. Tabel tanpa kendala ini dapat menghasilkan catatan duplikat di tujuan.

  • Jika Anda mengganti nama tabel atau kolom di tujuan, satu tugas migrasi mendukung hingga 1.000 tabel. Melebihi batas ini menyebabkan error permintaan. Dalam kasus ini, bagi tabel ke beberapa tugas atau lakukan migrasi pada level database saja.

  • Satu tugas migrasi mendukung hingga 10 database. Migrasi lebih dari 10 database dalam satu tugas dapat mengurangi kinerja dan stabilitas.

  • Untuk migrasi data inkremental:

    • Aktifkan pencatatan data pada database sumber. Atur mode backup ke Full dan lakukan backup fisik penuh.

    • Jika Anda hanya menjalankan migrasi data inkremental, simpan log transaksi selama lebih dari 24 jam. Jika Anda menjalankan migrasi data penuh dan inkremental, simpan log setidaknya selama 7 hari. DTS mungkin gagal mendapatkan log jika periode retensi terlalu singkat, yang dapat menyebabkan kegagalan tugas, inkonsistensi data, atau kehilangan data. Setelah migrasi data penuh selesai, Anda dapat mengurangi periode retensi menjadi lebih dari 24 jam. Periode retensi yang tidak memenuhi persyaratan ini berada di luar cakupan Service Level Agreement (SLA) DTS.

  • Agar CDC berfungsi dengan benar, kondisi berikut harus dipenuhi. Jika tidak terpenuhi, pemeriksaan awal gagal:

    • Nilai bidang srvname dalam tampilan sys.sysservers harus sesuai dengan nilai kembali fungsi SERVERPROPERTY.

    • Untuk database SQL Server yang dikelola sendiri, pemilik database harus merupakan pengguna sa. Untuk database ApsaraDB RDS for SQL Server, pemilik database harus merupakan pengguna sqlsa.

    • Edisi Enterprise: SQL Server 2008 atau lebih baru.

    • Edisi Standard: SQL Server 2016 SP1 atau lebih baru.

    • Jika sumber menjalankan SQL Server 2017 (edisi Standard atau Enterprise), perbarui ke versi yang lebih baru sebelum migrasi.

  • DTS menggunakan fungsi fn_log untuk membaca log database sumber. Jangan hapus log sebelum tugas selesai—menghapus log dapat menyebabkan tugas gagal.

  • Selama migrasi skema dan migrasi data penuh, jangan eksekusi pernyataan DDL pada database sumber. Perubahan skema selama migrasi menyebabkan tugas gagal.

  • Jika Anda hanya menjalankan migrasi data inkremental, jangan menulis data ke database sumber selama migrasi. Untuk menjamin konsistensi data, jalankan migrasi skema, migrasi data penuh, dan migrasi data inkremental bersamaan.

  • Jika sumber adalah Azure SQL Database, hanya satu database yang dapat dimigrasikan per tugas.

  • Jika sumber adalah instans ApsaraDB RDS for SQL Server dan tugas mencakup migrasi data inkremental, nonaktifkan Transparent Data Encryption (TDE) pada instans tersebut. Lihat Konfigurasi TDE.

  • Selama migrasi data penuh, aktifkan tingkat isolasi READ_COMMITTED_SNAPSHOT pada database sumber. Tanpa pengaturan ini, kunci bersama (shared locks) dapat memblokir penulisan, menyebabkan inkonsistensi data, atau mencegah instans berjalan. Masalah ini berada di luar cakupan SLA DTS.

  • Dalam mode parsing berbasis log hibrida, jangan tambahkan atau hapus kolom lebih dari sekali dalam rentang waktu 10 menit. Misalnya, mengeksekusi kedua pernyataan berikut dalam waktu 10 menit menyebabkan error tugas:

    ALTER TABLE test_table DROP COLUMN Flag;
    ALTER TABLE test_table ADD Remark nvarchar(50) not null default('');

Proyek DataHub tujuan

  • Satu nilai string tidak boleh melebihi panjang 2 MB.

Objek dan tipe data

DTS mendukung migrasi skema untuk: skema, tabel, tampilan, fungsi, dan prosedur tersimpan.

Jenis objek berikut tidak dimigrasikan:

  • Assemblies

  • Service brokers

  • Indeks teks lengkap dan katalog teks lengkap

  • Skema terdistribusi dan fungsi terdistribusi

  • Prosedur tersimpan Common Language Runtime (CLR), fungsi bernilai skalar CLR, dan fungsi bernilai tabel CLR

  • Tabel internal, objek sistem, dan fungsi agregat

  • Tabel yang berisi kolom terhitung

Tipe data SQL Server berikut tidak dimigrasikan:

Tipe dataCatatan
CURSORTidak didukung
ROWVERSIONTidak didukung
SQL_VARIANTTidak didukung
HIERARCHYIDTidak didukung
POLYGONTidak didukung
GEOMETRYTidak didukung
GEOGRAPHYTidak didukung

Migrasi data inkremental

  • Operasi DML yang didukung: INSERT, UPDATE, DELETE.

    Jika operasi UPDATE hanya memodifikasi nilai bidang besar, DTS tidak memigrasikan operasi tersebut.
  • Operasi reindexing tidak diperbolehkan selama migrasi data inkremental berjalan. Reindexing dapat menyebabkan tugas gagal dan berpotensi menyebabkan kehilangan data.

    DTS tidak dapat memigrasikan operasi DDL yang terkait dengan kunci primer tabel yang diaktifkan CDC-nya.
  • Jika jumlah tabel yang diaktifkan CDC dalam satu tugas migrasi melebihi batas maksimum yang didukung oleh DTS, pemeriksaan awal gagal.

  • Jika tabel yang diaktifkan CDC memerlukan nilai bidang lebih besar dari 64 KB, jalankan perintah berikut pada database sumber sebelum memulai tugas:

    exec sp_configure 'max text repl size', -1;

    Secara default, pekerjaan CDC dapat memproses data hingga 64 KB per bidang.

  • DTS tidak memigrasikan kunci asing. Operasi cascade dan delete yang didefinisikan pada database sumber tidak direplikasi ke tujuan.

Objek internal yang dibuat oleh DTS

DTS membuat objek berikut di database sumber untuk melacak progres migrasi:

ModeObjek yang dibuat
Sinkronisasi inkremental berdasarkan log database sumberPemicu dts_cdc_sync_ddl, tabel heartbeat dts_sync_progress, tabel riwayat DDL dts_cdc_ddl_history
Parsing berbasis log hibridaSama seperti di atas, ditambah CDC diaktifkan pada database sumber dan tabel tertentu

Untuk tabel dengan CDC diaktifkan, atur laju ingestion maksimum menjadi 1.000 catatan per detik (RPS).

Pertimbangan lainnya

  • Lakukan migrasi data selama jam sepi. Migrasi data penuh meningkatkan beban baca dan tulis pada sumber dan tujuan.

  • Jangan gunakan alat selain DTS untuk menulis data ke proyek DataHub tujuan selama migrasi. Melakukannya dapat menyebabkan inkonsistensi data.

  • Beberapa instans DTS yang berbagi database SQL Server sumber yang sama menangkap data inkremental secara independen.

  • Jika tugas gagal, dukungan teknis DTS berusaha memulihkannya dalam waktu 8 jam. Selama pemulihan, tugas mungkin dimulai ulang dan parameter tugas (bukan parameter database) mungkin dimodifikasi. Untuk parameter yang mungkin dimodifikasi, lihat Modifikasi parameter instans.

  • Migrasi data penuh menggunakan operasi INSERT konkuren, yang dapat menyebabkan fragmentasi tabel di tujuan. Ukuran ruang tabel tujuan mungkin lebih besar daripada sumber setelah migrasi.

Kasus khusus

Jika sumber adalah instans ApsaraDB RDS for SQL Server, DTS secara otomatis membuat akun bernama rdsdt_dtsacct pada instans tersebut. Jangan hapus akun ini atau ubah kata sandinya selama tugas migrasi berjalan. Lihat Akun sistem.

Penagihan

Jenis migrasiBiaya konfigurasi tugasBiaya transfer data
Migrasi skemaGratisGratis (biaya berlaku hanya saat migrasi melalui Internet dari Alibaba Cloud). Lihat Ikhtisar penagihan.
Migrasi data inkrementalDikenai biaya. Lihat Ikhtisar penagihan.

Izin akun database yang diperlukan

InstanceMigrasi skemaMigrasi data inkremental
ApsaraDB RDS for SQL Server sumberIzin baca pada objek yang akan dimigrasikanIzin kepemilikan pada objek yang akan dimigrasikan

Lihat Buat akun istimewa atau akun standar dan Modifikasi izin akun.

Buat tugas migrasi

Langkah 1: Buka halaman Migrasi Data

Gunakan salah satu konsol berikut:

DTS console

  1. Login ke Konsol DTS.

  2. Di panel navigasi kiri, klik Data Migration.

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

Konsol DMS

Jalur navigasi yang tepat bervariasi tergantung pada mode dan tata letak Konsol DMS. Lihat Mode simple dan Menyesuaikan tata letak dan gaya Konsol DMS.
  1. Login ke Konsol DMS.

  2. Di bilah navigasi atas, buka Data + AI > DTS (DTS) > Data Migration.

  3. Dari daftar drop-down di samping Data Migration Tasks, pilih wilayah tempat instans migrasi berada.

Langkah 2: Konfigurasikan tugas

  1. Klik Create Task.

  2. Konfigurasikan database sumber dan tujuan.

    Peringatan

    Setelah mengonfigurasi database sumber dan tujuan, baca Limits yang ditampilkan di bagian atas halaman sebelum melanjutkan. Melewatkan langkah ini dapat menyebabkan tugas gagal atau menghasilkan inkonsistensi data.

    Database sumber

    ParameterDeskripsi
    Task NameNama untuk tugas DTS. DTS menghasilkan nama secara otomatis. Tentukan nama deskriptif agar tugas mudah diidentifikasi. Nama tidak perlu unik.
    Select Existing ConnectionJika instans sumber telah terdaftar di DTS, pilih dari daftar drop-down. DTS akan mengisi parameter lainnya secara otomatis. Jika tidak, konfigurasikan parameter di bawah ini. Di Konsol DMS, pilih instans dari Select a DMS database instance. Lihat Kelola koneksi database.
    Database TypePilih SQL Server.
    Access MethodPilih Alibaba Cloud Instance.
    Instance RegionWilayah tempat instans ApsaraDB RDS for SQL Server sumber berada.
    Replicate Data Across Alibaba Cloud AccountsPilih No untuk migrasi dalam akun yang sama.
    RDS Instance IDID instans ApsaraDB RDS for SQL Server sumber.
    Database AccountAkun database untuk instans sumber. Lihat Izin akun database yang diperlukan.
    Database PasswordKata sandi untuk akun database.
    EncryptionPilih Non-encrypted jika SSL dinonaktifkan pada database sumber. Pilih SSL-encrypted jika SSL diaktifkan. DTS secara default mempercayai sertifikat server.

    Database tujuan

    ParameterDeskripsi
    Select Existing ConnectionJika instans tujuan telah terdaftar di DTS, pilih dari daftar drop-down. DTS akan mengisi parameter lainnya secara otomatis. Jika tidak, konfigurasikan parameter di bawah ini. Lihat Kelola koneksi database.
    Database TypePilih DataHub.
    Access MethodPilih Alibaba Cloud Instance.
    Instance RegionWilayah tempat proyek DataHub tujuan berada.
    ProjectNama proyek DataHub tujuan.
  3. Klik Test Connectivity and Proceed.

    Blok CIDR server DTS harus ditambahkan ke pengaturan keamanan database sumber dan tujuan. DTS dapat menambahkannya secara otomatis, atau Anda dapat menambahkannya secara manual. Lihat Tambahkan blok CIDR server DTS. Jika sumber atau tujuan adalah database yang dikelola sendiri dan tidak diakses melalui Alibaba Cloud Instance, klik Test Connectivity di kotak dialog CIDR Blocks of DTS Servers.

Langkah 3: Pilih objek untuk dimigrasikan

Di halaman Configure Objects, konfigurasikan parameter berikut:

ParameterDeskripsi
Migration TypesPilih Schema Migration dan Incremental Data Migration. Full Data Migration tidak tersedia untuk jalur migrasi ini. Jika Anda tidak memilih Incremental Data Migration, jangan menulis data ke database sumber selama migrasi untuk menjaga konsistensi data.
Naming Rules of Additional ColumnsSaat DTS memigrasikan data ke DataHub, DTS menambahkan kolom tambahan ke topik tujuan. Jika nama kolom ini bertabrakan dengan kolom yang sudah ada di topik, migrasi gagal. Pilih New Rule atau Previous Rule sesuai kebutuhan Anda. Periksa konflik penamaan sebelum mengonfigurasi parameter ini. Lihat Modifikasi aturan penamaan untuk kolom tambahan.
Processing Mode of Conflicting TablesPrecheck 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. Lihat Pemetaan nama database, tabel, dan kolom. Ignore Errors and Proceed: melewati pemeriksaan awal untuk nama tabel yang identik. Selama migrasi penuh, catatan tujuan yang ada dengan kunci primer yang cocok tetap dipertahankan. Selama migrasi inkremental, catatan tersebut ditimpa. Jika skema berbeda, hanya beberapa kolom yang dimigrasikan, atau tugas mungkin gagal.
Capitalization of Object Names in Destination InstanceMengontrol kapitalisasi nama database, tabel, dan kolom di tujuan. Default-nya adalah DTS default policy. Lihat Tentukan kapitalisasi nama objek di instans tujuan.
Source ObjectsPilih objek dari daftar Source Objects, lalu klik ikon panah kanan untuk menambahkannya ke Selected Objects. Anda dapat memilih kolom, tabel, atau database.
Selected ObjectsUntuk mengganti nama satu objek, klik kanan objek tersebut. Untuk mengganti nama beberapa objek sekaligus, klik Edit di pojok kanan atas. Lihat Ganti nama objek yang akan dimigrasikan dan Ganti nama beberapa objek yang akan dimigrasikan sekaligus. Catatan: nama database tidak dapat dipetakan—mengganti nama database dapat menyebabkan objek dependen gagal. Untuk memfilter baris menggunakan kondisi WHERE, klik kanan tabel. Lihat Tentukan kondisi filter.

Langkah 4: Konfigurasikan pengaturan lanjutan

Klik Next: Advanced Settings dan konfigurasikan parameter berikut:

ParameterDeskripsi
Dedicated Cluster for Task SchedulingSecara default, DTS menjadwalkan tugas pada shared cluster. Untuk stabilitas yang lebih tinggi, beli dedicated cluster. Lihat What is a DTS dedicated cluster.
Retry Time for Failed ConnectionsRentang waktu selama DTS mencoba kembali koneksi yang gagal. Nilai yang valid: 10–1.440 menit. Default: 720 menit. Atur nilai ini minimal 30 menit. DTS melanjutkan tugas jika berhasil terhubung kembali dalam rentang waktu tersebut; jika tidak, tugas akan gagal. Catatan: Jika beberapa tugas menggunakan database sumber atau tujuan yang sama, nilai Retry Time for Failed Connections yang dikonfigurasi terakhir akan digunakan. Biaya DTS tetap berlaku selama periode percobaan koneksi ulang.
Retry Time for Other IssuesRentang waktu selama DTS mencoba kembali operasi DDL atau DML yang gagal. Nilai yang valid: 1–1.440 menit. Default: 10 menit. Atur nilai ini minimal 10 menit dan selalu kurang dari nilai Retry Time for Failed Connections.
Enable Throttling for Incremental Data MigrationTersedia hanya jika Incremental Data Migration dipilih. Konfigurasikan RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s) untuk membatasi beban pada tujuan.
Environment TagTag opsional untuk mengidentifikasi instans DTS.
Configure ETLPilih Yes untuk mengaktifkan fitur extract, transform, and load (ETL) dan masukkan pernyataan pemrosesan data di editor kode. Pilih No untuk melewati ETL. Lihat What is ETL? dan Configure ETL in a data migration or data synchronization task.
Monitoring and AlertingPilih Yes untuk menerima notifikasi ketika tugas gagal atau latensi migrasi melebihi ambang batas. Konfigurasikan ambang batas peringatan dan pengaturan notifikasi. Lihat Configure monitoring and alerting when you create a DTS task.

Langkah 5: Jalankan pemeriksaan awal

Klik Next: Save Task Settings and Precheck.

Untuk melihat pratinjau parameter API untuk konfigurasi tugas ini, arahkan kursor ke Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters.

DTS menjalankan pemeriksaan awal sebelum memulai tugas migrasi. Tugas hanya dapat dimulai setelah pemeriksaan awal lolos.

Jika pemeriksaan awal gagal:

  • Klik View Details di samping setiap item yang gagal, analisis penyebabnya, selesaikan masalah, lalu klik Precheck Again.

Jika peringatan pemeriksaan awal dipicu:

  • Untuk peringatan yang tidak dapat diabaikan: klik View Details, selesaikan masalah, lalu jalankan pemeriksaan awal lagi.

  • Untuk peringatan yang dapat diabaikan: klik Confirm Alert Details > Ignore > OK, lalu klik Precheck Again. Mengabaikan peringatan dapat menyebabkan inkonsistensi data.

Langkah 6: Beli instans migrasi data

  1. Tunggu hingga Success Rate mencapai 100%, lalu klik Next: Purchase Instance.

  2. Di halaman Purchase Instance, konfigurasikan hal berikut:

    ParameterDeskripsi
    Resource GroupKelompok sumber daya untuk instans migrasi. Default: default resource group. Lihat Apa itu Resource Management?
    Instance ClassKelas instans menentukan kecepatan migrasi. Pilih kelas berdasarkan workload Anda. Lihat Kelas instans untuk instans migrasi data.
  3. Baca dan terima Data Transmission Service (Pay-as-you-go) Service Terms.

  4. Klik Buy and Start, lalu klik OK di dialog konfirmasi.

Verifikasi tugas migrasi

Setelah tugas dimulai, periksa statusnya di halaman Data Migration:

  • Completed: Tugas hanya mencakup migrasi skema (tanpa migrasi data inkremental). Tugas telah berhenti secara otomatis.

  • Running: Tugas mencakup migrasi data inkremental. Tugas berjalan terus-menerus dan tidak berhenti secara otomatis.