全部产品
Search
文档中心

ApsaraDB RDS:Migrasi database SQL Server ke ApsaraDB RDS for SQL Server

更新时间:Aug 23, 2025

Topik ini menjelaskan solusi umum untuk migrasi database SQL Server ke ApsaraDB RDS for SQL Server. Anda dapat memilih solusi berdasarkan lokasi sumber data, alat yang digunakan, serta manfaat dan batasan masing-masing solusi.

Persiapan

Solusi migrasi cloud

Solusi migrasi fisik

Solusi

Prosedur

Referensi

Gunakan Object Storage Service (OSS) untuk Migrasi Data Secara Manual

  1. Atur parameter backup_type database sumber ke FULL.

  2. Cadangkan data penuh dan unggah data cadangan ke Bucket OSS.

  3. Cadangkan dan unggah log inkremental secara terjadwal.

  4. Hentikan penulisan data ke database sumber. Setelah log inkremental terakhir berhasil diputar ulang, alihkan beban kerja ke database tujuan.

Gunakan Data Disaster Recovery dan DTS untuk Migrasi Data Cepat

  1. Sebarkan gateway protokol fisik.

  2. Gunakan DTS untuk migrasi data ke cloud. Sistem memanggil operasi API OSS untuk mengunggah data cadangan ke Bucket OSS.

  3. Hentikan penulisan data ke database sumber. Setelah log inkremental terakhir berhasil diputar ulang, alihkan beban kerja ke database tujuan.

Migrasi Data dari Database SQL Server yang Dikelola Sendiri ke Instans ApsaraDB RDS for SQL Server Menggunakan Gateway Fisik

Solusi migrasi logis

Solusi

Prosedur

Referensi

Gunakan DTS untuk Migrasi Data dalam Mode Penguraian Log

  1. Gunakan DTS untuk migrasi data ke cloud.

    Catatan

    Atur parameter SQL Server Incremental Synchronization Mode menjadi Incremental Synchronization Based on Logs of Source Database (Heap tables are not supported).

  2. Hentikan penulisan data ke database sumber. Setelah log inkremental terakhir berhasil diputar ulang, alihkan beban kerja ke database tujuan.

Gunakan DTS untuk Migrasi Data dalam Mode Penguraian Log Hibrida

  1. Gunakan DTS untuk migrasi data ke cloud.

    Catatan

    Atur parameter SQL Server Incremental Synchronization Mode menjadi Log-based Parsing for Non-heap Tables and CDC-based Incremental Synchronization for Heap Tables (Hybrid Log-based Parsing).

  2. Hentikan penulisan data ke database sumber. Setelah log inkremental terakhir berhasil diputar ulang, alihkan beban kerja ke database tujuan.

Gunakan DTS untuk Migrasi Data dalam Mode Polling dan Kueri Instance CDC

  1. Gunakan DTS untuk migrasi data ke cloud.

    Catatan

    Atur parameter SQL Server Incremental Synchronization Mode menjadi Polling and querying CDC instances for incremental synchronization.

  2. Hentikan penulisan data ke database sumber. Setelah log inkremental terakhir berhasil diputar ulang, alihkan beban kerja ke database tujuan.

Solusi lainnya

Solusi

Prosedur

Referensi

Gunakan SSMS untuk migrasi data

  1. Hentikan penulisan data ke database sumber.

  2. Gunakan SSMS untuk mengekspor data dari database sumber.

  3. Gunakan SSMS untuk mengimpor data yang diekspor ke database tujuan.

  4. Setelah konsistensi data diverifikasi, alihkan beban kerja ke database tujuan.

Gunakan SSMS untuk migrasi data ke instans RDS for SQL Server

Perbandingan solusi migrasi cloud

Solusi migrasi fisik

Solusi

Manfaat

Batasan

Gunakan OSS untuk Migrasi Data Secara Manual

  • Fitur cadangan dan pemulihan yang disediakan oleh SQL Server mendukung sejumlah besar skenario.

  • Kecepatan migrasi cepat.

  • Anda dapat mengubah nama file cadangan secara manual berdasarkan format nama file log database sumber.

  • Anda harus mencadangkan dan mengunggah log secara manual, yang cukup rumit.

  • Anda hanya dapat memigrasikan satu database dalam satu waktu.

  • Anda harus menghentikan penulisan data ke database sumber dan menunggu hingga log inkremental terakhir berhasil diputar ulang sebelum beralih beban kerja ke database baru. Oleh karena itu, layanan mungkin terganggu selama beberapa menit.

  • Versi database tujuan tidak boleh lebih lama daripada versi database sumber.

  • Fitur pemetaan nama untuk database, tabel, dan kolom tidak didukung.

Gunakan Data Disaster Recovery dan DTS untuk Migrasi Data Cepat

  • Operasi migrasi dilakukan di Konsol DTS. Konfigurasi dan operasi mudah dan nyaman.

  • Anda dapat memigrasikan beberapa database dalam satu waktu.

  • Fitur cadangan dan pemulihan yang disediakan oleh SQL Server mendukung sejumlah besar skenario.

  • Kecepatan migrasi cepat.

  • Ekstensi file log cadangan harus bak.

  • Anda harus menghentikan penulisan data ke database sumber dan menunggu hingga log inkremental terakhir berhasil diputar ulang sebelum beralih beban kerja ke database tujuan. Oleh karena itu, layanan mungkin terganggu selama beberapa menit.

  • Anda harus menginstal AliyunDBSAgent di server database sumber.

  • Versi database tujuan tidak boleh lebih lama daripada versi database sumber.

  • Fitur pemetaan nama untuk database, tabel, dan kolom tidak didukung.

Solusi migrasi logis

Solusi

Manfaat

Batasan

Gunakan DTS untuk Migrasi Data dalam Mode Penguraian Log

  • Operasi migrasi dilakukan di Konsol DTS. Konfigurasi dan operasi mudah dan nyaman.

  • Anda dapat memigrasikan data antar database versi berbeda.

  • Fitur pemetaan nama untuk database, tabel, dan kolom didukung.

  • Saat memigrasikan data inkremental menggunakan DTS, Anda tidak perlu menghentikan penulisan data ke database sumber. Kontinuitas layanan terjamin.

  • Anda dapat memigrasikan data dari platform cloud pihak ketiga ke Alibaba Cloud.

    Contohnya, Anda dapat memigrasikan data penuh dari Amazon RDS for SQL Server ke Alibaba Cloud dan memigrasikan data penuh dan inkremental dari Microsoft Azure SQL Database dalam mode NoSQL ke Alibaba Cloud.

  • Hanya beberapa pernyataan DDL yang dapat dimigrasikan. Jika lebih dari 100 pernyataan DDL dijalankan per jam, kecepatan migrasi mungkin menurun.

  • Jika kecepatan penulisan log di database sumber melebihi 10 MB/s, 30 GB/jam, atau 500 GB/hari, tugas mungkin tertunda atau bahkan gagal.

  • Jika frekuensi pencadangan log di database sumber melebihi satu kali per jam, DTS mungkin gagal mendapatkan log cadangan lokal. Kami merekomendasikan agar Anda menyimpan log cadangan selama tiga hari di disk lokal.

  • DTS membuat pemicu dan tabel penyimpanan DDL di database sumber untuk menangkap perubahan DDL.

  • Anda harus menonaktifkan kendala FOREIGN KEY selama migrasi data inkremental. Jika tidak, tugas mungkin gagal.

  • Tabel heap, tabel tanpa kunci utama, tabel terkompresi, dan tabel yang berisi kolom terhitung tidak dapat dimigrasikan.

  • Tabel tanpa PRIMARY KEY atau UNIQUE constraints mungkin berisi data duplikat. Jika Anda ingin mempertahankan tabel tanpa PRIMARY KEY atau UNIQUE constraints, kami merekomendasikan agar Anda tidak menggunakan solusi ini.

  • DTS menggunakan fungsi fn_log untuk menarik dan menguraikan log. Fungsi ini tidak stabil. Jika operasi tak terduga terjadi, tugas mungkin gagal.

  • Anda dapat memigrasikan tidak lebih dari 10 database dalam satu tugas migrasi data. Jika tidak, masalah stabilitas dan kinerja mungkin terjadi.

Gunakan DTS untuk Migrasi Data dalam Mode Penguraian Log Hibrida

  • Operasi migrasi dilakukan di Konsol DTS. Konfigurasi dan operasi mudah dan nyaman.

  • Anda dapat memigrasikan data antar database versi berbeda.

  • Fitur pemetaan nama untuk database, tabel, dan kolom didukung.

  • Tabel heap, tabel tanpa kunci utama, dan tabel terkompresi dapat dimigrasikan.

  • Anda dapat memigrasikan data dari platform cloud pihak ketiga ke Alibaba Cloud.

    Contohnya, Anda dapat memigrasikan data penuh dari Amazon RDS for SQL Server ke Alibaba Cloud dan memigrasikan data penuh dan inkremental dari Microsoft Azure SQL Database dalam mode NoSQL ke Alibaba Cloud.

  • Database SQL Server sumber harus SQL Server 2008 atau lebih baru dari Edisi Perusahaan, atau SQL Server 2016 SP1 atau lebih baru dari Edisi Standar, tidak termasuk SQL Server 2017.

  • Hanya beberapa pernyataan DDL yang dapat dimigrasikan. Jika lebih dari 100 pernyataan DDL dijalankan per jam, kecepatan migrasi terpengaruh.

  • Jika kecepatan penulisan log di database sumber melebihi 10 MB/s, 30 GB/jam, atau 500 GB/hari, tugas mungkin tertunda atau bahkan gagal.

  • Jika frekuensi pencadangan log di database sumber melebihi satu kali per jam, DTS mungkin gagal mendapatkan log cadangan lokal. Kami merekomendasikan agar Anda menyimpan log cadangan selama tiga hari di disk lokal.

  • DTS mengaktifkan CDC untuk database dan beberapa tabel serta membuat pemicu dan tabel penyimpanan DDL di database sumber untuk menangkap perubahan DDL.

  • Anda harus menonaktifkan kendala FOREIGN KEY selama migrasi data inkremental. Jika tidak, tugas mungkin gagal.

  • Tabel yang berisi kolom terhitung tidak dapat dimigrasikan.

  • Tabel tanpa PRIMARY KEY atau UNIQUE constraints mungkin berisi data duplikat. Jika Anda ingin mempertahankan tabel tanpa PRIMARY KEY atau UNIQUE constraints, kami merekomendasikan agar Anda tidak menggunakan solusi ini.

  • DTS menggunakan fungsi fn_log untuk menarik dan menguraikan log. Fungsi ini tidak stabil. Jika operasi tak terduga terjadi, tugas mungkin gagal.

  • Anda dapat memigrasikan tidak lebih dari 10 database dalam satu tugas migrasi data. Jika tidak, masalah stabilitas dan kinerja mungkin terjadi.

Gunakan DTS untuk Migrasi Data dalam Mode Polling dan Kueri Instance CDC

  • Operasi migrasi dilakukan di Konsol DTS. Konfigurasi dan operasi mudah dan nyaman.

  • Anda dapat memigrasikan data antar database versi berbeda.

  • Fitur pemetaan nama untuk database, tabel, dan kolom didukung.

  • Anda dapat memigrasikan data dari platform cloud pihak ketiga ke Alibaba Cloud.

    Contohnya, Anda dapat memigrasikan data penuh dan inkremental dari Amazon RDS for SQL Server, Microsoft Azure SQL Database, atau Google Cloud SQL for SQL Server ke Alibaba Cloud.

  • Migrasi data inkremental lebih stabil dan mengonsumsi lebih sedikit lebar pita jaringan.

    Jika Anda menggunakan komponen CDC asli SQL Server untuk mendapatkan data inkremental, Anda tidak perlu menangkap data dari log transaksi database sumber. Pemotongan log di database sumber tidak memengaruhi instans DTS.

  • Jika database sumber adalah VM Microsoft Azure yang menjalankan SQL Server Edisi Perusahaan, versinya harus SQL Server 2008 atau lebih baru. Jika database sumber adalah VM Microsoft Azure yang menjalankan SQL Server Edisi Standar, versinya harus SQL Server 2016 SP1 atau lebih baru. SQL Server 2017 tidak didukung.

  • Akun yang digunakan DTS untuk mengakses database sumber harus memiliki izin untuk mengaktifkan CDC tingkat database dan tabel. Untuk mengaktifkan CDC tingkat database, akun yang ditetapkan ke peran sysadmin diperlukan. Untuk mengaktifkan CDC tingkat tabel, akun istimewa diperlukan.

    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 CDC. Untuk database yang menggunakan model pembelian berbasis DTU, hanya spesifikasi S3 dan lebih baru yang mendukung CDC.

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

    • Tabel indeks penyimpanan kolom terkluster tidak mendukung CDC.

    • Modul prasyarat tugas migrasi inkremental DTS mengaktifkan CDC untuk database sumber. Selama proses ini, database sumber mungkin terkunci singkat karena batasan kernel database SQL Server.

  • Anda tidak dapat menjalankan tugas DTS untuk memigrasikan lebih dari 1.000 tabel dari database sumber. Jika tidak, tugas mungkin tertunda atau tidak stabil.

  • Anda dapat memigrasikan tidak lebih dari 10 database dalam satu tugas migrasi data. Jika tidak, masalah stabilitas dan kinerja mungkin terjadi.

  • Anda dapat memigrasikan tidak lebih dari 10 database dalam satu tugas migrasi data. Jika tidak, masalah stabilitas dan kinerja mungkin terjadi.

  • Tabel tanpa PRIMARY KEY atau UNIQUE constraints mungkin berisi data duplikat. Jika Anda ingin mempertahankan tabel tanpa PRIMARY KEY atau UNIQUE constraints, kami merekomendasikan agar Anda tidak menggunakan solusi ini.

  • Migrasi data inkremental memiliki latensi sekitar 10 detik.

  • Anda tidak dapat melakukan operasi berturut-turut untuk menambah dan menghapus kolom (lebih dari dua operasi DDL untuk menambah atau menghapus kolom dalam satu menit). Jika tidak, tugas mungkin gagal.

  • Anda tidak dapat melakukan operasi perubahan pada instance CDC database sumber. Jika tidak, tugas mungkin gagal atau data mungkin hilang.

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

Solusi lainnya

Solusi

Manfaat

Batasan

Gunakan SSMS untuk migrasi data

Operasi mudah, proses stabil, dan risiko inkonsistensi data rendah.

  • Anda harus menghentikan penulisan data ke database sumber. Jika tidak, inkonsistensi data mungkin terjadi.

  • Anda harus secara manual melakukan migrasi menggunakan SSMS.

Pilih solusi migrasi cloud

Penting

Jika sumber data tidak mendukung migrasi data inkremental, Anda harus menghentikan penulisan data ke database sumber sebelum memigrasikan data ke cloud.

Sumber Data

Dukungan untuk Migrasi Inkremental

Solusi yang Didukung

Solusi yang Direkomendasikan

Database SQL Server yang Dikelola Sendiri

Ya

  • Gunakan OSS untuk Memigrasikan Data Secara Manual ke Cloud Berdasarkan File Cadangan Fisik

  • Gunakan Data Disaster Recovery dan DTS untuk Memigrasikan Data ke Cloud Berdasarkan File Cadangan Fisik

  • Gunakan DTS untuk Melakukan Migrasi Cloud Logis

Gunakan Data Disaster Recovery dan DTS untuk Memigrasikan Data ke Cloud Berdasarkan File Cadangan Fisik

Azure SQL Database

Ya

  • Gunakan DTS untuk Melakukan Migrasi Cloud Logis

    Catatan

    Jika Anda ingin memigrasikan data inkremental, Anda harus mengatur parameter SQL Server Incremental Synchronization Mode menjadi Polling and querying CDC instances for incremental synchronization.

  • Gunakan Konsol ApsaraDB RDS untuk Melakukan Migrasi Cloud End-to-End

  • Gunakan SSMS untuk Melakukan Migrasi Cloud

Gunakan Konsol ApsaraDB RDS untuk Melakukan Migrasi Cloud End-to-End atau Gunakan DTS untuk Melakukan Migrasi Cloud Logis

Azure SQL Managed Instance

SQL Server on Azure Virtual Machines

  • Gunakan DTS untuk Melakukan Migrasi Cloud Logis

    Catatan

    Jika Anda ingin memigrasikan data inkremental, Anda harus mengatur parameter SQL Server Incremental Synchronization Mode menjadi Polling and querying CDC instances for incremental synchronization.

  • Gunakan Konsol ApsaraDB RDS untuk Melakukan Migrasi Cloud End-to-End

  • Gunakan SSMS untuk Melakukan Migrasi Cloud

  • Gunakan OSS untuk Memigrasikan Data Secara Manual ke Cloud Berdasarkan File Cadangan Fisik

Amazon RDS for SQL Server

Ya

  • Gunakan DTS untuk Melakukan Migrasi Cloud Logis

    Catatan

    Jika Anda ingin memigrasikan data inkremental, Anda harus mengatur parameter SQL Server Incremental Synchronization Mode menjadi Polling and querying CDC instances for incremental synchronization.

  • Gunakan Konsol ApsaraDB RDS untuk Melakukan Migrasi Cloud End-to-End

  • Gunakan SSMS untuk Melakukan Migrasi Cloud

  • Gunakan OSS untuk Memigrasikan Data Secara Manual ke Cloud Berdasarkan File Cadangan Fisik

Gunakan Konsol ApsaraDB RDS untuk Melakukan Migrasi Cloud End-to-End atau Gunakan DTS untuk Melakukan Migrasi Cloud Logis

Huawei Cloud RDS for SQL Server

Tidak

  • Gunakan SSMS untuk Melakukan Migrasi Cloud

  • Gunakan DTS untuk Melakukan Migrasi Cloud Logis untuk Migrasi Data Penuh

  • Gunakan OSS untuk Memigrasikan Data Penuh Secara Manual ke Cloud Berdasarkan File Cadangan Fisik

Gunakan OSS untuk Memigrasikan Data Penuh Secara Manual ke Cloud Berdasarkan File Cadangan Fisik

Catatan
  • Jika database sumber menjalankan SQL Server 2008 R2, kami merekomendasikan agar Anda meningkatkan versi database sebelum melakukan operasi.

  • Untuk informasi tentang cara membuat dan mengunduh file cadangan secara manual di Huawei Cloud RDS for SQL Server, lihat dokumentasi resmi Huawei Cloud.

TencentDB for SQL Server Database

Ya

  • Gunakan DTS untuk Melakukan Migrasi Cloud Logis

  • Gunakan OSS untuk Memigrasikan Data Secara Manual ke Cloud Berdasarkan File Cadangan Fisik

  • Gunakan SSMS untuk Melakukan Migrasi Cloud

Gunakan DTS untuk Melakukan Migrasi Cloud Logis

Tidak

Gunakan SSMS untuk Melakukan Migrasi Cloud

Google Cloud SQL for SQL Server

Ya

  • Gunakan SSMS untuk Melakukan Migrasi Cloud

  • Gunakan DTS untuk Melakukan Migrasi Cloud Logis

    Catatan

    Untuk memigrasikan data inkremental, atur parameter SQL Server Incremental Synchronization Mode ke Polling and querying CDC instances for incremental synchronization.

Gunakan DTS untuk Melakukan Migrasi Cloud Logis

Langkah selanjutnya

Verifikasi data

Setelah Anda memigrasikan data dari database SQL Server ke instans ApsaraDB RDS for SQL Server, Anda dapat memverifikasi apakah semua data telah dimigrasikan ke instans ApsaraDB RDS for SQL Server. Anda dapat menggunakan salah satu metode verifikasi data berikut berdasarkan kebutuhan bisnis Anda:

Verifikasi data inti

Anda dapat mengurutkan data berdasarkan tanggal atau ID auto-increment untuk memverifikasi apakah data bisnis terbaru telah dimigrasikan. Sebagai contoh, jika tabel bisnis inti Orders berisi bidang seperti OrderID dan OrderDate, Anda dapat menjalankan pernyataan berikut untuk menanyakan bidang tersebut di database sumber dan tujuan:

-- Kueri SQL di database sumber
SELECT TOP 10 OrderID, OrderDate, CustomerID, TotalAmount
FROM Orders
ORDER BY OrderDate DESC;

-- Kueri SQL di database tujuan
SELECT TOP 10 OrderID, OrderDate, CustomerID, TotalAmount
FROM Orders
ORDER BY OrderDate DESC;

Verifikasi data penuh menggunakan DTS

DTS memungkinkan Anda memverifikasi data di database sumber dan tujuan tanpa downtime layanan. Anda dapat menggunakan DTS untuk membuat tugas verifikasi data penuh guna memeriksa apakah semua data telah dimigrasikan dari database sumber ke database tujuan.

Perbarui statistik database

Setelah Anda memigrasikan data dari database SQL Server ke instans ApsaraDB RDS for SQL Server, kinerja instans tujuan ApsaraDB RDS for SQL Server mungkin menurun secara signifikan karena perubahan distribusi data di instans tersebut. Anda dapat memperbarui semua statistik di database tertentu untuk memulihkan atau meningkatkan kinerja instans.