1. 程式人生 > >SQL 高版本資料庫恢復到低版本

SQL 高版本資料庫恢復到低版本

資料庫 'SqlPersistenceService' 的版本為 655,無法開啟。此伺服器支援 611 版及更低版本。不支援降級路徑。 無法開啟新資料庫 'SqlPersistenceService'。CREATE DATABASE 中止。

原因:

版本655指的是SQL2008, 版本611指的是SQL2005, (還有一個版本539指的是SQL2000)
屬於典型的從高版本降低至低版本使用的情景.
按微軟的官方說法, 是不支援從高版本附加到低版本的.
如果一定要這麼做, 那怎麼辦呢? 有辦法.
首先, 找一臺裝有SQL Server 2008的電腦, 將你的資料庫檔案附加到這臺電腦裡.
附加成功後, 在SSMS的物件資源管理器視窗右鍵單擊剛剛附加的資料庫,依次選"任務>生成指令碼...", 此時會彈出指令碼嚮導對話方塊.
點"下一步".
在"選擇資料庫"對話方塊選中剛剛附加的資料庫, 同時將底部的"為所選資料庫中的所有物件編寫指令碼"打勾. 點下一步.
在"選擇指令碼選項"對話方塊中,還需要修改以下幾個選項:
1)."編寫資料的指令碼",設為"True"; (SQL2005沒有這個選項,所以才要找一臺裝有SQL2008的電腦嘛,多省事啊,省去了資料匯入匯出的麻煩)
2)."編寫觸發器指令碼",設為"True";
3)."編寫建立資料庫的指令碼",設為"True";
4)."為伺服器版本編寫指令碼",選"SQL Server 2005";(如果是要用的SQL2000中,那就選SQL Server 2000)
以上4個選項是非常建議這樣設定的,其他的選項就自己看著辦,其他的一般也不用改. 點下一步.
在"輸出選項"對話方塊中,選"將指令碼儲存到檔案",其他預設,點下一步.
點完成.
點關閉.

然後將剛剛生成的指令碼檔案拷到你自己的電腦上,在SQL Server 2005中開啟並執行該指令碼.!!!注意:在執行該指令碼前,如有必要,請務必修改該指令碼中指定的mdf檔案和ldf檔案的物理路徑,以符合你自己的要求.