All Products
Search
Document Center

ApsaraDB RDS:Migrasikan ApsaraDB RDS for SQL Server ke SQL Server on-premises

Last Updated:Jun 22, 2026

Topik ini menjelaskan cara memigrasikan data dari instans ApsaraDB RDS for SQL Server ke instans SQL Server yang dikelola sendiri. Anda harus mengunduh file cadangan fisik penuh dan inkremental dari Konsol ApsaraDB RDS, mengunggahnya ke server yang menjalankan instans SQL Server yang dikelola sendiri, mengekstrak file tersebut, lalu memulihkan database.

Prasyarat

Pastikan Anda memiliki file cadangan fisik lengkap dari instans ApsaraDB RDS for SQL Server Anda.

Catatan

Anda juga dapat menggunakan Data Transmission Service (DTS) untuk memigrasikan file cadangan fisik atau Snapshot. Di DTS, konfigurasikan ApsaraDB RDS for SQL Server sebagai sumber dan instans SQL Server yang dikelola sendiri sebagai tujuan.

Prosedur

  1. Unduh file cadangan fisik penuh dan inkremental dari instans ApsaraDB RDS for SQL Server Anda.

    Jika server tujuan dapat mengakses instans sumber, Anda juga dapat mengunduh file cadangan menggunakan perintah wget "URL". Ganti "URL" dengan URL unduhan file cadangan.

  2. Unggah file cadangan yang telah diunduh ke server yang menjalankan instans SQL Server yang dikelola sendiri, lalu ekstrak file cadangan penuh dan inkremental tersebut.

    Catatan

    Setelah diekstrak, file cadangan penuh dan inkremental memiliki nama file yang sama. Untuk memudahkan pemeliharaan, kami menyarankan agar Anda mengganti nama file dalam format <Nama database>_<Metode cadangan>_<Tanggal>. Contohnya:

    • testdb_datafull_201901071320.bak, di mana datafull menunjukkan cadangan penuh.

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

  3. Catat jalur file cadangan penuh dan inkremental yang telah diekstrak. Topik ini menggunakan jalur berikut sebagai contoh:

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

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

  4. Login ke instans SQL Server yang dikelola sendiri dan jalankan pernyataan berikut untuk mengkueri nama file logis dalam file cadangan:

    RESTORE FILELISTONLY FROM DISK='/tmp/testdb_datafull_201901071320.bak';
    GO

    Hasil kueri menunjukkan bahwa nama file logis untuk file data adalah 'testdb' dan nama file logis untuk file log adalah 'testdb_log'.

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

    Penting

    Jika Anda perlu memulihkan cadangan inkremental, lanjutkan ke Langkah 6. Jika hanya memulihkan cadangan penuh, lewati ke Langkah 7.

    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 menjalankan pernyataan ini, database testdb berada dalam status restoring.

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

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

    Anda dapat melihat jalur file data dan file log di bagian Properties > Files pada database tujuan.

  6. (Opsional) Pulihkan database dari file cadangan inkremental dan tentukan lokasi penyimpanan untuk file data dan file 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 menjalankan pernyataan ini, database testdb berada dalam status restoring.

  7. Jalankan pernyataan berikut untuk memulihkan database dan membawanya online.

    RESTORE DATABASE testdb WITH RECOVERY;
    GO