在我們使用別人導出的數據庫的時候,有時候我們會通過附加數據庫的方法,把別人導出的數據庫附加到我們的電腦中,這時,或許你會遇到這種問題,附加時,提示版本為XXX,無法打開,支持AAA版本。
這是怎么回事呢?
原來,版本號是指SQL Server的版本號,例如版本號661是SQL Server 2008 R2,版本號655是SQL Server 2008 等。它擁有向上兼容的特點。由此可見,標題的意思就是說,你要附加的數據庫,只能在SQL Server 2008 R2及更高版本上運行,不能在SQL Server 2008 上運行,那么,我們該怎么處理這個問題呢?
處理這種問題,有很多種方法,下面我就說一個我查到並使用的方法,僅供參考,如果有更好的方法,歡迎溝通。
1.把這個數據庫附加到裝有SQL Server 2008 R2的數據上。
2.打開Management Studio,登錄到服務器,在數據庫中選擇要轉移的數據庫,右鍵--“任務(T)”--“生成腳本(E)...”。
3.在“生成和發布腳本”窗口中,點擊“下一步”
4.“選擇要編寫腳本的數據庫對象”,可以不做設置,點擊“下一步”
5.點擊[保存到文件]右邊的“高級”按鈕,在對話框中,設置“為服務器版本編寫腳本”為“SQL Server 2008”,設置“要編寫腳本的數據的類型”為“架構和數據”。選擇保存腳本的位置
6.下一步,再下一步。導出完成
把導出完成的程序,在放到SQL Server 2008 中,按下面步驟:
1.打開Management Studio,登錄到服務器
2.選擇菜單“文件”——“打開”——“文件”,選擇.sql腳本文件,點擊工具欄中的“執行”按鈕
3.在左側的“對象資源管理器”中右鍵“數據庫”——“刷新”
到此為止,“版本號661,無法打開,支持655版本及其以下版本……”這個錯誤就算是解決了。當然,如果你直接把數據庫卸載,在裝SQL Server 2008R2 , 也是可以完美解決這個問題的。
版本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個選項是非常建議這樣設置的,其他的選項就自己看着辦,其他的一般也不用改. 點下一步.
在"輸出選項"對話框中,選"將腳本保存到文件",其他默認,點下一步.
點完成.
點關閉.
