首页 文章

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

提问于
浏览
0

我有一个问题,我正在使用Visual Studio 2013创建一个MDF文件,然后像本教程中描述的那样打开它:

creating-the-membership-schema-in-sql-server

但是当我尝试将数据库附加到MSSQLServer时,我得到错误948,它基本上说:

无法打开数据库,因为它是版本706.此服务器支持版本663及更早版本 .

我读过这两篇文章:

The database cannot be opened because it is version 782. This server supports version 706 and earlier. A downgrade path is not supported

The database cannot be opened because it is version 706. (ASP.net)

由此可以假设可以将“Visual Studio”切换到不同的SQL Server版本 . 所以我可以删除我的旧文件,创建一个新文件(在vS2013中),然后将其附加到我的SQlServerExpress .

我能切换下吗?

工具 - >选项 - >数据库工具 - >数据连接

到SQL版本(LocalDB)\ v10.0?如果是这样,有任何理由不切换,因为它可能导致VS2013中的错误或意外行为

1 回答

  • 1

    创建数据库时,可以指定兼容版本 . 这将关闭较新版本的SQL Server中可用的功能,但如果您只有一个用于身份验证的数据库,则不太可能使用这些功能 .

    在您的问题服务器中似乎只有SQL Server Express版本2008 R2(应用了一些补丁) . 要在兼容版本中创建数据库,您必须执行许多步骤(full article):

    • 备份当前数据库

    • 在数据库管理器中,右键单击并选择"Generate Scripts"任务:

    • 脚本整个数据库

    • 保存到文件并选择目标路径,选择Unicode文本文件

    • 选择以下高级选项:

    • 服务器版脚本:SQL Server 2008 R2

    • 脚本数据类型:架构和数据

    • 脚本外键:true

    • 脚本索引:true

    • 连接到SQL Server 2008 R2实例 (important)

    • 运行您生成的脚本以在降级版本中重新创建数据库和数据(您可能必须更正脚本顶部的数据库名称)

    • 获取生成的MDF文件并将其合并到您的应用程序中

    较新的数据库可以使用较旧的MDF文件(在适当的情况下,Server 2012将不会比2008年更进一步),但它将无法创建与旧版本兼容的MDF文件 .

相关问题