每小時 交易記錄備份
每天 差異備份
每週 完整備份
先前有測試過將資料庫直接恢復到特定時間是沒有問題的,
不過今天卻小小卡關一下,因為常見的是原資料庫利用備份檔還原,
或者在其它資料庫主機做同樣資料庫名稱的備份還原動作!
但是如果是在同一台主機,要將原本備份的資料還原到另外一個資料庫呢?
假設原本資料庫叫DB_AA,想要在同主機上新建一個DB_BB,
並將之前DB_AA備份的檔案回存到DB_BB上
今天遇到的錯誤訊息是
"備份組包含現有的 'XXX' 資料庫以外的資料庫備份。"
最後在FB-SQL PASS Taiwan社團問到了解決方法,
只怪自己不仔細,只想到直接用指令回復,
其實也可以利用UI設定好後產生指令去看中間的差異!
RESTORE DATABASE [還原至DB名] FROM DISK = N'路徑:\備份檔.bak' WITH FILE = 1, MOVE N'備份檔DB名' TO N'路徑:\還原至DB名.mdf', MOVE N'備份檔DB名_log' TO N'路徑:\還原至DB名_log.ldf', NOUNLOAD,NoRecovery, REPLACE, STATS = 10 GO RESTORE DATABASE 還原至DB名 FROM DISK = 'F:\20150930\20150927050000_Diff.diff' WITH NORECOVERY RESTORE LOG 還原至DB名 FROM DISK = 'F:\20150930\20150930130000_Log.trn' WITH NORECOVERY RESTORE LOG 還原至DB名 FROM DISK = 'F:\20150930\20150930140000_Log.trn' WITH RECOVERY
注意還原的順序為完整備份、差異備份、交易記錄備份
除了最後一個還原是用WITH RECOVERY
其餘應該都要用WITH NORECOVERY
沒有留言:
張貼留言