Сетевые интерфейсы 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 ответов:
критические изменения в 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
и посмотреть, если это исправляет проблему.
обычно я исправляю эту ошибку после этого сообщения в блоге 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
- у тебя нет запущенные службы
- у тебя нет порты брандмауэраздесь настроено
- ваш установить имеет и проблема / поврежден (шаги ниже помогают дать вам хороший чистый старт)
- вы не переименуйте V11 или 12 в mssqllocaldb переименовать строку conn из
v12.0
доMSSQLLocalDB
-как так-><connectionStrings> <add name="ProductsContext" connectionString="Data Source=(localdb)\mssqllocaldb; ...
я обнаружил, что проще всего сделать ниже - я приложил фотографии и шаги для помощи.
сначала проверьте, какой экземпляр вы установили, вы можете сделать это с помощью проверка реестризапустив cmd
cmd> Sqllocaldb.exe i
cmd> Sqllocaldb.exe s "whicheverVersionYouWantFromListBefore"
если этот шаг не удается, вы можете удалить с помощью опцииd
cmd> Sqllocaldb.ехе-д "базаданных"cmd> Sqllocaldb.exe c "createSomeNewDbIfyouWantDb"
cmd> Sqllocaldb.exe start "createSomeNewDbIfyouWantDb"
изменить 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 Serveris 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" начал.
окончательное решение этой проблемы ниже :
сначала внесите изменения в конфигурационный файл applicationHost. замените ниже строку setProfileEnvironment= "false"на setProfileEnvironment="true"
в строке подключения к базе данных добавьте атрибут ниже: Integrated Security = SSPI
я столкнулся с такой же проблемой. Мое решение меняется
<parameter value="v12.0" />
к<parameter value="mssqllocaldb" />
в "приложение.конфигурационный файл.
все обратите внимание, что сказал Тайлер
обратите внимание, что если вы хотите отредактировать этот файл, убедитесь, что вы используете 64-битный текстовый редактор, например блокнот. Если вы используете 32-битный, например Notepad++, он автоматически редактирует другую копию файла в SysWOW64. Часы моей жизни я не вернусь
в моем случае у нас было несколько проектов в одном решении и мы выбрали другой проект запуска, чем в консоли диспетчера пакетов при запуске команды "Update-Database" с первыми миграциями кода. Убедитесь, что выбран правильный проект запуска.
Я решаю вышеуказанную проблему, применяя следующие шаги
и после того, как вы внесли изменения 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" />