ApsaraDB RDS untuk SQL Server menyediakan migrasi cloud tingkat instans untuk seluruh dataset dari satu atau beberapa database pada SQL Server yang dikelola sendiri. Untuk melakukan migrasi, backup semua database dari SQL Server yang dikelola sendiri Anda, unggah file backup ke satu folder dalam bucket OSS, lalu jalankan skrip migrasi cloud.
Untuk meng-migrasi satu database, lihat Migrasikan data dari backup penuh dan Migrasikan data dari backup inkremental.
Prasyarat
Sumber harus berupa database SQL Server yang dikelola sendiri.
Instans ApsaraDB RDS untuk SQL Server tujuan harus memenuhi persyaratan berikut:
Ruang penyimpanan yang tersedia pada instans harus lebih besar daripada ukuran file data yang akan dimigrasikan. Jika ruang penyimpanan yang tersedia tidak mencukupi, tingkatkan spesifikasi instans.
Untuk SQL Server 2008 R2, Anda harus membuat database pada instans tujuan dengan nama yang sama seperti database sumber. Persyaratan ini tidak berlaku untuk versi lainnya.
Jika Anda login sebagai Pengguna RAM, persyaratan berikut harus dipenuhi:
Pengguna RAM diberikan izin AliyunOSSFullAccess dan AliyunRDSFullAccess. Untuk informasi selengkapnya tentang cara memberikan izin kepada Pengguna RAM, lihat Kelola izin OSS menggunakan RAM dan Kelola izin ApsaraDB RDS menggunakan RAM.
Akun Alibaba Cloud Anda (akun utama) telah memberikan otorisasi kepada akun layanan resmi ApsaraDB RDS untuk mengakses resource OSS Anda.
Buat kebijakan izin secara manual di Akun Alibaba Cloud Anda (akun utama), lalu sambungkan kebijakan tersebut ke Pengguna RAM.
Batasan
Solusi ini hanya mendukung migrasi penuh; migrasi inkremental saat ini tidak didukung.
Penagihan
Jika Anda menggunakan metode yang dijelaskan dalam topik ini untuk migrasi data, Anda hanya dikenai biaya penggunaan bucket OSS.
|
Skenario |
Aturan penagihan |
|
Unggah file backup ke bucket OSS |
Gratis. |
|
Simpan file backup di bucket OSS |
Anda dikenai biaya penyimpanan. Untuk informasi selengkapnya, kunjungi halaman Pricing OSS. |
|
Migrasikan file backup dari bucket OSS ke instans RDS Anda |
|
Prasyarat
1. Instal Python 3
Buka situs resmi Python untuk mengunduh dan menginstal paket yang sesuai dengan sistem operasi Anda. Pilih versi 3.12 atau yang lebih baru.
Windows: Selama instalasi, pilih kotak centang
Add python.exe to PATHagar tidak perlu mengonfigurasi variabel lingkungan secara manual.macOS/Linux: Anda dapat menginstal menggunakan installer resmi atau manajer paket seperti Homebrew, apt, atau dnf. Lihat panduan di situs resmi.
2. Verifikasi instalasi dan versi Python
Nama executable dapat berbeda tergantung sistem operasi dan metode instalasi Anda (misalnya, python, python3, atau py). Coba perintah-perintah berikut secara berurutan dan periksa output untuk mengonfirmasi instalasi.
3. Instal dependensi SDK
pip install alibabacloud_rds20140815
pip install alibabacloud-oss-v2
pip install alibabacloud_tea_openapi
pip install alibabacloud_tea_util1. Backup database SQL Server yang dikelola sendiri
Untuk memastikan konsistensi data, jangan menulis data baru selama proses backup penuh. Jadwalkan operasi ini terlebih dahulu agar tidak mengganggu layanan Anda.
Jika Anda tidak menggunakan skrip backup, Anda harus memberi nama file backup dalam format
nama_database_jenis_backup_waktu_backup.bak, misalnya,Testdb_FULL_20180518153544.bak. Jika tidak, backup akan gagal.
Unduh skrip backup.
Klik ganda skrip backup untuk membukanya di Microsoft SQL Server Management Studio (SSMS). Untuk petunjuk cara menghubungkan menggunakan SSMS, lihat dokumentasi resmi.
Ubah parameter berikut sesuai kebutuhan.
Parameter
Deskripsi
@backup_databases_list
Database yang akan di-backup. Gunakan titik koma (;) atau koma (,) untuk memisahkan beberapa nama database.
@backup_type
Jenis backup. Nilai yang valid:
FULL: backup penuh.
DIFF: backup diferensial.
LOG: backup log.
PentingUntuk prosedur ini, Anda harus mengatur parameter ini ke FULL.
@backup_folder
Direktori lokal untuk menyimpan file backup. Direktori ini akan dibuat secara otomatis jika belum ada.
@is_run
Menentukan apakah akan menjalankan backup. Nilai yang valid:
1: Jalankan backup.
0: Hanya lakukan pemeriksaan.
Jalankan skrip backup untuk melakukan backup database ke direktori yang ditentukan.

2. Unggah file backup ke OSS
Sebelum mengunggah file backup ke OSS, Anda harus membuat bucket di OSS.
Jika bucket sudah ada di OSS, pastikan bucket tersebut memenuhi persyaratan berikut:
kelas penyimpanan bucket adalah Standard. Kelas penyimpanan IA, Archive, Cold Archive, dan Deep Cold Archive tidak didukung.
Enkripsi sisi server tidak diaktifkan untuk bucket tersebut.
Jika belum ada bucket di OSS, buat bucket terlebih dahulu. (Pastikan OSS telah diaktifkan.)
Login ke Konsol OSS, klik Buckets, lalu klik Create bucket.
Konfigurasikan parameter kunci berikut dan gunakan nilai default untuk parameter lainnya.
PentingBucket ini hanya digunakan untuk migrasi data ini, sehingga Anda hanya perlu mengonfigurasi parameter kunci. Setelah migrasi selesai, segera hapus bucket untuk mencegah kebocoran data dan biaya tambahan.
Jangan aktifkan enkripsi sisi server saat membuat bucket.
Parameter
Deskripsi
Contoh
Bucket Name
Nama bucket. Nama harus unik secara global dan tidak dapat diubah setelah bucket dibuat.
Aturan penamaan:
Nama hanya boleh berisi huruf kecil, angka, dan tanda hubung (-).
Nama harus diawali dan diakhiri dengan huruf kecil atau angka.
Nama harus terdiri dari 3 hingga 63 karakter.
migratetest
Region
Wilayah tempat bucket berada. Jika Anda mengunggah data ke bucket dari instance ECS melalui jaringan internal dan memulihkan data ke instans ApsaraDB RDS melalui jaringan internal, pastikan instance ECS, bucket, dan instans ApsaraDB RDS berada di wilayah yang sama.
China (Hangzhou)
Storage Type
Pilih Standard. Operasi migrasi yang dijelaskan dalam topik ini tidak mendukung bucket dengan kelas penyimpanan lainnya.
Standard
Unggah file backup ke OSS.
Setelah backup database yang dikelola sendiri selesai, unggah file backup ke bucket OSS yang berada di wilayah yang sama dengan instans ApsaraDB RDS Anda. Jika bucket dan instans ApsaraDB RDS berada di wilayah yang sama, bucket dan instans dapat berkomunikasi melalui jaringan internal. Dalam hal ini, tidak ada biaya lalu lintas Internet yang dikenakan dan data diunggah dengan kecepatan lebih tinggi. Anda dapat menggunakan salah satu metode berikut:
3. Jalankan skrip migrasi
Unduh skrip migrasi SQL Server.
Setelah mengekstrak paket, jalankan perintah berikut untuk melihat parameter skrip.
python ~/Downloads/RDSSQLCreateMigrateTasksBatchly.py -hPerintah tersebut mengembalikan output berikut:
RDSSQLCreateMigrateTasksBatchly.py -k <access_key_id> -s <access_key_secret> -i <rds_instance_id> -e <oss_endpoint> -b <oss_bucket> -d <directory>Tabel berikut menjelaskan parameter-parameter tersebut.
Parameter
Deskripsi
access_key_id
ID AccessKey Akun Alibaba Cloud Anda.
access_key_secret
Rahasia AccessKey Akun Alibaba Cloud Anda.
rds_instance_id
ID instans RDS tujuan.
oss_endpoint
titik akhir wilayah OSS tempat bucket Anda berada.
oss_bucket
Nama bucket yang berisi file backup.
directory
Direktori dalam bucket OSS untuk file backup. Untuk direktori root, masukkan
/.Jalankan skrip migrasi untuk menyelesaikan migrasi.
Topik ini memberikan contoh migrasi penuh semua file backup yang memenuhi kondisi tertentu dari direktori
Migrationdatabucket OSS bernamatestdatabucketke instans ApsaraDB RDS untuk SQL Server dengan ID instans rm-2zesz5774ud8s****.python ~/Downloads/RDSSQLCreateMigrateTasksBatchly.py -k yourAccessKeyID -s yourAccessKeySecret -i rm-2zesz5774ud8s**** -e oss-cn-beijing.aliyuncs.com -b testdatabucket -d Migrationdata
4. Lihat progres tugas migrasi
Ikuti petunjuk sesuai versi SQL Server instans ApsaraDB RDS Anda.
SQL Server 2012 dan yang lebih baru
Di panel navigasi kiri instans ApsaraDB RDS Anda, buka halaman Backup and Restoration. Pada tab Cloud Migration Records of Backup Data, Anda dapat melihat catatan migrasi cloud, termasuk status tugas, waktu mulai, dan waktu berakhir. Secara default, sistem menampilkan catatan dari minggu lalu. Sesuaikan rentang waktu sesuai kebutuhan.

Jika Task Status adalah Failed, periksa Task Description atau klik View File Details di sebelah tugas migrasi target untuk mengetahui penyebab kegagalan. Setelah memperbaiki masalah tersebut, jalankan kembali tugas migrasi.
SQL Server 2008 R2
Di panel navigasi kiri instans ApsaraDB RDS Anda, buka halaman Data Migration To Cloud. Kemudian, temukan tugas migrasi target untuk melihat progresnya.
Jika Task Status adalah Failed, periksa Task Description atau klik View File Details di sebelah tugas migrasi target untuk mengetahui penyebab kegagalan. Setelah memperbaiki masalah tersebut, jalankan kembali tugas migrasi.
Kesalahan umum
Pesan kesalahan | Penyebab | Solusi |
| ID AccessKey yang digunakan untuk panggilan OpenAPI salah. | Berikan ID AccessKey dan Rahasia AccessKey yang benar. |
| Rahasia AccessKey yang digunakan untuk panggilan OpenAPI salah. | |
| Solusi ini hanya mendukung ApsaraDB RDS untuk SQL Server. Mesin database lain tidak didukung. | Gunakan instans ApsaraDB RDS untuk SQL Server sebagai tujuan migrasi. |
| ID instans RDS yang ditentukan tidak ada. | Verifikasi bahwa ID instans RDS yang diberikan benar. |
| Koneksi gagal karena titik akhir salah. | Verifikasi bahwa titik akhir yang diberikan benar. |
| Bucket OSS yang ditentukan tidak ada. | Verifikasi bahwa nama bucket OSS yang diberikan benar. |
| Direktori yang ditentukan tidak ada di bucket OSS, atau direktori tersebut tidak berisi file backup database yang memenuhi syarat. | Verifikasi bahwa direktori tersebut ada di bucket OSS dan berisi file backup database yang memenuhi syarat. |
| Nama file backup tidak mengikuti konvensi penamaan yang diperlukan. | Jika Anda tidak menggunakan skrip backup, Anda harus memberi nama file backup dalam format |
| Pengguna RAM memiliki izin yang tidak mencukupi. | Anda harus memberikan izin kepada Pengguna RAM untuk mengakses OSS dan RDS. Ini memerlukan kebijakan AliyunOSSFullAccess dan AliyunRDSFullAccess. |
| Panggilan OpenAPI mengembalikan kesalahan. | Analisis akar penyebab berdasarkan kode kesalahan dan pesan kesalahan yang dikembalikan. |
Kode kesalahan OpenAPI
Kode status HTTP | Kesalahan | Pesan | Deskripsi |
403 | InvalidDBName | Nama database yang ditentukan tidak diizinkan. | Nama database tidak valid. Anda tidak dapat menggunakan nama database sistem. |
403 | IncorrectDBInstanceState | Status instans saat ini tidak mengizinkan operasi ini. | Instans RDS berada dalam status yang tidak valid. Misalnya, instans sedang dalam status Creating. |
400 | IncorrectDBInstanceType | Jenis instans saat ini tidak mendukung operasi ini. | Mesin instans tidak didukung. Fitur ini hanya tersedia untuk ApsaraDB RDS untuk SQL Server. |
400 | IncorrectDBInstanceLockMode | Mode kunci instans saat ini tidak mendukung operasi ini. | Database berada dalam status kunci yang tidak valid. |
400 | InvalidDBName.NotFound | Satu atau beberapa nama database yang ditentukan tidak ada, atau statusnya tidak mengizinkan operasi tersebut. | Database tidak ada.
|
400 | IncorrectDBType | Jenis database tidak mendukung operasi ini. | |
400 | IncorrectDBState | Status database saat ini tidak mengizinkan operasi ini. | Database berada dalam status yang tidak valid, misalnya sedang dibuat atau sedang dalam proses migrasi. |
400 | UploadLimitExceeded | Kuota migrasi harian untuk database telah terlampaui. | Maksimal 20 migrasi diizinkan per database pada setiap instans per hari. |
400 | ConcurrentTaskExceeded | Kuota migrasi harian untuk instans telah terlampaui. | Sebuah instans dibatasi maksimal 500 migrasi per hari. |
400 | IncorrectFileExtension | Ekstensi file tidak didukung. | File backup memiliki ekstensi yang tidak valid. |
400 | InvalidOssUrl | URL OSS yang ditentukan tidak valid. | URL unduhan OSS yang diberikan tidak tersedia. |
400 | BakFileSizeExceeded | File backup melebihi batas ukuran yang diizinkan. | Ukuran file backup tidak boleh melebihi 3 TB. |
400 | FileSizeExceeded | File terlalu besar untuk instans tujuan. | Memulihkan file backup akan melebihi kapasitas penyimpanan instans tujuan. |
Operasi API terkait
API | Deskripsi |
Memulihkan file backup dari OSS ke instans ApsaraDB RDS untuk SQL Server dan membuat tugas migrasi data. | |
Membuka database dari tugas migrasi data backup pada instans ApsaraDB RDS untuk SQL Server. | |
Menanyakan daftar tugas migrasi data backup pada instans ApsaraDB RDS untuk SQL Server. | |
Menanyakan detail file backup dari tugas migrasi data backup pada instans ApsaraDB RDS untuk SQL Server. |



, pilih file backup yang ingin diunggah, lalu klik Open. File lokal diunggah ke OSS.

