Ikhtisar
TencentDB for SQL Server mendukung migrasi data dengan menggunakan file COS. Metode migrasi yang dijelaskan dalam dokumen ini juga berlaku untuk migrasi dari instans SQL Server yang dibeli di penyedia layanan cloud lain atau instans yang dibuat sendiri ke instans TencentDB for SQL Server pada versi yang sama.
Perhatian:
Sebelum migrasi, pastikan bahwa versi SQL Server dari instans target sama dengan instans sumber.
Untuk file .bak yang digunakan untuk migrasi, pastikan bahwa setiap file .bak hanya berisi satu database.
Nama database yang dimigrasikan tidak boleh sama dengan nama instans TencentDB for SQL Server.
Fungsi migrasi data dari versi sebelumnya telah dihapus offline, dan dokumen ini hanya untuk referensi pengguna yang ada. Untuk menggunakan fitur migrasi data baru, lihat Gambaran Umum Skema Migrasi Data. Migrasi Cadangan Penuh
Menyiapkan file cadangan
Ada dua cara untuk menyiapkan file cadangan penuh:
Cadangan penuh setelah dimatikan
Anda menonaktifkan instans SQL Server yang dibeli di penyedia layanan cloud lain atau instans yang dibuat secara mandiri, mencadangkan seluruh database, lalu mengekspor file cadangan (yang harus dalam format .bak). Server harus dimatikan sampai migrasi selesai.
Jika Anda memilih migrasi cadangan penuh setelah dimatikan, Anda tidak perlu melakukan migrasi cadangan tambahan secara terpisah.
Cadangan penuh tanpa dimatikan
Keterangan:
Nama file cadangan tidak dapat disesuaikan dan harus mengikuti konvensi penamaan dalam skrip.
Setelah cadangan penuh dilakukan, lakukan pemulihan cadangan tambahan hingga data pada instans sumber sama dengan data pada instans target.
Jika nama file berisi 1full1, ini adalah cadangan penuh.
Dalam skenario pemulihan tambahan, setelah unggahan cadangan dan migrasi data selesai, database akan berada dalam status "restoring" (memulihkan) sebelum cadangan dan pemulihan tambahan terakhir dilakukan. Saat ini, database tidak dapat diakses, dan hal ini normal. Anda perlu melakukan pencadangan dan pemulihan tambahan terakhir untuk membuat database dapat diakses.
Anda tidak perlu mematikan instans SQL Server yang dibeli di penyedia layanan cloud lain atau instans yang dibuat secara mandiri. Lakukan pencadangan database dan ekspor file cadangan.
---Jika pemulihan tambahan tidak diperlukan:
backup database db to disk='d:\\db.bak' with init
---Jika pemulihan tambahan diperlukan:
declare @dbname varchar(100)
declare @localtime varchar(20)
declare @str varchar(max)
set @dbname='db'
set @localtime =replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
set @str='BACKUP DATABASE [' + @dbname + '] TO DISK = N''d:\\dbbak\\' + @dbname + '_' + @localtime + '_1full1_1noreconvery1.bak'' WITH INIT'
exec(@str)
go
Mengunggah file cadangan ke COS
2. Pilih Bucket List (Daftar Bucket) di bilah sisi kiri dan klik Create Bucket (Buat Bucket).
3. Di halaman pembuatan yang muncul, masukkan informasi yang relevan dan klik OK (OKE).
Wilayah bucket harus sama dengan instans SQL Server untuk bermigrasi.
Migrasi lintas wilayah dengan COS tidak didukung.
4. Kembali ke daftar bucket dan klik nama bucket atau Configuration Management (Manajemen Konfigurasi) di kolom "Operation" (Operasi).
5. Pilih halaman File List (Daftar File), klik Upload Files (Unggah File), dan pilih satu atau beberapa file yang akan diunggah.
6. Setelah file diunggah, klik nama bucket dan dapatkan alamat objek dari informasi dasar di bagian konfigurasi dasar.
Memigrasikan data melalui file sumber di COS
2. Pilih Data Transfer (Transfer Data) di bilah sisi kiri dan klik Create Task (Buat Tugas) untuk membuat tugas migrasi offline.
Nama Tugas: kustom.
Jenis Instans Sumber: pilih SQL Server backup recovery (COS mode) (Pemulihan cadangan SQL Server (mode COS)).
Wilayah: wilayah database sumber harus sama dengan file sumber di COS.
Tautan ke File Sumber di COS: Anda dapat melihat informasi file untuk mendapatkan alamat objek COS setelah mengunggah file sumber.
Jenis dan Wilayah Database Target: dibuat secara otomatis oleh sistem berdasarkan konfigurasi database sumber.
ID Instans: pilih instans target. Anda hanya dapat memilih instans di wilayah yang sama.
3. Setelah konfigurasi selesai, klik Next (Selanjutnya).
4. Saat ini, jenis dan pengaturan database dapat diubah. Klik Create Task (Buat Tugas).
5. Kembali ke daftar tugas. Saat ini, status tugas adalah initializing (menginisialisasi). Pilih tugas di bagian atas daftar dan klik Start (Mulai) untuk menyinkronkan tugas.
6. Setelah sinkronisasi data selesai (yaitu, bilah kemajuan menunjukkan 100%), Anda perlu mengeklik Complete (Selesai) di bagian atas daftar untuk mengakhiri proses sinkronisasi. Anda dapat memeriksa apakah migrasi berhasil berdasarkan status (status).
Jika status tugas adalah task successful (tugas berhasil), artinya migrasi data berhasil.
Jika statusnya task failed (tugas gagal), artinya migrasi data gagal. Periksa informasi kegagalan, perbaiki dengan benar, lalu migrasikan lagi.
Migrasi Cadangan Tambahan
Menyiapkan file cadangan
Keterangan:
Nama file cadangan tidak dapat disesuaikan dan harus mengikuti konvensi penamaan dalam skrip.
Jika nama file berisi 1diff1, ini adalah cadangan tambahan.
(Opsional) Jika ada beberapa file cadangan tambahan, semuanya kecuali yang terakhir dapat dibuat dengan cara berikut. File harus diunggah untuk migrasi data secara berurutan; jika tidak, migrasi akan gagal.
Perhatian:
Setelah "pembuatan cadangan, pengunggahan cadangan, dan migrasi data" selesai, database akan berada dalam status "restoring" (memulihkan). Saat ini, database tidak dapat diakses, dan hal ini normal. Anda dapat mengulangi operasi ini hingga unggahan dan migrasi cadangan terakhir, lalu lakukan langkah berikutnya (yaitu, "cadangan tambahan terakhir setelah server dimatikan").
declare @dbname varchar(100)
declare @localtime varchar(20)
declare @str varchar(max)
set @dbname='db'
set @localtime =replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
set @str='BACKUP DATABASE [' + @dbname + '] TO DISK = N''d:\\dbbak\\' + @dbname + '_' + @localtime + '_1diff1_1noreconvery1.bak'' WITH DIFFERENTIAL, NOFORMAT, INIT'
exec(@str)
go
Matikan server, lakukan pencadangan tambahan, ekspor file cadangan, unggah, lalu migrasikan data.
Perhatian:
Hanya setelah operasi ini dilakukan database dapat diakses secara normal.
declare @dbname varchar(100)
declare @localtime varchar(20)
declare @str varchar(max)
set @dbname='db'
set @localtime =replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
set @str='BACKUP DATABASE [' + @dbname + '] TO DISK = N''d:\\dbbak\\' + @dbname + '_' + @localtime + '_1diff1_1reconvery1.bak'' WITH DIFFERENTIAL, NOFORMAT, INIT'
exec(@str)
go
Mengunggah file cadangan dan memigrasikan data
2. Setelah file cadangan tambahan terakhir (yaitu, file .bak yang berisi _1diff1_1reconvery1) diimpor, status instans target akan berubah dari baca saja menjadi dapat digunakan, dan Anda dapat mengalihkan bisnis Anda ke instans TencentDB for SQL Server.