有没有办法将SQL Server 2008 mdf文件转换为SQL Server Express版本?

问题描述:

我有一个MDF文件是SQL Server 2008的文件。我想将其转换为SQL Server Express或SQL Compact版本。有没有办法将SQL Server 2008 mdf文件转换为SQL Server Express版本?

是否有将它转化成任何工具?

对于SQL Server - Express或Standard/Web/Developer - 在文件格式中有没有区别。您的SQL Server 2008中的MDF可以在SQL Server 2008(或2008 R2)Express上运行,无需任何转换或修改。

可以

  • 创建SQL Server 2008的备份(成.bak文件),它的SQL Server下恢复2008速成

或:

  • 你可以分离从您的SQL Server 2008的MDF文件,将文件复制到新的位置(或者新的服务器),然后将其重新连接到SQL Server 2008安装有快递。

的SQL Server精简版是一个完全不同的故事,虽然 - 它是由一个单一的.SDF文件,不能从现有的SQL Server可以轻松创建2008 MDF/LDF文件集的....我会如果有任何有用的工具将数据从SQL Server 2008(MDF/LDF)迁移到SQL Server Compact Edition 4.0(SDF)格式,请感兴趣我自己...

更新:快速搜索找到一些有趣的候选人:

+0

需要注意的是,如果SQL Server版本比Express Edition更新,它可能无法将db文件附加到更高版本,并且需要进行一些下变换。 –

除非你使用的功能,不Express Edition的工作(如分区),您的2008年数据库也是在SQL Server 2008 Express的资格。如果数据库当前连接的地方,您可以检查使用这些功能:

SELECT feature_name, feature_id 
    FROM sys.dm_db_persisted_sku_features; 

理想的情况下,这将返回0行。如果它返回任何行,则很可能您正在使用Express中不符合条件的功能。

而且更加安全备份/恢复不是分离/附加数据库是否实际上仍然附着在2008实例 - 这样一来,如果出了问题,你原来的数据库仍然完好无损。所以,如果它连接,你可以在2008实例运行BACKUP DATABASE命令,然后运行RESTORE DATABASE(可能使用WITH MOVE选项存储在正确的位置的文件)的Express实例。 (更简单的办法是将数据库设置为OFFLINE,复制文件并再次将数据库设置为ONLINE - 但我仍然更喜欢BACKUP/RESTORE路线。)

BACKUP:

http://msdn.microsoft.com/en-us/library/ms186865%28SQL.100%29.aspx

RESTORE:

http://msdn.microsoft.com/en-us/library/ms186858%28SQL.100%29.aspx

如果你已经是一个MDF/LDF文件,然后在SQL Server 2008 Express的你应该能够使用CREATE DATABASE ... FOR ATTACH/FOR ATTACH_REBUILD_LOG。你可以阅读这里的语法:

CREATE DATABASE:

http://msdn.microsoft.com/en-us/library/ms176061%28SQL.100%29.aspx

如果您有任何这些命令的问题,请发表你已经尝试什么,你收到了什么错误消息。

至于精简版,不,我不知道任何工具,将为您转换您的数据库。功能集和甚至一些语言结构在两者之间不兼容。