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

时间:2014-10-13 18:36:26

标签: sql-server visual-studio

我使用SQL Server 2014 Express创建了一个示例数据库,并将其添加到我的Windows Form解决方案中。双击它打开我得到这个错误。

  

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

我正在使用Visual Studio 2013.我真的不明白我使用的是两个最新版本的Microsoft产品,它们是不兼容的。我错过了什么吗?我该如何打开这个数据库?

enter image description here

6 个答案:

答案 0 :(得分:139)

尝试更改工具> 选项> 数据库工具> 数据连接> SQL Server实例名称

VS2013的默认值为(LocalDB)\v11.0

例如,更改为(LocalDB)\MSSQLLocalDB似乎有效 - 不再出现版本782错误。

答案 1 :(得分:10)

尝试更改兼容级别,为我工作。

验证它的级别

USE VJ_DATABASE;
GO
SELECT compatibility_level
FROM sys.databases WHERE name = 'VJ_DATABASE';
GO

然后使其与旧版本兼容

ALTER DATABASE VJ_DATABASE
SET COMPATIBILITY_LEVEL = 110;   
GO
  • 100 = Sql Server 2008
  • 110 = Sql Server 2012
  • 120 = Sql Server 2014

默认情况下,Sql Server 2014会将db版本兼容性更改为仅2014,使用您应该知道的@@ version,Sql Server是哪个版本。

然后运行上面的命令将其更改为您拥有的版本。

附加步骤:确保查看数据库的可访问性未重置,通过右键单击文件夹和数据库的属性来执行此操作。 (确保您拥有权利,因此您不会拒绝访问权限)

答案 2 :(得分:2)

对我来说,使用 codedom 提供的解决方案并没有奏效。这里我们只能更改现有数据库的兼容版本。

但实际问题在于,由于存储格式的变化,内部数据库版本不匹配。

查看有关SQL Server版本及其内部数据库版本的更多详细信息。 Db兼容级别here 因此,如果您使用SQL Server 2012 Express版本或更低版本创建数据库会更好。 或者开始使用Visual Studio 2015 Preview。

答案 3 :(得分:2)

此解决方案解决了我的问题:(来自:https://msdn.microsoft.com/en-us/library/ms239722.aspx

从数据连接节点永久附加数据库文件(.mdf)

  1. 打开“数据连接”的快捷菜单,然后选择“添加新连接”。

    出现添加连接对话框。

  2. 选择更改按钮。

    出现更改数据源对话框。

  3. 选择 Microsoft SQL Server ,然后选择确定按钮。

    再次出现添加连接对话框,数据源文本框中显示 Microsoft SQL Server(SqlClient)

  4. 在“服务器名称”框中,键入或浏览到SQL Server本地实例的路径。您可以输入以下内容:

    • ""对于您计算机上的默认实例。
    • "(的LocalDB)\ V11.0"对于SQL Server Express LocalDB的默认实例。
    • " \ SQLEXPRESS"对于SQL Server Express的默认实例。

    有关SQL Server Express LocalDB和SQL Server Express的信息,请参阅Local Data Overview

  5. 选择使用Windows身份验证使用SQL Server身份验证

  6. 选择附加数据库文件浏览,然后打开现有的.mdf文件。

  7. 选择确定按钮。

    新数据库出现在服务器资源管理器中。它将保持与SQL Server的连接,直到您明确分离它为止。

答案 4 :(得分:1)

另一种解决方案是将数据库迁移到例如2012年,当您从例如“导出”数据库时Sql Server管理器2014.这在菜单Tasks->中完成。右键单击DB时生成脚本。请按照以下说明操作:

https://www.mssqltips.com/sqlservertip/2810/how-to-migrate-a-sql-server-database-to-a-lower-version/

它会生成包含所有内容的脚本,然后在SQL Server管理器中生成脚本,例如2012运行指令中指定的脚本。我成功地完成了测试。

答案 5 :(得分:0)

我使用VS2017。默认情况下,SQL Server实例名称为(LocalDB)\ MSSQLLocalDB。 但是,按照@ user3390927的回答,将数据库的兼容性级别降级到110,我可以将数据库文件附加到VS中,选择“服务器名称”为“ localhost \ SQLExpress”。