Вопрос из двух частей.
Я создал приложение ASP.NET MVC 5 с использованием VS 2015 Update 3. Я довольно хорошо справляюсь с проектом на моей локальной машине. Неожиданно я больше не могу подключиться через обозреватель объектов SQL Server к файлу базы данных .mdf
и получить следующую ошибку:
Невозможно открыть базу данных «aspnet-DevilsTowerMVC-20180327093314», так как это версия 852. Этот сервер поддерживает версию 782 и более ранние. Путь понижения не поддерживается. Не удалось открыть новую базу данных «aspnet-DevilsTowerMVC-20180327093314». СОЗДАНИЕ БАЗЫ ДАННЫХ прервано. Невозможно прикрепить файл 'D: \ VS2015 \ DevilsTowerMVC \ App_Data \ aspnet-DevilsTowerMVC-20180327093314.mdf в качестве базы данных' aspnet-DevilsTowerMVC-20180327093314 '.
У меня на компьютере установлен SQL Server 2012 (11.0.5388.0). Проект был создан с использованием VS 2015. Я видел аналогичный вопрос о SO, но он не дал однозначного ответа.
Я только что создал другое приложение ASP.NET MVC 5 в VS 2015, и вход в систему работал отлично (говорит SQL Server 12.00.2000). Так я не понимаю, как мой существующий проект загадочным образом вернулся к более старой версии?
Из моего исследования SQL Server 2016 имеет внутренний номер версии базы данных 852, а SQL Server 2014 и внутренний номер версии базы данных 782. Моя установка SQL Server 2012 имеет внутренний номер версии базы данных 706, поэтому я не знаю, почему в сообщении об ошибке упоминается «782».
(Q1) Если я не могу понизить версию, то мой единственный вариант - установить SQL Server 2016 Express? Это правильно и какие шаги, чтобы сделать это правильно? Если нет, есть ли способ «сбросить» его - только что созданный проект работает нормально?
(Q2) Как мне преобразовать это, чтобы использовать обычную не файловую базу данных SQL Server в SSMS?
Мой 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
Я скачал SQL Server 2016 SP1 Express Edition с здесь . Я выбрал опцию Download Media / LocalDB. Оказалось, правильно установить. Однако, когда я выбираю DefaultConnection в Server Explorter и нажимаю обновить, я получаю точно такую же ошибку, как и раньше. Я перепробовал все комбинации в строке подключения, такие как: (LocalDb)
, (LocalDb)\v11.0
и (LocalDb)\MSSQLLocalDB
.
Когда я смотрю в папку C: \ Windows \ SysWOW64, я вижу, что менеджер конфигурации SQLServerManager11.msc все еще установлен.
ОБНОВЛЕНИЕ 2
Я удалил файл .mdf из папки App_Data и попытался воссоздать его, зарегистрировав нового пользователя. Файл DefaultConnection.mdf был создан, но когда я попытался добавить его в обозревателе сервера, я получил то же сообщение об ошибке версии, что и раньше. Кто-нибудь может предложить способ выкупить систему входа в систему проекта?