2009-02-12 51 views
1

我正在使用SQL Server 2005.如何使用差異備份移動數據庫?

我需要將數據庫以最少的停機時間移動到新服務器。

目前,我的選擇是將所有內容全部脫機,執行備份,將備份複製到新服務器,恢復備份並使所有內容恢復聯機狀態。

這裏的問題是備份文件大概是10Gb,因此執行這整個操作大約需要5-10分鐘。

我聽說有人在網上做所有事情都做了完整的備份,然後做差異備份,所以複製的次數少了。

我已將完整備份複製到新服務器並將其恢復。然後我進行了差異備份並將其複製到新服務器。

問題是,當我嘗試恢復此備份時,我收到消息「日誌或差異備份無法恢復,因爲沒有文件準備好前滾。」

我也嘗試選擇完全備份和差異備份,但後來出現錯誤「設備上的卷D:\ FullBackup.bak'不是多家族媒體集的一部分,可以使用BACKUP WITH FORMAT組成一個新的媒體集。「

有誰知道我在做什麼錯,什麼是最簡單的方法呢?

感謝

回答

3

看來你沒有上滿RESTORE設置NORECOVERY選項。

您需要使用此選項使所有事務保持不變,以便以後可以應用差異備份。

如果不設置它,未恢復的事務會在恢復完整備份的同時回退,並且數據庫的最後一個LSN會變得比差異備份的第一個LSN大。

+0

謝謝!我知道這是我錯過的愚蠢! – 2009-02-12 12:10:13

0

這樣做的另一個快速方法是分離數據庫,然後將底層的.mdf和.ldf文件直接複製到數據庫,然後重新附加。複製10GB文件所需的時間將遠遠少於備份,並且它實現了同樣的功能。

+0

原始海報聲明他們要求「儘量減少停機時間」。這將導致不必要的停機時間。 – 2009-02-12 13:52:49