Windows应用程序在mdf文件中写入数据后,Mdf文件未附加在Sql Server中

时间:2016-05-12 12:46:42

标签: sql-server windows sql-server-2008r2-express

我开发了一个基于Windows的应用程序,我使用.mdf文件进行后端操作。当没有数据通过应用程序传递到.mdf文件(这意味着新的.mdf文件时,我能够成功地将此.mdf文件附加到我的SQL Server 2008 R2中。

但是当数据通过应用程序写入.mdf文件时,我无法附加该.mdf文件。我收到一个SQL Server错误:

enter image description here

为什么版本会自动更改?请帮帮我

1 个答案:

答案 0 :(得分:0)

无法执行此操作 - 您无法将SQL Server的较新版本(706 = SQL Server 2012)中的数据库附加/分离或备份/还原到旧版本(661 = SQL Server 2008 R2) - 内部文件结构太不相同,无法支持向后兼容性。

您可以通过

解决此问题
  • 在所有计算机上使用相同版本的SQL Server - 然后您可以在实例之间轻松备份/恢复数据库

  • 否则,您可以在SQL Server Management Studio(Tasks > Generate Scripts中为结构(表,视图,存储过程等)和内容(表中包含的实际数据)创建数据库脚本)或使用第三方工具

  • 或者您可以使用像Red-Gate SQL CompareSQL Data Compare这样的第三方工具进行"差异化"在源和目标之间,根据这些差异生成更新脚本,然后在目标平台上执行这些脚本;这适用于不同的SQL Server版本。