2008-09-30 135 views
2

我一直在爲這個應用程序遷移而奮鬥了幾天。我擁有的是一箇舊的MSSQL Server 2000支持的應用程序,它正在升級到運行SMSQL Server 2005的Windows 2003 Server。我對SQL Server知之甚少,但顯然還不夠。將SQL2000數據庫遷移到另一臺機器上的SQL2005

我嘗試通過轉到數據庫 - > [數據庫] - >所有任務 - >備份數據庫...,選擇'完整'並保存文件來備份舊服務器上的數據庫。我將該備份文件移動到新服務器上,並試圖進行恢復,但它抱怨說它正在尋找位於舊服務器上的[Database] .mdf文件。

所以然後我試着做一個導出數據,選擇了本地SQL 2000數據庫,將它指向另一臺機器上的新SQL 2005數據庫,並且它一路走到最後,並死於抱怨的桌子正在加入。

我試着在2000盒子上執行'生成SQL'命令並在SQL 2005下運行它。它看起來像有很多使用舊的* =語法的SQL Server 2005不再支持的外部連接並且這是一個供應商數據庫,他們不知道他們在建立這些表格時的真實意圖。

有沒有其他方法可以嘗試遷移此數據庫?

回答

5

備份文件具有存儲在其中的數據文件的「硬」位置。您只需更新它們:

當您在2005年還原時,在單擊最後的「確定」進行還原(選擇.bak文件之後)之前,請轉到選項選項卡。這將具有備份文件中的mdf和ldf位置。將這些更改爲新機器上的合法目錄。

2

您可以從舊服務器分離數據庫,將mdf和ldf(以及任何其他相關文件)複製到服務器服務器,然後將數據庫附加到新服務器。

當您附加它時,SQL Server會將其升級到2005格式的數據庫。如果您遇到兼容性問題,也可以更改。在SQL Server Management Studio中,右鍵單擊數據庫,單擊屬性,單擊選項,然後將兼容模式更改爲「SQL Server 2000(80)」。

2

正如Peter指出的那樣,您必須將路徑更改爲新服務器上存在的新路徑。
這張圖片將幫助:

restore

一招我學習年前是單擊最後一個選項按鈕(「使數據庫只讀...」)一分鐘,以查看和複製數據文件位於新服務器中。 只是不要忘記把它恢復到第一個選項之前恢復

0

創建SQL2000的數據庫備份到文件。在SQL2005上以相同名稱創建新數據庫並使用選項「強制恢復到現有數據庫」將備份文件恢復到新數據庫,並將新數據庫的兼容級別設置爲「SQL2000(8.0)」。

相關問題