RDS SQL Server支援通過物理備份檔案將雲上的資料移轉到本機資料庫。
除了本文介紹的遷移方法外,您還可以使用Data Transmission Service(Data Transmission Service),將RDS SQL Server資料移轉至自建SQL Server。
操作步驟
下載RDS SQL Server的全量和增量物理備份檔案,並上傳至自建SQL Server所在的伺服器。備份檔案擷取方法,請參見下載備份。
如果目標伺服器可以訪問源執行個體,您也可以使用
wget "URL"
下載備份檔案。其中URL為備份檔案下載地址。下載完成後,解壓全量物理備份檔案和增量物理備份檔案。
說明由於解壓後的全量和增量檔案名稱相同,建議按資料庫名+備份方式+日期的規則進行重新命名,方便後續維護,例如:
testdb_datafull_201901071320.bak,datafull表示全量備份。
testdb_datadiff_201901071330.bak,datadiff表示增量備份。
擷取解壓後的全量備份檔案和增量備份檔案,本例以如下路徑為例:
全量備份檔案存放路徑:/tmp/testdb_datafull_201901071320.bak
增量備份檔案存放路徑:/tmp/testdb_datadiff_201901071330.bak
登入本地SQL Server資料庫,通過備份檔案查詢雲資料庫的檔案邏輯名。
restore filelistonly from disk='/tmp/testdb_datafull_201901071320.bak' go
系統顯示如下,紅框中為資料檔案邏輯名testdb和記錄檔邏輯名testdb_log。
將資料庫從全量備份檔案中恢複,並指定資料檔案和記錄檔的儲存位置。
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
說明/var/opt/mssql/data/testdb.mdf為資料檔案地址,testdb.mdf為資料檔案邏輯名。
/var/opt/mssql/data/testdb_log.ldf為記錄檔地址,testdb_log.ldf為記錄檔邏輯名。
您可在目標資料庫的
中可以查看到資料檔案和記錄檔的地址。執行完成後,資料庫testdb將顯示正在還原狀態。
說明如果只需恢複全量備份資料,請直接跳至步驟7。如果還需要恢複增量備份資料,請執行步驟6。
將資料庫從增量備份檔案中恢複,並指定資料檔案和記錄檔的儲存位置。
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
執行完成後,資料庫testdb將顯示正在還原狀態。
執行以下命令,將資料庫恢複為可用狀態。
RESTORE DATABASE testdb WITH RECOVERY; GO