從SQL2005的備份文件導入到SQL2000的操作心得

    如題,今天幫朋友把一個客戶的SQL2005備份數據庫文件導入到我朋友的SQL2000服務器中。爲此,整整折騰了3天的時間。總算弄明白了。爲此,想和也有這方面問題的朋友交流一下經驗。
 
    簡單說一下思路。
 
    總體思路爲:備份文件導入到本地SQL2005服務器上,接着由於要導入的SQL SERVER是2000的,因此做一個腳本,使數據庫結構轉換爲SQL2000的數據庫結構版本,最後,再用導入/導出的方法從本地導入到遠程(目標)服務器上的OVER了。
 
    我原以爲客戶的數據庫備份文件是SQL2000的數據庫備份文件,於是第一時間在虛擬機上配了個SQL2000。結果在做還原數據庫時,系統提示說數據庫結構版本與現有服務器數據庫結構版本不一致並且給出了該本文文件的數據庫結構版本號和現有服務器的數據庫結構版本號。驚訝~沒想到現在還真有客戶的網站開始用SQL2005了。於是乎,噼裏啪啦的有下了SQL2005來安裝。爲了保證SQL2005的安裝更爲順利,順便爲以後做實驗,還特別下了個WIN2008SP2(總共耗時1天還多)。
 
    由於客戶原來使用的數據庫版本是SQL2005,自然要比SQL2000的數據結構稍有不同。爲此,我先把SQL2005導入到自己的服務器上(其實也是想試驗一下,搞不好是SQL2008呢?)。接下來的做法跟SQL2005導入到SQL2000的步驟來做就可以了。即:生成SQL2000腳本、在目標服務器上運行這個腳本,之後就是從本地導入數據庫到目標服務器上。這部分的操作步驟在網上很多,可以自己去找或者查看我博客的相關文章。
 
    需要說明的是,.BAK文件再倒入到本地服務器時,可不像恢復數據庫的操作那麼簡單。需要以下幾個步驟:
 
    我的操作以在SQL2005環境下爲例:
 
    1、新建一個數據庫(例如:abc)
    2、右鍵點擊abc數據庫,在彈出的菜單中選擇“任務”-->“還原”-->“數據”
    3、選擇需要備份的數據庫文件(錄入:123.bak)
    4、點擊“選項”,選擇“覆蓋現有數據庫”
    5、點擊“物理路徑”,修改爲“ABC”數據庫的文件路徑。(也就是把還原的數據庫文件,包括事務日誌文件,點選爲ABC數據庫的數據庫文件和事務日誌文件,起到覆蓋的效果)
    6、點擊“確定”,系統就開始還原了。
 
    另外,還要注意的是,在導入數據到目標服務器時,如果源數據表中有ID這樣的主鍵字段時,一定要選擇允許插入主鍵,否則導入數據時會因爲主鍵無法插入,但主鍵又不能爲空值而產生錯誤。
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章