Указанный экземпляр LocalDb не существует

Я использую localDB под названием "Проекты" некоторое время. Это та же самая база данных, которая создается по проекту ASP.NET MVC 5 по умолчанию. Однако внезапно он остановился, и я не могу подключиться к нему и не перезапускать его с помощью

SqlLocalDb start Projects

Я получаю

The specified LocalDB instance does not exist.

Я вижу папку в

C:\Users\[My UserName]\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\Projects

также, у меня есть v11.0 в

C:\Users\[My UserName]\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\v11.0

Я могу подключиться к v11.

Что еще я могу попытаться подключиться к нему?

Строка подключения

 <add name="DefaultConnection"  connectionString="Data Source=(localdb)\Projects;Initial Catalog=master;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False" providerName="System.Data.SqlClient" />

Edit

Я попытался привязать файл Db к строке подключения

AttachDbFileName=C:\Users\[My UserName]\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\Projects\master.mdf;

Однако я все еще не могу подключиться

A network-related or instance-specific error occurred while establishing a connection to SQL
Server. The server was not found or was not accessible. Verify that the instance name is correct
and that SQL Server is configured to allow remote connections. (provider: SQL Network
Interfaces, error: 50 - Local Database Runtime error occurred. The specified LocalDB instance
does not exist.)

Ответ 1

Кажется, что экземпляр (localdb)\Projects удален. Вы можете использовать (localdb)\v11.0 или повторно создать экземпляр Projects с помощью утилиты SqlLocalDB

sqllocaldb c Projects 11.0

Объяснение командной строки

  • c - для "create"
  • "Проекты - это имя экземпляра
  • 11.0 - это версия

Ответ 2

Интересно, что я просто испытал ту же проблему после использования (LocalDb)\Projects просто отлично в течение нескольких месяцев.

Мне известно последнее, что я делал на своей машине, прежде чем он прекратил работать, - это установить обновленную версию пользовательского интерфейса Telerik Kendo MVC (что также происходит для установки KENDO.MVC.EXAMPLES\APP_DATA\SAMPLE.MDF в LocalDb v11.0), и я буду делать ставки, и останавливает локальную db v11.0, которая как-то закручивает экземпляр Projects, и точно так же, как вы ничего не перезапускаете.

Однако, если вы скопируете все ваши файлы .mdf и .ldf во временную папку FIRST, и ТОГДА следуйте советам г-на Фишфа, чтобы снова создать экземпляр "Проекты", и THEN скопируйте ваши файлы поверх файлов, созданных в проектах, они вернут ваши проекты db в исходное состояние.

Просто сделал это секунду назад, и это сработало.

Ответ 3

В моем случае экземпляр Projects уже был там, фактически после вызова этого в командной строке:

sqllocaldb i

Появится список всех экземпляров, мои были:

  • MSSQLLocalDB
  • Проекты
  • ProjectsV12
  • v11.0

Строка подключения в моем Web.Config по умолчанию имела Data Source=(LocalDb)\v11.0, поэтому я предположил, что экземпляр должен быть v11.0, а не Projects. Выполняя sqllocaldb i v11.0:

Название: v11.0

Версия: 11.0.3000.0

...

Автосоздание: Да

Состояние: остановлено

...

И, запустив экземпляр с sqllocaldb s v11.0, состояние было изменено на Running, но даже когда все эти экземпляры все запущены, исключение все еще бросалось.

Я понял позже, что имя экземпляра должно быть тем, которое появляется при вызове Update-Database -Verbose в Консоль диспетчера пакетов, в моем случае это показало до:

Целевая база данных: "Videos.Models.VideoDb" (DataSource: (localdb) ** v12.0 **, поставщик: System.Data.SqlClient, Origin: Convention).

Поэтому мне просто нужно создать экземпляр v12.0 с sqllocaldb c v12.0 12.0 и настроить для этого имени Web.Config. После этого обновление было успешным.

Ответ 4

вы можете изменить параметр attribute → на "v11.0" вместо v12.0 в тегах entityFramework в файле web.config или App.config он работает хорошо