在家里,我安装了SQL Server 2008 R2(Express),它附加到某个.mdf文件。我正在安装SQL Server 2012(开发人员版)。我可以将2012附加到同一个.mdf文件吗?从逻辑上讲,只要SQL Server的两个实例中只有一个正在运行,它似乎就可以工作。思考?
答案 0 :(得分:2)
您可以向上 - 从较旧版本转到较新版本,例如您可以在2008 R2中备份数据库并在2012实例中恢复该备份 - 但是不能从SQL Server的较新版本附加/分离或备份/恢复数据库到旧版本 - 内部文件结构太不相同,无法支持向后兼容性。
另外:由于.mdf
的内部文件结构与每个版本的SQL Server非常不同且特定,因此 NOT 能够使用相同的{{1}来自两个不同的SQL Server版本。这肯定是行不通的。
您可以通过
解决此问题在所有计算机上使用相同版本的SQL Server - 然后您可以在实例之间轻松备份/恢复数据库
否则,您可以在SQL Server Management Studio(.mdf
中为结构(表,视图,存储过程等)和内容(表中包含的实际数据)创建数据库脚本)或使用第三方工具
或者您可以使用Red-Gate的SQL Compare和SQL Data Compare之类的第三方工具在源和目标之间进行“差异化”,根据这些差异生成更新脚本,然后在目标平台上执行这些脚本;这适用于不同的SQL Server版本。
答案 1 :(得分:0)
它可能会起作用 - 但是如果SQL 2012以SQL 2008爆炸的技术方式更新文件,我相信你会在以后遇到一些问题。
运行一个副本并备份并恢复到另一个副本不是更简单吗?