RDS SQL Server支持通過物理備份文件將云上的數據遷移到本地數據庫。
除了本文介紹的遷移方法外,您還可以使用數據傳輸服務DTS(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