我需要将文件DATABASE.MDF
从SQL Server 2008转换为SQL Server 2012吗?
数据库“Sales”无法升级,因为此版本的SQL Server不支持其非发行版本(539)。您无法打开与此版本的sqlservr.exe不兼容的数据库。您必须重新创建数据库 无法打开新数据库'Sales'。 CREATE DATABASE被中止。 (Microsoft SQL Server,错误:950)
答案 0 :(得分:15)
只需附上它即可升级。如果您没有LDF文件(为什么没有LDF文件?),您可能必须使用:
CREATE DATABASE [DatabaseName] ON
(FILENAME = N'Drive:\path\file.mdf')
FOR ATTACH_REBUILD_LOG;
当然有一些警告......
文件激活失败。物理文件名“..._ log.LDF”可能不正确 无法重建日志,因为数据库未完全关闭 Msg 1813,Level 16,State 2,Line 1
无法打开新数据库'DatabaseName'。 CREATE DATABASE被中止。
*=
/ =*
连接语法。 FWIW,一种将数据库从一个实例移动到另一个实例的更安全的方法是使用BACKUP
/ RESTORE
(原因是如果您的备份失败,您仍然有一个副本数据库 - 如果你分离数据库,出现问题,你就没有副本)。虽然上面的一些问题可能仍然适用于这种更安全的方法。
答案 1 :(得分:2)
OP似乎错误地认为他的数据库类型。 SQL Server的版本539不是2008而是SQL Server 2000.请参阅此主题: SQL Server file version number: where can I find a reference?
我遇到了同样的错误消息,试图将SQL Server 2000数据库附加/恢复到SQL Server 2012的实例。也许有一种解决方法,但我做的是首先转换为SQL Server 2008 R2,然后再到SQL Server 2012.这样执行没有任何问题。