用SqlServer2000的數(shù)據(jù)庫備份來還原SqlServer2005中的數(shù)據(jù)庫

字號:

現(xiàn)在手中有Sql Server 2000中的數(shù)據(jù)庫備份文件(如果此備份文件沒有后綴名*.bak或*.trn,請追加相應(yīng)的后綴名),欲將此文件還原到Sql Server 2005中,還原時突然報錯,為此在網(wǎng)上搜索了有關(guān)文章,金慶的專欄中有一篇《SQL2005備份還原問題 》講解到了,但個人感覺不是很詳細(xì),現(xiàn)將分析和解決方法詳細(xì)講解。
    【簡單回顧】
    如果我們有Sql Server 2000的數(shù)據(jù)庫備份文件,要還原到另外一個Sql Server 2000數(shù)據(jù)庫中,我們的操作是什么樣的呢?
    1、在目標(biāo)數(shù)據(jù)庫服務(wù)器中,打開Sql Server 2000的企業(yè)管理器,并新建與原庫同名的數(shù)據(jù)庫;
    2、右鍵選擇新建的數(shù)據(jù)庫,找到并選擇還原數(shù)據(jù)庫,再隨后的窗口中選擇從設(shè)備;
    3、添加Sql Server 2000的數(shù)據(jù)庫備份文件并勾選覆蓋原有數(shù)據(jù)庫,點擊確定,還原成功!
    以上敘述為簡單的回顧在Sql Server 2000中還原數(shù)據(jù)庫的過程,雖然敘述的步驟不詳細(xì),但這大體的步驟已經(jīng)可以說明一些問題了!請接著往下看……
    【還原Sql Server 2005】
    回顧完Sql Server 2000中的數(shù)據(jù)庫還原步驟,那么要將Sql Server 2000的數(shù)據(jù)庫備份還原到Sql Server 2005上是不是也是如此呢?于是我如此這般的做了:
    1、在目標(biāo)數(shù)據(jù)庫服務(wù)器中,打開SQL Server Management Studio,登錄成功后,新建與原庫同名的數(shù)據(jù)庫;
    2、右鍵選擇新建的數(shù)據(jù)庫,選擇“任務(wù)”下的“還原”,再隨后的窗口中選擇“源設(shè)備”;
    3、添加Sql Server 2000的數(shù)據(jù)庫備份文件(此處的備份文件必須已經(jīng)添加好后綴名),在列表中勾選此文件點擊“確定”。
    4、提示錯誤信息如下:
    標(biāo)題: Microsoft SQL Server Management Studio
    還原 對于 服務(wù)器“***”失敗。 (Microsoft.SqlServer.Smo)
    有關(guān)幫助信息,請單擊: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.3042.00&EvtSrc=
    Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=還原+Server&LinkId=20476
    其他信息:
    System.Data.SqlClient.SqlError: 備份集中的數(shù)據(jù)庫備份與現(xiàn)有的 '***' 數(shù)據(jù)庫不同。 (Microsoft.SqlServer.Smo)
    【解決步驟】
    看了金慶的專欄的《SQL2005備份還原問題 》后知道,若要用Sql Server 2000成功還原到Sql Server 2005中并不能按照在Sql Server 2000中的還原步驟來還原,即不能新建與原庫同名的數(shù)據(jù)庫,正確的還原方法如下敘述:
    1、刪除上述操作中新建的數(shù)據(jù)庫或還原時要起的數(shù)據(jù)庫名稱相同的數(shù)據(jù)庫名稱,結(jié)合上圖如刪除已存在的'CN17006_db'數(shù)據(jù)庫;
    2、右擊“數(shù)據(jù)庫”選擇“還原數(shù)據(jù)庫”;
    3、在出現(xiàn)的窗口中輸入目標(biāo)數(shù)據(jù)庫,如輸入CN17006_db,并選擇“源設(shè)備”,點擊瀏覽按鈕;
    4、單擊“添加”按鈕,選擇Sql Server 2000的備份文件,點擊“確定”按鈕到初始窗口,勾選文件前“還原”列的復(fù)選框;
    5、點擊“確定”按鈕,數(shù)據(jù)庫還原成功。
    【關(guān)鍵所在】
     由上述內(nèi)容不難看出來,使用Sql Server 2000的數(shù)據(jù)庫備份文件還原Sql Server 2000的數(shù)據(jù)庫和還原Sql Server 2005的數(shù)據(jù)庫時,其關(guān)鍵所在就是在Sql 2000時是必須新建數(shù)據(jù)庫并對其還原,而在Sql 2005時是必須不能新建數(shù)據(jù)庫才能對其還原。另外一個區(qū)別就是Sql 2000時是要新建的數(shù)據(jù)庫名稱與原庫名稱相同,而Sql 2005時輸入的數(shù)據(jù)庫名稱可以是任意的一個名稱,不必與原庫名稱相同。