我使用SQL Server 2014 Express创建了一个示例数据库,并将其添加到我的Windows Form解决方案中。双击它打开我得到这个错误。
无法打开数据库,因为它是版本782.此服务器 支持706及更早版本。不支持降级路径
我正在使用Visual Studio 2013.我真的不明白我使用的是两个最新版本的Microsoft产品,它们是不兼容的。我错过了什么吗?我该如何打开这个数据库?
答案 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
默认情况下,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)
打开“数据连接”的快捷菜单,然后选择“添加新连接”。
出现添加连接对话框。
选择更改按钮。
出现更改数据源对话框。
选择 Microsoft SQL Server ,然后选择确定按钮。
再次出现添加连接对话框,数据源文本框中显示 Microsoft SQL Server(SqlClient)。
在“服务器名称”框中,键入或浏览到SQL Server本地实例的路径。您可以输入以下内容:
有关SQL Server Express LocalDB和SQL Server Express的信息,请参阅Local Data Overview。
选择使用Windows身份验证或使用SQL Server身份验证。
选择附加数据库文件,浏览,然后打开现有的.mdf文件。
选择确定按钮。
新数据库出现在服务器资源管理器中。它将保持与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”。