SQL Server資料庫從高版本遷移到低版本的解決方案

Jujay發表於2011-09-26
平時最常用的SQL Server資料庫遷移的方法是backup&restore,步驟如下:
1. 用backup命令物理備份源資料庫
2. 把備份檔案傳輸到目標主機上
3. 用restore命令還原成目標資料庫

但是今天在做一個SQL Server 資料庫遷移時,當進行到第3步時出現以下錯誤:

Msg 3169, Level 16, State 1, Line 1
The database was backed up on a server running version 10.50.1600. That version is incompatible with this server, which is running version 10.00.4000. Either restore the database on a server that supports the backup, or use a backup that is compatible with this server.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.

這個錯誤是因為源資料庫的版本(10.50.1600)高於目標資料庫版本(10.00.4000),所以不能用backup&restore的方法,為了避開資料庫版本的問題,我使用以下方法:
1. 在源資料庫中生成建立object的指令碼,然後在目標資料庫中應用這個指令碼。
在源資料庫端:右擊源資料庫=》Tasks=》Generate Script=》根據嚮導生產相應指令碼,該指令碼包含建立database,table,view,sp等的SQL語句;
注意:生產的SQL語句版本不得高於目標資料庫的版本(SQL語句版本在"Set Scripting Options"頁面“Advanced"裡設定)。
接著在目標資料庫端執行生產的SQL語句。
2. 用import/export把源資料庫中的資料匯入到目標資料庫。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26277071/viewspace-708283/,如需轉載,請註明出處,否則將追究法律責任。

相關文章