從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環境下爲例:
 
    一、新建一個數據庫(例如:abc)
    二、右鍵點擊abc數據庫,在彈出的菜單中選擇「任務」-->「還原」-->「數據」
    三、選擇須要備份的數據庫文件(錄入:123.bak)
    四、點擊「選項」,選擇「覆蓋現有數據庫」
    五、點擊「物理路徑」,修改成「ABC」數據庫的文件路徑。(也就是把還原的數據庫文件,包括事務日誌文件,點選爲ABC數據庫的數據庫文件和事務日誌文件,起到覆蓋的效果)
    六、點擊「肯定」,系統就開始還原了。
 
    另外,還要注意的是,在導入數據到目標服務器時,若是源數據表中有ID這樣的主鍵字段時,必定要選擇容許插入主鍵,不然導入數據時會由於主鍵沒法插入,但主鍵又不能爲空值而產生錯誤。
相關文章
相關標籤/搜索