Topik ini menjelaskan cara memigrasikan data dari instans ApsaraDB RDS for SQL Server ke database SQL Server yang dikelola sendiri. Anda perlu mengunduh file cadangan fisik penuh dan inkremental dari Konsol RDS, mengunggahnya ke database SQL Server yang dikelola sendiri, mengekstraknya, dan kemudian memulihkannya.
Prasyarat
File cadangan fisik telah dibuat untuk instans ApsaraDB RDS for SQL Server. Untuk informasi lebih lanjut, lihat Cadangan Fisik.
Anda juga dapat menggunakan Layanan Transmisi Data (DTS) untuk memigrasikan file cadangan fisik atau file cadangan snapshot dari cloud ke instans SQL Server yang dikelola sendiri (dengan ApsaraDB RDS for SQL Server sebagai sumber dan SQL Server yang dikelola sendiri sebagai tujuan).
Prosedur
Unduh file cadangan fisik penuh dan inkremental dari instans ApsaraDB RDS for SQL Server.
Jika server tujuan dapat mengakses instans sumber, Anda juga dapat menggunakan
wget "URL"untuk mengunduh file cadangan. Parameter URL menentukan URL unduhan file cadangan.Unggah file cadangan yang diunduh ke server tempat SQL Server yang dikelola sendiri berada, lalu ekstrak file cadangan fisik penuh dan inkremental.
CatatanFile cadangan fisik penuh dan inkremental memiliki nama yang sama setelah diekstraksi. Kami sarankan Anda menamai ulang file dalam format berikut: <Nama Database>+<Metode Cadangan>+<Tanggal>. Contoh:
testdb_datafull_201901071320.bak, di manadatafullmenunjukkan cadangan penuh.testdb_datadiff_201901071330.bak, di manadatadiffmenunjukkan cadangan inkremental.
Dapatkan file cadangan fisik penuh dan inkremental yang telah diekstraksi. Contoh jalur penyimpanan file:
Jalur penyimpanan file cadangan penuh:
/tmp/testdb_datafull_201901071320.bakJalur penyimpanan file cadangan inkremental:
/tmp/testdb_datadiff_201901071330.bak
Masuk ke database SQL Server lokal yang dikelola sendiri dan jalankan perintah berikut untuk menanyakan nama file logis dalam file cadangan:
RESTORE FILELISTONLY FROM DISK='/tmp/testdb_datafull_201901071320.bak'; GODalam contoh ini, nama logis file data adalah testdb dan nama file log adalah testdb_log.

Pulihkan database dari file cadangan penuh dan tentukan jalur penyimpanan file data dan log.
PentingJika Anda hanya ingin memulihkan data dari file cadangan fisik penuh, setelah menyelesaikan langkah ini, langsung ke Langkah 7. Lakukan Langkah 6 hanya jika Anda ingin memulihkan data dari file cadangan fisik inkremental.
RESTORE DATABASE testdb FROM DISK = '/tmp/testdb_datafull_201901071320.bak' WITH REPLACE, NORECOVERY, STATS = 10, MOVE 'testdb' TO '/var/opt/mssql/data/testdb.mdf', MOVE 'testdb_log' TO '/var/opt/mssql/data/testdb_log.ldf'; GOSetelah perintah dijalankan, status testdb database menunjukkan bahwa database sedang dipulihkan.
Catatan/var/opt/mssql/data/testdb.mdfadalah jalur penyimpanan file data, dantestdb.mdfadalah nama logis file data./var/opt/mssql/data/testdb_log.ldfadalah jalur penyimpanan file log, dantestdb_log.ldfadalah nama logis file log.
Anda dapat melihat jalur penyimpanan file data dan log di dari database tujuan.
(Opsional) Pulihkan database dari file cadangan inkremental dan tentukan jalur penyimpanan file data dan log.
RESTORE DATABASE testdb FROM DISK = '/tmp/testdb_datadiff_201901071330.bak' WITH REPLACE, NORECOVERY, STATS = 10, MOVE 'testdb' TO '/var/opt/mssql/data/testdb.mdf', MOVE 'testdb_log' TO '/var/opt/mssql/data/testdb_log.ldf'; GOSetelah perintah dijalankan, status testdb database menunjukkan bahwa database sedang dipulihkan.
Jalankan pernyataan berikut untuk memulihkan database ke status tersedia:
RESTORE DATABASE testdb WITH RECOVERY; GO