All Products
Search
Document Center

ApsaraDB RDS:Migrasi data antar instans ApsaraDB RDS for SQL Server

Last Updated:Aug 22, 2026

Gunakan Data Transmission Service (DTS) untuk memigrasikan database antar instans ApsaraDB RDS for SQL Server dengan downtime minimal atau nol. DTS mendukung tiga jenis migrasi—migrasi skema, migrasi data penuh, dan migrasi data inkremental—yang dapat Anda kombinasikan sesuai toleransi downtime Anda.

Pilih pendekatan migrasi

Pendekatan Jenis migrasi Downtime
Migrasi penuh Migrasi skema + Migrasi data penuh Diperlukan saat cutover
Migrasi dengan downtime minimal Migrasi skema + Migrasi data penuh + Migrasi data inkremental Hampir nol

Jika Anda melewatkan migrasi skema: Pastikan database tujuan telah berisi database dan tabel yang diperlukan sebelum memulai tugas.

Jika Anda melewatkan migrasi data inkremental: Jangan menulis ke instans sumber selama migrasi. Jika tidak, database sumber dan tujuan akan menjadi tidak konsisten.

Prasyarat

Sebelum memulai, pastikan Anda telah:

Penagihan

Jenis migrasi Biaya konfigurasi instans Biaya lalu lintas internet
Migrasi skema + Migrasi data penuh Gratis Dikenakan biaya ketika Access Method diatur ke Public IP Address. Lihat Ikhtisar penagihan
Migrasi data inkremental Dikenakan biaya. Lihat Ikhtisar penagihan

Izin yang diperlukan

Pastikan akun database untuk instans sumber dan tujuan memiliki izin berikut. Untuk membuat atau mengubah akun, lihat buat akun dan ubah izin akun.

Database Migrasi skema Migrasi penuh Migrasi inkremental
Instans sumber Baca Baca Owner pada objek yang akan dimigrasikan
Instans tujuan Baca dan tulis

Batasan dan catatan penggunaan

Tinjau semua batasan sebelum mengonfigurasi tugas migrasi. Mengabaikannya dapat menyebabkan kegagalan tugas, ketidakkonsistenan data, atau kehilangan data.

Batas skala

  • Satu tugas migrasi mendukung hingga 10 database. Melebihi batas ini dapat menyebabkan masalah stabilitas dan performa. Pisahkan database ke beberapa tugas jika diperlukan.

  • Untuk migrasi inkremental, jumlah tabel dari database sumber harus di bawah 1.000. Melebihi batas ini dapat menyebabkan latensi atau ketidakstabilan tugas.

  • Saat menggunakan pemetaan nama objek untuk mengganti nama tabel di tujuan, satu tugas mendukung hingga 1.000 tabel. Melebihi batas ini menyebabkan error permintaan. Pisahkan tugas atau migrasikan seluruh database sebagai gantinya.

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

    • Lebih dari 10 database

    • Frekuensi backup log melebihi sekali per jam untuk satu database

    • Frekuensi DDL melebihi 100 per jam untuk satu database

    • Volume log melebihi 20 MB/s untuk satu database

Persyaratan struktur tabel

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

  • Jika mode sinkronisasi inkremental diatur ke Incremental synchronization based on logs of source database (heap tables are not supported), tabel harus memiliki indeks terkluster yang mencakup kolom kunci primer. Tabel heap, tabel tanpa kunci primer, tabel terkompresi, dan tabel dengan kolom terhitung tidak didukung.

  • Jika mode sinkronisasi inkremental diatur ke Hybrid log-based parsing, batasan struktur tabel di atas tidak berlaku, tetapi pekerjaan Change Data Capture (CDC) di database sumber harus berjalan dengan baik.

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

Batasan operasi DDL

  • Jangan melakukan operasi DDL (seperti memodifikasi struktur tabel atau database) selama migrasi skema atau migrasi data penuh. Tugas akan gagal.

  • Jangan menjalankan operasi tambah/hapus kolom secara berkelanjutan selama migrasi inkremental. Lebih dari dua operasi DDL tambah atau hapus kolom dalam satu menit dapat menyebabkan kegagalan tugas. Pertahankan interval antar operasi tersebut lebih dari 10 menit.

  • DTS tidak dapat memigrasikan operasi DDL pada kunci primer tabel yang diaktifkan CDC-nya.

  • DTS tidak memigrasikan: DDL transaksional (DDL multi-kolom atau DDL yang dikombinasikan dengan DML dalam satu pernyataan), DDL dengan tipe yang ditentukan pengguna, DDL Online, DDL pada objek yang namanya mengandung kata kunci yang dicadangkan, atau DDL yang dijalankan melalui prosedur tersimpan sistem.

Batasan pengindeksan ulang

Jangan melakukan operasi pengindeksan ulang selama migrasi data inkremental. Tugas mungkin gagal dan kehilangan data dapat terjadi.

Tipe data yang tidak didukung

Tipe data berikut tidak didukung: CURSOR, ROWVERSION, SQL_VARIANT, HIERARCHYID, POLYGON, GEOMETRY, GEOGRAPHY.

Persyaratan retensi log

  • Hanya migrasi inkremental: simpan log database sumber selama lebih dari 24 jam.

  • Migrasi data penuh + migrasi data inkremental: simpan log selama minimal 7 hari (setelah migrasi penuh selesai, periode ini dapat dikurangi menjadi lebih dari 24 jam).

  • Untuk tugas migrasi inkremental, log data database sumber harus diaktifkan, mode backup harus diatur ke Full, dan backup fisik penuh harus berhasil diselesaikan.

Persyaratan konfigurasi CDC

  • Jika CDC perlu diaktifkan pada tabel sumber, bidang srvname dalam tampilan sys.sysservers harus sesuai dengan nilai kembali fungsi SERVERPROPERTY.

  • Jika database sumber adalah ApsaraDB RDS for SQL Server, pemilik database harus sqlsa.

  • Komponen CDC menyimpan data inkremental selama 3 hari secara default. Sesuaikan periode ini berdasarkan kebutuhan bisnis Anda.

  • Jika rata-rata harian perubahan SQL inkremental untuk satu tabel melebihi 10 juta, atur waktu retensi CDC menjadi 1.440 menit (1 hari).

  • Jika satu bidang dalam tabel yang diaktifkan CDC perlu menulis data melebihi 64 KB, jalankan perintah berikut pada database sumber sebelum memulai tugas:

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

Pemicu dan kunci asing

Jika tugas migrasi mencakup migrasi data inkremental, nonaktifkan semua pemicu dan kunci asing di database tujuan sebelum memulai. Jika tidak, tugas mungkin gagal atau kehilangan data dapat terjadi.

Pemberian nama database

Jika nama database yang akan dimigrasikan tidak sesuai dengan Konvensi penamaan ApsaraDB RDS for SQL Server, buat database tersebut di instans tujuan secara manual sebelum mengonfigurasi tugas migrasi.

Enkripsi Data Transparan (TDE)

Jika database sumber adalah ApsaraDB RDS for SQL Server dan tugas mencakup migrasi inkremental, nonaktifkan TDE untuk memastikan operasi stabil instans migrasi.

Akun sistem DTS

Jangan menghapus atau memodifikasi akun sistem DTS (seperti rdsdt_dtsacct) selama eksekusi tugas. Tugas akan gagal.

Risiko auto-resume dan cutover tugas

DTS secara otomatis mencoba melanjutkan tugas migrasi yang gagal dalam 7 hari terakhir. Sebelum beralih beban kerja ke instans tujuan, akhiri atau lepas tugas tersebut, atau cabut izin tulis akun DTS pada instans tujuan. Jika tidak, data di instans tujuan mungkin ditimpa.

Catatan lainnya

  • Pastikan server yang menghosting database sumber memiliki bandwidth keluar yang cukup. Bandwidth yang tidak mencukupi mengurangi kecepatan migrasi. Kami merekomendasikan menjalankan tugas migrasi selama jam sepi untuk menghindari peningkatan beban database.

  • Untuk migrasi lintas versi, periksa kompatibilitas terlebih dahulu. Lihat Perbedaan fitur antar versi ApsaraDB RDS for SQL Server.

  • Selama penguraian berbasis log hibrida, DTS membuat objek berikut di database sumber: pemicu dts_cdc_sync_ddl, tabel heartbeat dts_sync_progress, dan tabel penyimpanan DDL dts_cdc_ddl_history. Objek ini tidak dapat dihapus secara manual.

  • Selama migrasi data penuh, aktifkan mode isolasi transaksi READ_COMMITTED_SNAPSHOT pada database sumber untuk menghindari shared lock yang memengaruhi operasi tulis.

  • Setelah migrasi data penuh selesai, penyimpanan tabel tujuan mungkin lebih besar daripada sumber karena fragmentasi dari operasi INSERT bersamaan.

  • Migrasi data inkremental tidak didukung ketika versi database sumber adalah ApsaraDB RDS for SQL Server 2008 atau 2008 R2.

Konfigurasi tugas migrasi

Langkah 1: Hubungkan database sumber dan tujuan

  1. Buka Konsol Data Transmission Service (DTS).

  2. Di panel navigasi kiri, klik Data Migration dan pilih wilayah.

  3. Klik Create Task dan konfigurasi koneksi database sumber dan tujuan.

    Bagian Parameter Deskripsi
    Task Name Masukkan nama deskriptif untuk memudahkan identifikasi. Tidak perlu unik.
    Source Database Select Existing Connection Jika Anda sebelumnya menyimpan detail koneksi di halaman Manajemen Koneksi Data DTS, pilih koneksi di sini untuk melewati entri manual.
    Database Type Pilih SQL Server.
    Access Method Pilih Cloud Instance.
    Instance Region Pilih wilayah instans ApsaraDB RDS for SQL Server sumber.
    Replicate Data Across Alibaba Cloud Accounts Pilih No untuk migrasi antar instans dalam Akun Alibaba Cloud yang sama.
    RDS Instance ID Pilih ID instans sumber.
    Database Account Masukkan akun database instans sumber dengan izin yang diperlukan.
    Database Password Masukkan password untuk akun database.
    Encryption Pilih Non-encrypted jika SSL tidak diaktifkan. Pilih SSL-encrypted jika database sumber telah mengaktifkan Secure Sockets Layer (SSL) — DTS secara default mempercayai sertifikat server.
    Destination Database Select Existing Connection Jika Anda sebelumnya menyimpan detail koneksi di halaman Manajemen Koneksi Data DTS, pilih koneksi di sini untuk melewati entri manual.
    Database Type Pilih SQL Server.
    Access Method Pilih Cloud Instance.
    Instance Region Pilih wilayah instans ApsaraDB RDS for SQL Server tujuan.
    Instance ID Pilih ID instans tujuan.
    Database Account Masukkan akun database instans tujuan dengan izin yang diperlukan.
    Database Password Masukkan password untuk akun database.
    Encryption Pilih Non-encrypted jika SSL tidak diaktifkan. Pilih SSL-encrypted jika database tujuan telah mengaktifkan SSL — DTS secara default mempercayai sertifikat server.
  4. Klik Test Connectivity and Proceed.

    Pastikan rentang alamat IP server DTS telah ditambahkan ke pengaturan keamanan database sumber dan tujuan. Lihat Tambahkan blok CIDR server DTS ke pengaturan keamanan.

Langkah 2: Pilih objek untuk dimigrasikan

Di halaman Configure Objects, konfigurasi pengaturan migrasi.

Parameter Deskripsi
Migration Types Pilih jenis migrasi yang sesuai dengan pendekatan Anda. Untuk migrasi penuh: pilih Schema Migration dan Full Data Migration. Untuk migrasi dengan downtime minimal: pilih Schema Migration, Full Data Migration, dan Incremental Data Migration.
Method to Migrate Triggers in Source Database Pilih metode migrasi pemicu berdasarkan kebutuhan Anda. Lewati jika objek yang dimigrasikan tidak mengandung pemicu. Parameter ini tersedia hanya ketika Schema Migration dan Incremental Data Migration dipilih.
SQL Server Incremental Synchronization Mode Tersedia hanya ketika Incremental Data Migration dipilih. Lihat Mode sinkronisasi inkremental untuk perbandingan.
The maximum number of tables for which CDC is enabled that DTS supports Atur jumlah maksimum tabel yang diaktifkan CDC-nya untuk instans migrasi saat ini. Default: 1.000. Tidak tersedia ketika mode sinkronisasi adalah Sinkronisasi inkremental berdasarkan log database sumber (tabel heap tidak didukung).
Processing Mode of Conflicting Tables Precheck and Report Errors (default): DTS memeriksa tabel di tujuan yang memiliki nama sama dengan sumber. Tugas hanya dimulai jika tidak ada konflik. Ignore Errors and Proceed: Melewati pemeriksaan ini. Selama migrasi penuh, DTS mempertahankan catatan yang ada di tujuan dan melewatkan catatan sumber yang konflik. Selama migrasi inkremental, data sumber baru mungkin menimpa data tujuan, menyebabkan kehilangan data. Gunakan dengan hati-hati.
Source Objects Pilih objek yang akan dimigrasikan dan klik ikon panah untuk memindahkannya ke Selected Objects. Memilih tabel atau kolom mengecualikan jenis objek lain seperti view, trigger, dan stored procedure.
Selected Objects Untuk mengganti nama satu objek di tujuan, klik kanan objek tersebut. Lihat Petakan nama satu objek. Untuk mengganti nama beberapa objek, klik Batch Edit. Lihat Petakan beberapa nama objek sekaligus. Untuk memfilter baris berdasarkan kondisi, klik kanan tabel dan konfigurasi kondisi filter.
Mengganti nama objek dapat menyebabkan objek dependen gagal dimigrasikan.

Langkah 3: Konfigurasi pengaturan lanjutan

Klik Next: Advanced Settings dan konfigurasi opsi berikut.

Parameter Deskripsi
Dedicated Cluster for Task Scheduling Secara default, DTS menggunakan klaster bersama. Untuk stabilitas lebih tinggi, beli klaster khusus. Lihat Apa itu klaster khusus DTS.
Retry Time for Failed Connections Berapa lama DTS mencoba koneksi yang gagal setelah tugas dimulai. Nilai valid: 10–1.440 menit. Default: 720. Atur ke nilai lebih dari 30. Selama percobaan ulang, Anda dikenai biaya untuk instans DTS.
Retry Time for Other Issues Berapa lama DTS mencoba ulang operasi DDL atau DML yang gagal. Nilai valid: 1–1.440 menit. Default: 10. Atur ke nilai lebih dari 10. Harus lebih kecil dari Retry Time for Failed Connections.
Enable Throttling for Full Data Migration Membatasi penggunaan sumber daya baca/tulis selama migrasi data penuh untuk mengurangi beban database. Konfigurasi QPS (queries per second) to the source database, RPS Migrasi Data Penuh, dan Kecepatan migrasi data untuk migrasi penuh (MB/s). Tersedia hanya ketika Full Data Migration dipilih.
Enable Throttling for Incremental Data Migration Membatasi penggunaan sumber daya selama migrasi inkremental. Konfigurasi RPS of Incremental Data Migration dan Kecepatan migrasi data untuk migrasi inkremental (MB/s). Tersedia hanya ketika Incremental Data Migration dipilih.
Environment Tag Tag opsional untuk mengidentifikasi instans DTS berdasarkan lingkungan.
Configure ETL Pilih Yes untuk mengonfigurasi pemrosesan ekstrak, transformasi, dan muat (ETL). Lihat Konfigurasi ETL dalam tugas migrasi data atau sinkronisasi data. Pilih No untuk melewati.
Monitoring and Alerting Pilih Yes untuk menerima notifikasi ketika tugas gagal atau latensi melebihi ambang batas. Konfigurasi ambang batas peringatan dan kontak notifikasi. Lihat Konfigurasi pemantauan dan peringatan.

Langkah 4: Konfigurasi verifikasi data (opsional)

Klik Next Step: Data Verification untuk mengatur tugas verifikasi data. Lihat Konfigurasi tugas verifikasi data.

Langkah 5: Jalankan pemeriksaan awal dan beli instans

  1. 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.
  2. Tunggu hingga pemeriksaan awal selesai. Jika ada item yang gagal, klik View Details, atasi masalahnya, dan jalankan pemeriksaan awal lagi. Jika suatu item memicu peringatan yang dapat diabaikan, klik Confirm Alert Details > Ignore > OK, lalu klik Precheck Again. Mengabaikan peringatan dapat menyebabkan ketidakkonsistenan data.

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

  4. Di halaman Purchase Instance, konfigurasi kelas instans.

    Parameter Deskripsi
    Resource Group Kelompok sumber daya untuk instans migrasi. Default: default resource group. Lihat Apa itu Manajemen Resource?
    Instance Class Pilih kelas instans berdasarkan kecepatan migrasi yang diperlukan. Lihat Kelas instans migrasi data.
  5. Terima Data Transmission Service (Pay-as-you-go) Service Terms dan klik Buy and Start. Di dialog konfirmasi, klik OK.

Monitor tugas

Lihat progres tugas di halaman Data Migration.

  • Tugas tanpa migrasi data inkremental berhenti otomatis saat selesai. Status menunjukkan Completed.

  • Tugas dengan migrasi data inkremental berjalan terus-menerus dan tidak berhenti otomatis. Status menunjukkan Running.

Mode sinkronisasi inkremental

Bagian ini berlaku ketika Incremental Data Migration dipilih sebagai jenis migrasi.

Mode Keuntungan Kerugian Gunakan saat
Penguraian berbasis log hibrida (Penguraian berbasis log untuk tabel non-heap dan sinkronisasi inkremental berbasis CDC untuk tabel heap) Mendukung tabel heap, tabel tanpa kunci primer, tabel terkompresi, dan tabel dengan kolom terhitung. Menyediakan variasi pernyataan DDL yang lebih luas. DTS membuat pemicu dts_cdc_sync_ddl, tabel heartbeat dts_sync_progress, dan tabel penyimpanan DDL dts_cdc_ddl_history di database sumber. Mengaktifkan CDC tingkat database dan tingkat tabel. SELECT INTO, TRUNCATE, dan RENAME COLUMN tidak dapat dijalankan pada tabel yang diaktifkan CDC-nya. Pemicu database sumber yang dibuat DTS tidak dapat dihapus secara manual. Tabel sumber mencakup tabel heap, tabel tanpa kunci primer, atau tabel terkompresi atau tabel dengan kolom terhitung. Edisi sumber yang didukung: Enterprise atau Enterprise Evaluation (2012, 2014, 2016, 2019, 2022), Standard (2016, 2019, 2022).
Sinkronisasi inkremental berdasarkan log database sumber (tabel heap tidak didukung) Tidak ada perubahan yang dilakukan pada database sumber. Tidak mendukung tabel heap, tabel tanpa kunci primer, tabel terkompresi, atau tabel dengan kolom terhitung. Sumber adalah edisi web RDS for SQL Server (mode ini wajib). Tabel sumber memenuhi semua persyaratan struktural.
Polling dan kueri instans CDC untuk sinkronisasi inkremental Mendukung migrasi dari Amazon RDS for SQL Server, Azure SQL Database, Azure SQL Managed Instance, Azure SQL Server on Virtual Machine, dan Google Cloud SQL for SQL Server. Menggunakan komponen CDC native SQL Server untuk migrasi inkremental yang stabil dengan penggunaan bandwidth jaringan lebih rendah. Akun DTS harus memiliki izin untuk mengaktifkan CDC. Migrasi inkremental memiliki latensi sekitar 10 detik. Masalah stabilitas dan performa dapat terjadi saat memigrasikan banyak database dan tabel secara bersamaan. Sumber adalah instans SQL Server cloud pihak ketiga di luar Alibaba Cloud.

Lampiran: Operasi SQL yang didukung untuk migrasi inkremental

Operasi DML

INSERT, UPDATE, DELETE

DTS tidak memigrasikan pernyataan UPDATE yang hanya memperbarui bidang objek besar (LOB).

Operasi DDL

  • ALTER TABLE — hanya mendukung ADD COLUMN, DROP COLUMN, dan RENAME COLUMN

  • CREATE TABLE, CREATE INDEX

    CREATE TABLE tidak mendukung partisi atau fungsi dalam definisi tabel.
  • DROP TABLE

  • RENAME TABLE

Operasi DDL berikut tidak dimigrasikan:
DDL transaksional (DDL multi-kolom atau DDL yang dikombinasikan dengan DML dalam satu pernyataan) — kehilangan data dapat terjadi
DDL dengan tipe yang ditentukan pengguna
DDL Online
DDL pada objek yang namanya mengandung kata kunci yang dicadangkan
DDL yang dijalankan melalui prosedur tersimpan sistem
TRUNCATE TABLE