有没有办法将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)格式,请感兴趣我自己...
更新:快速搜索找到一些有趣的候选人:
除非你使用的功能,不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
如果您有任何这些命令的问题,请发表你已经尝试什么,你收到了什么错误消息。
至于精简版,不,我不知道任何工具,将为您转换您的数据库。功能集和甚至一些语言结构在两者之间不兼容。
需要注意的是,如果SQL Server版本比Express Edition更新,它可能无法将db文件附加到更高版本,并且需要进行一些下变换。 –