两部分的问题.
我使用VS 2015更新3创建了一个ASP.NET MVC 5应用程序。突然,我无法再通过Server对象资源管理器连接到.mdf数据库文件并获得以下错误:
数据库'aspnet-DevilsTowerMVC-20180327093314‘不能打开,因为它是852版本。此服务器支持782及更早版本。不支持降级路径。无法打开新的数据库'aspnet-DevilsTowerMVC-20180327093314‘。CREATE数据库被中止。无法将文件'D:\VS2015\DevilsTowerMVC\App_Data\aspnet-DevilsTowerMVC-20180327093314.mdf‘附加为数据库'aspnet-DevilsTowerMVC-20180327093314’。

我的机器上安装了SQL Server 2012 (11.0.5388.0)。该项目是利用VS 2015创建的。我在上面看到了一个相似问题,但这并没有给出一个明确的答案。
我刚刚在VS 2015中创建了另一个ASP.NET MVC 5应用程序,登录非常有效(SQLServer12.00.2000说)。因此,我不明白我现有的项目是如何神秘地恢复到旧版本的?
根据我的研究,Server 2016的内部数据库版本号为852,Server 2014的内部数据库版本号为782。我安装的SQL Server 2012的内部DB版本号为706,所以我不知道为什么它在错误消息中提到'782‘。
(Q1)如果我不能降级,那么我唯一的选择可能是安装SQLServer2016Express?这是正确的,正确的步骤是什么?如果没有,是否有办法“重置”它--新创建的项目工作得很好?
(Q2)如何将此转换为在SSMS中使用常规的非基于文件的Server数据库?
我的web.config:
<connectionStrings>
<add name="DefaultConnection"
connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\aspnet-DevilsTowerMVC-20180327093314.mdf;Initial Catalog=aspnet-DevilsTowerMVC-20180327093314;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb"/>
</parameters>
</defaultConnectionFactory>
</entityFramework>更新1
我从SP1下载了Server 2016 这里速成版。我选择了Download /LocalDB选项。它似乎安装正确。但是,当我在Server中选择DefaultConnection并进行刷新时,我会得到与前面完全相同的错误。我尝试了连接字符串中的所有组合,例如:(LocalDb)、(LocalDb)\v11.0和(LocalDb)\MSSQLLocalDB。
当我查看C:\Windows\SysWOW64 64文件夹时,我看到仍然安装了SQLServerManager11.msc配置管理器。
更新2
我从.mdf文件夹中删除了App_Data文件,并尝试通过注册一个新用户重新创建它。创建了一个DefaultConnection.mdf文件,但是当我尝试在Server中添加它时,我得到了与以前相同的版本错误消息。有人能建议一种方法来赎回项目登录系统吗?
发布于 2018-07-10 04:05:18
通过Yair到这个问题的回答,我设法解决了这个问题。
我首先物理卸载了LocalDb的所有版本,除了与我的Server 2012版本相对应的v11.0版本之外,使用控制面板->程序和特性。
然后使用命令行,发出以下命令:
sqllocaldb删除"v11.0“ sqllocaldb创建"v11.0“
这解决了当我尝试注册一个新用户时,基于文件的LocalDb实例被删除而不是重新创建的问题。
此时,我可以在没有任何错误消息的情况下注册新用户。然而,我想离开LocalDB。
因此,我在SSMS中创建了一个空数据库,并将.mdf文件附加到它。我更新了连接字符串以使用实际的DB和Integrated (用于本地开发)。在运行该应用程序时,我得到了一些权限错误,但是通过创建一个新用户并给予它读和写访问权限,我能够弥补这个错误。
<add name="DefaultConnection"
connectionString="Initial Catalog=DevilsTower;Data Source=Development;Integrated Security=SSPI;"
providerName="System.Data.SqlClient" />发布于 2018-07-04 00:32:44
令人遗憾的是,你不能降级,你必须得到同样的版本。2)据我所知,您可以用.mdf文件恢复数据库,但从技术上讲,它们都应该是基于文件的。不过,如果您有mdf文件,则可以还原它,然后相应地更改连接字符串。
https://stackoverflow.com/questions/51164180
复制相似问题