只要附上它,它就會升級。如果你沒有LDF文件(?爲什麼你不具備LDF文件),您可能需要使用:
CREATE DATABASE [DatabaseName] ON
(FILENAME = N'Drive:\path\file.mdf')
FOR ATTACH_REBUILD_LOG;
有一些注意事項,當然...
- 因爲只有.mdf文件,所以你可能會在一個粗魯的覺醒中。如果文件與SQL Server不完全分離,則可能無法重新附加,並且您將不得不返回到源服務器以獲取正確的備份(不是.mdf文件)。這一切都取決於你試圖升級的.mdf文件的位置。如果您的.mdf文件未正常脫落,你可能會得到這樣的錯誤:
File activation failure. The physical file name "..._log.LDF" may be incorrect.
The log cannot be rebuilt because the database was not cleanly shut down.
Msg 1813, Level 16, State 2, Line 1
Could not open new database 'DatabaseName'. CREATE DATABASE is aborted.
- 如果你的數據庫是80兼容模式,將升級爲90。這可能意味着一些工作的代碼可能突然中斷,如
*=
/=*
加入語法。
- 如果你的數據庫大於10GB並且你嘗試連接到Express(也可能是LocalDB,從來沒有嘗試過),那麼連接將會失敗(或者連接成功,但是在第一次自動增長時會失敗?還沒有測試過) 。
- 如果您的數據庫是在2008 Enterprise/Developer上創建的,並且您僅使用了可用的功能,並且您將該數據庫附加到Standard或Express版本,那麼您也會遇到問題...
- 可以從錯誤消息根本沒有試圖附加一個2008數據庫,而是試圖附加一個2000數據庫。您不能直接將其添加到SQL Server 2012.您將首先需要將其附加到SQL Server 2005,2008或2008 R2的任何實例以將其升級到該版本,然後將其備份並將其還原到SQL Server 2012.
FWIW,移動從一個實例到另一個數據庫的很多很多,更安全的方法是使用BACKUP
/RESTORE
(原因是,如果你的備份失敗,你仍然有數據庫的副本 - 如果你分離數據庫,出現問題,你有零份)。雖然上述一些問題可能仍然適用於這種更安全的方法。
你不需要轉換它。直接在SQL Server 2012上恢復它。 – 2013-03-01 17:56:11
感謝您的時間,但我有下一個錯誤:數據庫'銷售'無法升級,因爲它的非發行版本(539)不受此版本的SQL Server支持。您無法打開與此版本的sqlservr.exe不兼容的數據庫。您必須重新創建數據庫。 無法打開新的數據庫'銷售'。 CREATE DATABASE被中止。 (Microsoft SQL Server,錯誤:950)..................老實說,我發現了幾個解決方案,但沒有成功 – Andreu 2013-03-01 18:16:30
請查看我的答案更新。你知道SQL Server 2000和SQL Server 2008之間有很大的區別。沒有準確地描述你的問題是一個很好的方法來得到一堆無用的建議,並浪費了人們在這個過程中的時間。 – 2013-03-01 18:42:05