Сетевые интерфейсы SQL, ошибка: 50-произошла ошибка выполнения локальной базы данных. Не удается создать автоматический экземпляр


я пытаюсь построить ASP.NET MVC 5 веб-приложение, которое имеет на . У меня установлен SQL Server 2014 Express с LocalDb экземпляра. Я могу редактировать таблицы базы данных с помощью обозревателя серверов, однако при отладке приложения и переходе на страницу, где требуется база данных, я получаю следующую ошибку.

при установлении соединения с SQL Server произошла ошибка, связанная с сетью или экземпляром. Сервер не был найден или не был доступен. Убедитесь, что имя экземпляра правильное и что SQL Server настроен для разрешения удаленных подключений. (поставщик: сетевые интерфейсы SQL, ошибка: 50-произошла ошибка выполнения локальной базы данных. Не удается создать автоматический экземпляр. Сведения об ошибке см. в журнале событий приложений Windows.

поэтому я посмотрел в окне просмотра событий под Application и только увидеть одно предупреждение снова и снова.

каталог для кэширования сжатого содержимого C:UsersUser1AppDataLocalTempiisexpressIIS временные сжатые файлыClr4IntegratedAppPool недопустим. Статическое сжатие-это функция отключена.

поэтому я попытался перезагрузить сервер, но все равно не пошел. Та же ошибка 50, что и раньше.

я создал класс под Models где у меня есть класс с именем Post.

namespace MyApplication.Models
{
    public class Post
    {
        public int Id { get; set; }
        public string Title { get; set; }
        public string Content { get; set; }
    }

    public class MyDatabase : DbContext
    {
        public DbSet<Post> Posts { get; set; }
    }
}

у меня тоже Controller настройки в список сообщений из MyDatabase.

namespace MyApplication.Controllers
{
    public class PostsController : Controller
    {
        private MyDatabase db = new MyDatabase();

        // GET: Posts
        public ActionResult Index()
        {
            return View(db.Posts.ToList());
        }
    }

In мой строка подключения выглядит следующим образом...

<connectionStrings>
    <add name="DefaultConnection" 
         connectionString="Data Source=(LocalDB)v12.0;AttachDbFilename=|DataDirectory|MyDatabase.mdf;Integrated Security=True" 
         providerName="System.Data.SqlClient" />
</connectionStrings>

я пробовал предложение опубликовано здесь но это не сработало. Тоже пробовал этой.

я также замечаю, что экземпляр MyDatabase отключается после запуска приложения. Если я обновляю базу данных с помощью обозревателя серверов в Visual Studio, я могу просматривать таблицы.

как я могу подключиться к базе данных и редактировать ее в Visual Studio 2013 но когда я отлаживаю приложение, оно не может подключиться к базе данных?

11 65

11 ответов:

критические изменения в LocalDB: применяется к SQL 2014; взгляните на эту статью и попробуйте использовать (localdb)\mssqllocaldb как имя сервера для подключения к автоматическому экземпляру LocalDB, например:

<connectionStrings>
  <add name="ProductsContext" connectionString="Data Source=(localdb)\mssqllocaldb; 
  ...

в статье также упоминается использование SSMS 2012 для подключения к LocalDB 2014. Что приводит меня к мысли, что у вас может быть установлено несколько версий SQL - что приводит меня к указанию это так ответ это предполагает изменение имени по умолчанию ваш "экземпляр" LocalDB, чтобы избежать других проблем несоответствия версий, которые могут возникнуть в будущем; упоминается не как источник проблемы, а для повышения осведомленности о потенциальных столкновениях, к которым может привести несколько версий SQL, установленных на одной машине dev ... и что-то, чтобы войти в привычку, чтобы избежать некоторых.

еще одна вещь, о которой стоит упомянуть - если вы получили свой экземпляр в непригодном состоянии из-за возиться с ним, чтобы попытаться решить эту проблему, то это может стоить начало работы-удаление, переустановка - затем попробуйте использовать mssqllocaldb вместо v12.0 и посмотреть, если это исправляет проблему.

запуск этого:

sqllocaldb создать "v12. 0"

из командной строки решил это для меня...

обычно я исправляю эту ошибку после этого сообщения в блоге msdn использование LocalDB с полным IIS

для этого требуется редактирование файла applicationhost.конфигурационный файл, который обычно находится в C:\Windows\System32\inetsrv\config. Следуя инструкциям из KB 2547655, мы должны включить оба флага для пула приложений ASP.NET v4. 0, Вот так:

<add name="ASP.NET v4.0" autoStart="true" managedRuntimeVersion="v4.0"     managedPipelineMode="Integrated">
    <processModel identityType="ApplicationPoolIdentity" loadUserProfile="true" setProfileEnvironment="true" />
</add>

Для начала - есть 4 проблемы, которые могут быть причиной common LocalDb SqlExpress SQL Server ошибки подключенияSQL Network Interfaces, error: 50 - Local Database Runtime error occurred, прежде чем вы начнете вы нужно переименовать v11 или v12 в (localdb)\mssqllocaldb

я обнаружил, что проще всего сделать ниже - я приложил фотографии и шаги для помощи.

сначала проверьте, какой экземпляр вы установили, вы можете сделать это с помощью проверка реестризапустив cmd

  1. cmd> Sqllocaldb.exe i
  2. cmd> Sqllocaldb.exe s "whicheverVersionYouWantFromListBefore" если этот шаг не удается, вы можете удалить с помощью опции d cmd> Sqllocaldb.ехе-д "базаданных"
  3. cmd> Sqllocaldb.exe c "createSomeNewDbIfyouWantDb"
  4. cmd> Sqllocaldb.exe start "createSomeNewDbIfyouWantDb"

SqlLOCALDb_edited.png

изменить 1: путь к реестру для всех версий Общий формат для отслеживания реестра

// SQL SERVER RECENT VERSIONS
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\(instance-name)

// OLD SQL SERVER
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLServer
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer
// SQL SERVER 6.0 and above.

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSDTC
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SQLExecutive
// SQL SERVER 7.0 and above

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SQLServerAgent
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server 7
HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServ65

может быть, эта ошибка произошла потому, что это version Sql Server is not installed

connectionString="Data Source=(LocalDB)\v12.0;....

и вы не должны установить его

the самое быстрое исправление изменить на любую установленную версию у вас есть

в моем случае я меняю его из v12.0 до MSSQLLocalDB

экземпляра может быть поврежден или не обновлен должным образом
Попробуйте эти команды =>

C:>sqllocaldb остановить MSSQLLocalDB
Экземпляр LocalDB "MSSQLLocalDB" остановлен.

C:>sqllocaldb удалить MSSQLLocalDB
Экземпляр LocalDB" MSSQLLocalDB " удален.

C:>sqllocaldb создать MSSQLLocalDB
Экземпляр LocalDB "MSSQLLocalDB" создан с версией 13.0.1601.5.

C:>sqllocaldb запуск MSSQLLocalDB
Экземпляр LocalDB "MSSQLLocalDB" начал.

окончательное решение этой проблемы ниже :

  1. сначала внесите изменения в конфигурационный файл applicationHost. замените ниже строку setProfileEnvironment= "false"на setProfileEnvironment="true"

  2. в строке подключения к базе данных добавьте атрибут ниже: Integrated Security = SSPI

я столкнулся с такой же проблемой. Мое решение меняется <parameter value="v12.0" /> к <parameter value="mssqllocaldb" /> в "приложение.конфигурационный файл.

все обратите внимание, что сказал Тайлер

обратите внимание, что если вы хотите отредактировать этот файл, убедитесь, что вы используете 64-битный текстовый редактор, например блокнот. Если вы используете 32-битный, например Notepad++, он автоматически редактирует другую копию файла в SysWOW64. Часы моей жизни я не вернусь

в моем случае у нас было несколько проектов в одном решении и мы выбрали другой проект запуска, чем в консоли диспетчера пакетов при запуске команды "Update-Database" с первыми миграциями кода. Убедитесь, что выбран правильный проект запуска.

Я решаю вышеуказанную проблему, применяя следующие шаги

enter image description here

и после того, как вы внесли изменения thses, выполните следующие изменения в вашем интернете.конфигурации

 <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v12.0;AttachDbFilename=|DataDirectory|\aspnet-Real-Time-Commenting-20170927122714.mdf;Initial Catalog=aspnet-Real-Time-Commenting-20170927122714;Integrated Security=true" providerName="System.Data.SqlClient" />