Topik ini menjelaskan cara memigrasikan data di antara instans ApsaraDB RDS untuk SQL Server dengan menggunakan Konsol Data Transmission Service (DTS). DTS mendukung migrasi skema, migrasi data penuh, dan migrasi data inkremental. Anda dapat memilih semua jenis migrasi ini untuk memastikan kelangsungan bisnis selama migrasi database.
Prasyarat
Anda telah membuat instans ApsaraDB RDS for SQL Server sumber dan tujuan.
Ruang penyimpanan instans tujuan harus lebih besar dari ruang penyimpanan yang digunakan oleh instans sumber. Jika ruang penyimpanan tidak mencukupi, tingkatkan kapasitas penyimpanan instans terlebih dahulu.
Catatan
Perhatikan batas-batas kunci berikut sebelum migrasi. Mengabaikan batas-batas ini dapat menyebabkan kegagalan tugas atau kesalahan:
Batas jumlah database: Tugas migrasi tunggal tidak dapat memigrasikan lebih dari 10 database. Jika tidak, risiko stabilitas dan performa mungkin terjadi.
Batas jumlah tabel: Untuk migrasi inkremental, jumlah tabel yang akan disinkronkan dari database sumber tidak boleh melebihi 1.000. Jika tidak, latensi tugas atau ketidakstabilan mungkin terjadi.
Batas operasi database sumber: Selama migrasi skema dan migrasi data penuh, jangan lakukan operasi DDL (seperti mengubah struktur database atau tabel). Jika tidak, tugas akan gagal.
Persyaratan struktur tabel: Tabel yang akan dimigrasikan harus memiliki PRIMARY KEY atau Kendala UNIK, dan semua bidang harus unik. Jika tidak, data duplikat mungkin muncul di database tujuan.
Kunci asing dan Pemicu: Jika tugas migrasi mencakup migrasi data inkremental, Anda harus menonaktifkan Pemicu dan kunci asing yang diaktifkan di database tujuan. Jika tidak, tugas mungkin gagal atau kehilangan data mungkin terjadi.
Standar nama database: Jika nama database yang akan dimigrasikan tidak sesuai dengan konvensi penamaan ApsaraDB RDS untuk SQL Server, Anda harus secara manual membuat database di ApsaraDB RDS untuk SQL Server terlebih dahulu. Jika tidak, tugas mungkin tidak berjalan dengan benar.
Waktu retensi log data: Untuk tugas migrasi inkremental, log data dari database sumber harus disimpan selama lebih dari 24 jam. Untuk tugas migrasi data penuh dan data inkremental, log data harus disimpan setidaknya selama 7 hari. Jika tidak, tugas mungkin gagal atau inkonsistensi data mungkin terjadi.
Penagihan
Jenis migrasi | Biaya konfigurasi instance | Biaya lalu lintas internet |
Migrasi skema dan migrasi data penuh | Tidak dikenakan biaya. | Ketika parameter Access Method dari database tujuan diatur ke Public IP Address, Anda akan dikenakan biaya untuk lalu lintas internet. Untuk informasi lebih lanjut, lihat Ikhtisar Penagihan. |
Migrasi data inkremental | Dikenakan biaya. Untuk informasi lebih lanjut, lihat Ikhtisar Penagihan. |
Izin yang Diperlukan oleh Akun Database
Untuk memastikan bahwa tugas migrasi data berjalan sesuai harapan, pastikan bahwa akun database dari database sumber dan tujuan memiliki izin berikut:
Anda dapat membuat akun di Konsol RDS dan memodifikasi izin akun sesuai kebutuhan.
Database | Migrasi skema | Migrasi penuh | Migrasi tambahan |
Instans sumber | Izin baca | Izin baca | Izin pemilik pada objek yang akan dimigrasikan. |
Instans tujuan | Izin baca dan tulis | ||
Prosedur
Di panel navigasi sisi kiri, klik Data Migration dan pilih Wilayah di bagian atas.
Klik Create Task dan konfigurasikan informasi database sumber dan tujuan.
Kategori
Konfigurasi
Deskripsi
Tidak ada
Task Name
Konfigurasikan nama tugas yang memiliki arti bisnis (tidak ada persyaratan unik) agar mudah dikenali. Anda juga dapat menggunakan nama tugas yang dihasilkan secara otomatis oleh sistem.
Source Database
Select Existing Connection
Jika Anda telah memasukkan informasi database sumber di halaman Manajemen Koneksi Data DTS, Anda dapat langsung memilih database di sini. Ini menghilangkan kebutuhan untuk memasukkan informasi database sumber secara manual nanti.
Database Type
Pilih SQL Server.
Connection Type
Pilih Cloud Instance.
Instance Region
Pilih wilayah tempat instans ApsaraDB RDS for SQL Server berada.
Cross-account
Dalam contoh ini, migrasi dilakukan antar instans dalam akun Alibaba Cloud yang sama. Pilih No.
RDS Instance ID
Pilih ID dari instans ApsaraDB RDS for SQL Server sumber.
Database Account
Masukkan akun database dari instans ApsaraDB RDS for SQL Server sumber dan pastikan bahwa akun memiliki izin yang diperlukan.
Database Password
Kata sandi yang digunakan untuk mengakses instans database.
Encryption
Jika database sumber tidak memiliki enkripsi Secure Sockets Layer (SSL) yang diaktifkan, pilih Non-encrypted.
Jika database sumber memiliki enkripsi SSL yang diaktifkan, pilih SSL-encrypted. DTS secara default mempercayai sertifikat server.
Destination Database
Select Existing Connection
Jika Anda telah memasukkan informasi database tujuan di halaman Manajemen Koneksi Data DTS, Anda dapat langsung memilih database di sini. Ini menghilangkan kebutuhan untuk memasukkan informasi database tujuan secara manual nanti.
Database Type
Pilih SQL Server.
Connection Type
Pilih Cloud Instance.
Instance Region
Pilih wilayah tempat instans ApsaraDB RDS for SQL Server tujuan berada.
Instance ID
Pilih ID dari instans ApsaraDB RDS for SQL Server tujuan.
Database Account
Masukkan akun database dari instans ApsaraDB RDS for SQL Server tujuan dan pastikan bahwa akun memiliki izin yang diperlukan.
Database Password
Kata sandi yang digunakan untuk mengakses instans database.
Encryption
Jika database tujuan tidak memiliki enkripsi SSL yang diaktifkan, pilih Non-encrypted.
Jika database tujuan memiliki enkripsi SSL yang diaktifkan, pilih SSL-encrypted. DTS secara default mempercayai sertifikat server.
Setelah konfigurasi selesai, klik Test Connectivity and Proceed di bagian bawah halaman.
CatatanPastikan bahwa rentang alamat IP DTS dapat ditambahkan secara otomatis atau manual ke Pengaturan Keamanan database sumber dan database tujuan untuk mengizinkan akses dari server DTS.
Konfigurasikan objek yang akan dimigrasikan.
Di halaman Configure Objects, konfigurasikan objek yang ingin Anda migrasikan.
Konfigurasi
Deskripsi
Migration Types
Untuk migrasi penuh: Kami merekomendasikan Anda memilih Schema Migration dan Full Data Migration.
Untuk migrasi dengan downtime minimal: Kami merekomendasikan Anda memilih Schema Migration, Full Data Migration, dan Incremental Data Migration.
CatatanUntuk informasi lebih lanjut, lihat Lampiran: Operasi SQL yang dapat disinkronkan selama migrasi data inkremental.
Jika Anda tidak memilih Schema Migration, pastikan database tujuan berisi database dan tabel yang diperlukan untuk menerima data. Berdasarkan kebutuhan bisnis Anda, gunakan fitur pemetaan nama objek di bagian Selected Objects.
Jika Anda tidak memilih Incremental Data Migration, jangan tulis data ke instans sumber selama migrasi data untuk memastikan konsistensi data.
Method to Migrate Triggers in Source Database
Pilih metode untuk memigrasikan triggers berdasarkan kebutuhan bisnis Anda. Jika objek yang ingin Anda migrasikan tidak mengandung triggers, Anda tidak perlu mengonfigurasi parameter ini.
CatatanParameter ini hanya tersedia jika Anda memilih Schema Migration dan Incremental Data Migration untuk Migration Types.
SQL Server Incremental Synchronization Mode
CatatanParameter ini hanya tersedia saat Migration Types mencakup Incremental Data Migration.
Jika database sumber adalah edisi web dari RDS for SQL Server, Anda harus memilih Incremental Synchronization Based on Logs of Source Database (Heap tables are not supported) untuk SQL Server Incremental Synchronization Mode saat Anda mengonfigurasi tugas.
Dalam mode penguraian log hibrid (saat SQL Server Incremental Synchronization Mode diatur ke Log Parsing For Non-heap Tables And CDC For Heap Tables), database sumber berikut didukung:
Edisi Enterprise atau Enterprise Evaluation: Versi 2012, 2014, 2016, 2019, atau 2022.
Edisi Standard: Versi 2016, 2019, atau 2022.
The maximum number of tables for which CDC is enabled that DTS supports.
Tetapkan jumlah maksimum tabel yang masuk akal tempat instans migrasi saat ini dapat mengaktifkan CDC. Nilai defaultnya adalah 1.000.
CatatanParameter ini tidak tersedia saat SQL Server Incremental Synchronization Mode diatur ke Incremental Synchronization Based on Logs of Source Database (Heap tables are not supported).
Processing Mode of Conflicting Tables
Precheck and Report Errors: memeriksa apakah database tujuan berisi tabel yang memiliki nama sama dengan tabel di database sumber. Jika database tujuan tidak berisi tabel yang memiliki nama sama dengan tabel di database sumber, pemeriksaan awal diluluskan dan tugas migrasi data dimulai. Jika tidak, kesalahan dikembalikan selama pemeriksaan awal dan tugas migrasi data tidak dimulai.
Solusi: Jika tabel di database tujuan tidak dapat dihapus atau diubah namanya, Anda dapat menggunakan fitur pemetaan nama objek untuk mengubah nama tabel di database tujuan.
Ignore Errors and Proceed: melewati pemeriksaan awal untuk nama tabel identik di database tujuan.
PeringatanJika Anda memilih Ignore Errors and Proceed, ketidaksesuaian data mungkin terjadi dan bisnis Anda mungkin terpapar risiko. Contohnya:
Jika database sumber dan tujuan memiliki skema yang sama tetapi database tujuan berisi catatan dengan nilai kunci utama yang sama dengan database sumber:
Selama migrasi data penuh, DTS akan mempertahankan catatan yang ada di database tujuan dan tidak akan memigrasikan catatan yang sesuai dari database sumber ke database tujuan.
Selama migrasi data inkremental, data baru dari database sumber mungkin menimpa data di database tujuan, mengakibatkan hilangnya data di database tujuan.
Jika database sumber dan tujuan memiliki skema yang berbeda, migrasi data mungkin gagal atau hanya beberapa kolom yang dimigrasikan. Berhati-hatilah saat Anda melakukan operasi ini.
Source Objects
Pilih satu atau lebih objek dari bagian Source Objects. Klik ikon
untuk menambahkan objek ke bagian Selected Objects.CatatanAnda dapat memilih kolom, tabel, atau skema sebagai objek yang akan dimigrasikan. Jika Anda memilih tabel atau kolom sebagai objek yang akan dimigrasikan, DTS tidak akan memigrasikan objek lain seperti view, trigger, atau prosedur tersimpan ke database tujuan.
Selected Objects
Untuk mengubah nama objek yang ingin Anda migrasikan ke instans tujuan, klik kanan objek di bagian Selected Objects. Untuk informasi lebih lanjut, lihat Pemetaan nama objek tunggal.
Untuk mengubah nama beberapa objek sekaligus, klik Batch Edit di sudut kanan atas bagian Selected Objects. Untuk informasi lebih lanjut, lihat Pemetaan beberapa nama objek sekaligus.
CatatanJika Anda menggunakan fitur pemetaan nama objek untuk mengubah nama objek, objek lain yang bergantung pada objek tersebut mungkin gagal dimigrasikan.
Untuk mengonfigurasi kondisi WHERE untuk menyaring data, klik kanan tabel yang ingin Anda migrasikan di bagian Selected Objects dan konfigurasikan kondisi filter di kotak dialog yang muncul.
Untuk memilih operasi SQL yang akan dimigrasikan pada level database atau tabel, klik kanan objek yang ingin Anda migrasikan di bagian Selected Objects dan pilih operasi SQL yang ingin Anda migrasikan di kotak dialog yang muncul.
Klik Next: Advanced Settings untuk mengonfigurasi pengaturan lanjutan.
Konfigurasi
Deskripsi
Dedicated Cluster for Task Scheduling
Secara default, DTS menjadwalkan tugas migrasi data ke klaster bersama jika Anda tidak menentukan klaster khusus. Jika Anda ingin meningkatkan stabilitas tugas migrasi data, beli klaster khusus. Untuk informasi lebih lanjut, lihat Apa itu klaster khusus DTS.
Retry Time for Failed Connections
Rentang waktu ulang untuk koneksi gagal. Jika database sumber atau tujuan gagal terhubung setelah tugas migrasi data dimulai, DTS segera mencoba kembali koneksi dalam rentang waktu ulang. Nilai valid: 10 hingga 1.440. Unit: menit. Nilai default: 720. Kami merekomendasikan Anda mengatur parameter ini ke nilai lebih besar dari 30. Jika DTS berhasil terhubung kembali ke database sumber dan tujuan dalam rentang waktu ulang yang ditentukan, DTS melanjutkan tugas migrasi data. Jika tidak, tugas migrasi data gagal.
CatatanJika Anda menentukan rentang waktu ulang yang berbeda untuk beberapa tugas migrasi data yang berbagi database sumber atau tujuan yang sama, nilai yang ditentukan kemudian akan mengambil alih.
Saat DTS mencoba kembali koneksi, Anda akan dikenakan biaya untuk instans DTS. Kami merekomendasikan Anda menentukan rentang waktu ulang berdasarkan kebutuhan bisnis Anda. Anda juga dapat melepaskan instans DTS secepat mungkin setelah database sumber dan instans tujuan dilepaskan.
Retry Time for Other Issues
Rentang waktu ulang untuk masalah lainnya. Misalnya, jika operasi DDL atau DML gagal dilakukan setelah tugas migrasi data dimulai, DTS segera mencoba kembali operasi dalam rentang waktu ulang. Nilai valid: 1 hingga 1.440. Unit: menit. Nilai default: 10. Kami merekomendasikan Anda mengatur parameter ini ke nilai lebih besar dari 10. Jika operasi gagal berhasil dilakukan dalam rentang waktu ulang yang ditentukan, DTS melanjutkan tugas migrasi data. Jika tidak, tugas migrasi data gagal.
PentingNilai parameter Retry Time for Other Issues harus lebih kecil dari nilai parameter Retry Time for Failed Connections.
Enable Throttling for Full Data Migration
Menentukan apakah akan mengaktifkan pembatasan untuk migrasi data penuh. Selama migrasi data penuh, DTS menggunakan sumber daya baca dan tulis dari database sumber dan tujuan. Ini dapat meningkatkan beban server database. Anda dapat mengaktifkan pembatasan untuk migrasi data penuh berdasarkan kebutuhan bisnis Anda. Untuk mengonfigurasi pembatasan, Anda harus mengonfigurasi parameter Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s). Ini mengurangi beban server database tujuan.
CatatanAnda hanya dapat mengonfigurasi parameter ini jika Anda memilih Full Data Migration untuk parameter Migration Types.
Enable Throttling for Incremental Data Migration
Menentukan apakah akan mengaktifkan pembatasan untuk migrasi data inkremental. Untuk mengonfigurasi pembatasan, Anda harus mengonfigurasi parameter RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s). Ini mengurangi beban server database tujuan.
CatatanAnda hanya dapat mengonfigurasi parameter ini jika Anda memilih Incremental Data Migration untuk parameter Migration Types.
Environment Tag
Tag lingkungan yang digunakan untuk mengidentifikasi instans DTS. Anda dapat memilih tag lingkungan berdasarkan kebutuhan bisnis Anda. Dalam contoh ini, Anda tidak perlu mengonfigurasi parameter ini.
Configure ETL
Menentukan apakah akan mengaktifkan fitur ekstrak, transformasi, dan muat (ETL). Untuk informasi lebih lanjut, lihat Apa itu ETL? Nilai valid:
Yes: mengonfigurasi fitur ETL. Anda dapat memasukkan pernyataan pemrosesan data di editor kode. Untuk informasi lebih lanjut, lihat Konfigurasikan ETL dalam tugas migrasi data atau tugas sinkronisasi data.
No: tidak mengonfigurasi fitur ETL.
Monitoring and Alerting
Menentukan apakah akan mengonfigurasi peringatan untuk tugas migrasi data. Jika tugas gagal atau latensi migrasi melebihi ambang batas yang ditentukan, kontak peringatan menerima notifikasi. Nilai valid:
No: tidak mengonfigurasi peringatan.
Yes: mengonfigurasi peringatan. Dalam hal ini, Anda juga harus mengonfigurasi ambang batas peringatan dan pengaturan pemberitahuan peringatan. Untuk informasi lebih lanjut, lihat bagian Konfigurasikan pemantauan dan peringatan saat Anda membuat tugas DTS dari topik Konfigurasikan pemantauan dan peringatan.
Klik Next Step: Data Verification untuk mengonfigurasi tugas verifikasi data.
Untuk informasi lebih lanjut tentang cara menggunakan fitur verifikasi data, lihat Konfigurasikan tugas verifikasi data.
Simpan pengaturan tugas dan jalankan pemeriksaan awal.
Untuk melihat parameter yang harus ditentukan saat Anda memanggil operasi API terkait untuk mengonfigurasi Tugas DTS, gerakkan pointer ke Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters.
Jika Anda tidak perlu melihat atau sudah melihat parameter tersebut, klik Next: Save Task Settings and Precheck di bagian bawah halaman.
CatatanSebelum Anda dapat memulai tugas migrasi data, DTS melakukan pemeriksaan awal. Anda hanya dapat memulai tugas migrasi data setelah tugas tersebut lolos pemeriksaan awal.
Jika tugas gagal lolos pemeriksaan awal, klik View Details di sebelah setiap item yang gagal. Setelah Anda menganalisis penyebab berdasarkan hasil pemeriksaan, atasi masalah tersebut. Kemudian, jalankan pemeriksaan awal lagi.
Jika peringatan dipicu untuk suatu item selama pemeriksaan awal:
Jika item peringatan tidak dapat diabaikan, klik View Details di sebelah item yang gagal dan atasi masalah tersebut. Kemudian, jalankan pemeriksaan awal lagi.
Jika item peringatan dapat diabaikan, klik Confirm Alert Details. Di kotak dialog Lihat Detail, klik Ignore. Di pesan yang muncul, klik OK. Kemudian, klik Precheck Again untuk menjalankan pemeriksaan awal lagi. Jika Anda mengabaikan item peringatan, ketidaksesuaian data mungkin terjadi, dan bisnis Anda mungkin terpapar risiko potensial.
Beli instance.
Tunggu hingga Success Rate menjadi 100%. Kemudian, klik Next: Purchase Instance.
Di halaman Purchase Instance, konfigurasikan parameter Instance Class untuk instans migrasi data. Tabel berikut menjelaskan parameter tersebut.
Bagian
Parameter
Deskripsi
New Instance Class
Resource Group
Kelompok sumber daya tempat instans migrasi data berada. Nilai default: default resource group. Untuk informasi selengkapnya, lihat Apa itu Resource Management?
Instance Class
DTS menyediakan kelas instans yang berbeda dalam kecepatan migrasi. Anda dapat memilih kelas instans berdasarkan skenario bisnis Anda. Untuk informasi selengkapnya, lihat Kelas instans untuk instans migrasi data.
Baca dan setujui Data Transmission Service (Pay-as-you-go) Service Terms dengan mencentang kotak pilihan.
Klik Buy and Start. Di pesan yang muncul, klik OK.
Anda dapat melihat kemajuan tugas di halaman Data Migration.
CatatanJika tugas migrasi data tidak dapat digunakan untuk memigrasikan data inkremental, tugas akan berhenti secara otomatis. Completed ditampilkan di bagian Status .
Jika tugas migrasi data dapat digunakan untuk memigrasikan data inkremental, tugas tidak akan berhenti secara otomatis. Tugas migrasi data inkremental tidak pernah berhenti atau selesai. Running ditampilkan di bagian Status.
Lampiran: Operasi SQL yang mendukung migrasi inkremental
Operasi DML
INSERT, UPDATE, DELETE
DTS tidak memigrasikan pernyataan UPDATE yang hanya memperbarui bidang Tingkat Tinggi.
Operasi DDL
ALTER TABLE, hanya termasuk ADD COLUMN, DROP COLUMN, RENAME COLUMN
CREATE TABLE, CREATE INDEX
CatatanCREATE TABLE tidak mendukung partisi atau fungsi dalam definisi tabel.
DROP TABLE
RENAME TABLE
TRUNCATE TABLE
DTS tidak memigrasikan operasi DDL transaksional. Sebagai contoh, DTS tidak memigrasikan operasi SQL yang berisi operasi DDL pada beberapa kolom atau operasi SQL yang berisi baik operasi DDL maupun operasi DML. Kehilangan data mungkin terjadi setelah operasi SQL tersebut dimigrasikan.
DTS tidak memigrasikan operasi DDL yang berisi tipe yang ditentukan pengguna.
DTS tidak memigrasikan operasi DDL Online.
DTS tidak memigrasikan operasi DDL yang dilakukan pada objek dengan nama yang berisi kata kunci yang dicadangkan.
DTS tidak memigrasikan operasi DDL yang dijalankan oleh prosedur tersimpan sistem.
DTS tidak memigrasikan operasi TRUNCATE TABLE.