C# - 无法打开数据库,因为它是版本706

时间:2014-05-21 07:47:32

标签: c# sql-server

我正在尝试连接但是收到错误

  

无法打开数据库,因为它是版本706.此服务器支持655及更早版本。不支持降级路径

我的SQL版本:

Microsoft SQL Server 2012 - 11.0.2100.60 (X64) 
Copyright (c) Microsoft Corporation
Express Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

我的连接字符串:

"Server=.\\SQLExpress;AttachDbFilename=" + datasource + ";Trusted_Connection=Yes;User Instance=True;"

为什么不连接?我从x86转移到x64系统并安装了x86上的相同软件。我安装的软件是基于x64的。

1 个答案:

答案 0 :(得分:4)

不能执行此操作 - 您无法从SQL Server的较新版本附加/分离或备份/恢复数据库(内部数据库版本为706 - 可能SQL Server 2012)直到旧版本(您的引擎支持最多655的版本 - 即SQL Server 2008) - 内部文件结构太不相同,无法支持向后兼容性。

您可以通过

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

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

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