全部产品
Search
文档中心

ApsaraDB RDS:Migrasikan data dari instans ApsaraDB RDS for SQL Server ke database SQL Server lokal

更新时间:Nov 10, 2025

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.

Catatan

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

  1. 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.

  2. Unggah file cadangan yang diunduh ke server tempat SQL Server yang dikelola sendiri berada, lalu ekstrak file cadangan fisik penuh dan inkremental.

    Catatan

    File 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 mana datafull menunjukkan cadangan penuh.

    • testdb_datadiff_201901071330.bak, di mana datadiff menunjukkan cadangan inkremental.

  3. Dapatkan file cadangan fisik penuh dan inkremental yang telah diekstraksi. Contoh jalur penyimpanan file:

    • Jalur penyimpanan file cadangan penuh: /tmp/testdb_datafull_201901071320.bak

    • Jalur penyimpanan file cadangan inkremental: /tmp/testdb_datadiff_201901071330.bak

  4. 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';
    GO

    Dalam contoh ini, nama logis file data adalah testdb dan nama file log adalah testdb_log.

    image.png

  5. Pulihkan database dari file cadangan penuh dan tentukan jalur penyimpanan file data dan log.

    Penting

    Jika 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';
    GO

    Setelah perintah dijalankan, status testdb database menunjukkan bahwa database sedang dipulihkan.

    Catatan
    • /var/opt/mssql/data/testdb.mdf adalah jalur penyimpanan file data, dan testdb.mdf adalah nama logis file data.

    • /var/opt/mssql/data/testdb_log.ldf adalah jalur penyimpanan file log, dan testdb_log.ldf adalah nama logis file log.

    Anda dapat melihat jalur penyimpanan file data dan log di Properties > Files dari database tujuan.

  6. (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';
    GO

    Setelah perintah dijalankan, status testdb database menunjukkan bahwa database sedang dipulihkan.

  7. Jalankan pernyataan berikut untuk memulihkan database ke status tersedia:

    RESTORE DATABASE testdb WITH RECOVERY;
    GO