c# - studio - Interfaces de red SQL, error: 50-Se produjo un error de tiempo de ejecución de la base de datos local. No se puede crear una instancia automática
proyecto asp.net con sql server (11)
Ejecutando esto:
sqllocaldb create "v12.0"
Desde cmd prompt resolvió esto para mí ...
Estoy tratando de crear una aplicación web ASP.NET MVC 5 que tenga un archivo
App_Data
en la carpeta
App_Data
.
Tengo SQL Server 2014 Express instalado con una instancia de
LocalDb
.
Puedo editar las tablas de la base de datos utilizando el Explorador de servidores, sin embargo, cuando depuro la aplicación y voy a una página donde se necesita la base de datos, aparece el siguiente error.
Se produjo un error relacionado con la red o específico de la instancia al establecer una conexión con SQL Server. El servidor no se encontró o no estaba accesible. Verifique que el nombre de la instancia sea correcto y que SQL Server esté configurado para permitir conexiones remotas. (proveedor: Interfaces de red SQL, error: 50 - Se produjo un error de tiempo de ejecución de la base de datos local. No se puede crear una instancia automática. Consulte el registro de eventos de la aplicación de Windows para obtener detalles del error.
Así que busqué en el Visor de eventos en
Application
y solo veo una Advertencia una y otra vez.
El directorio especificado para almacenar en caché el contenido comprimido C: / Users / User1 / AppData / Local / Temp / iisexpress / IIS Temporary Compressed Files / Clr4IntegratedAppPool no es válido. La compresión estática está siendo deshabilitada.
Así que intenté reiniciar el servidor, todavía no puedo. El mismo error 50 que antes.
He creado una clase en
Models
donde tengo una clase llamada
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; }
}
}
También tengo una configuración de
Controller
para enumerar las publicaciones de
MyDatabase
.
namespace MyApplication.Controllers
{
public class PostsController : Controller
{
private MyDatabase db = new MyDatabase();
// GET: Posts
public ActionResult Index()
{
return View(db.Posts.ToList());
}
}
En mi archivo
web.config
, la cadena de conexión se ve así ...
<connectionStrings>
<add name="DefaultConnection"
connectionString="Data Source=(LocalDB)/v12.0;AttachDbFilename=|DataDirectory|/MyDatabase.mdf;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
He intentado la sugerencia publicada here pero no funcionó. También probé this .
También noto que la instancia de MyDatabase se desconecta después de comenzar a ejecutar la aplicación. Si actualizo la base de datos con Server Explorer en Visual Studio, puedo ver las tablas.
¿Cómo es que puedo conectarme a la base de datos y editarla dentro de Visual Studio 2013 pero cuando depuro la aplicación no se puede conectar a la base de datos?
En mi caso, teníamos varios proyectos en una solución y habíamos seleccionado un proyecto de inicio diferente que en la consola del administrador de paquetes al ejecutar el comando "Actualizar base de datos" con Code-First Migrations. Asegúrese de seleccionar el proyecto de inicio adecuado.
He resuelto el problema anterior Aplicando los pasos a continuación
Y después de realizar estos cambios, realice los siguientes cambios en su web.config
<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" />
La solución final para este problema está a continuación:
-
Primero realice los cambios en el archivo de configuración applicationHost. reemplazar debajo de la cadena setProfileEnvironment = "false" TO setProfileEnvironment = "true"
-
En la cadena de conexión de la base de datos, agregue el siguiente atributo: Seguridad integrada = SSPI
Para comenzar, hay 4 problemas que podrían estar causando los
errores
comunes de
conectividad del servidor LocalDb SqlExpress Sql
SQL Network Interfaces, error: 50 - Local Database Runtime error occurred
, antes de comenzar,
debe cambiar el nombre de v11 o v12 a (localdb) / mssqllocaldb
- No tienes los servicios ejecutándose
- No tiene configurados los puertos de firewall here
- Su instalación tiene un problema / está dañado (los pasos a continuación ayudan a darle un comienzo limpio y agradable)
-
No
cambió el nombre del V11 o 12 a mssqllocaldb,
cambie el nombre de la cadena de
v12.0
dev12.0
aMSSQLLocalDB
-comoMSSQLLocalDB
><connectionStrings> <add name="ProductsContext" connectionString="Data Source=(localdb)/mssqllocaldb; ...
Descubrí que lo más simple es hacer lo siguiente: he adjuntado las fotos y los pasos para obtener ayuda.
Primero verifique qué instancia ha instalado, puede hacerlo verificando el registro y ejecutando cmd
-
cmd> Sqllocaldb.exe i
-
cmd> Sqllocaldb.exe s "whicheverVersionYouWantFromListBefore"
si este paso falla, puede eliminar con la opciónd
cmd> Sqllocaldb.exe d "someDb" -
cmd> Sqllocaldb.exe c "createSomeNewDbIfyouWantDb"
-
cmd> Sqllocaldb.exe start "createSomeNewDbIfyouWantDb"
Edición 1: Ruta del registro para todas las versiones Formato genérico para rastrear el registro
// 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
Por lo general, soluciono este error después de esta publicación de blog msdn Uso de LocalDB con Full IIS
Esto requiere editar el archivo applicationHost.config que generalmente se encuentra en C: / Windows / System32 / inetsrv / config. Siguiendo las instrucciones de KB 2547655, debemos habilitar ambos indicadores para Application Pool ASP.NET v4.0, de esta manera:
<add name="ASP.NET v4.0" autoStart="true" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated">
<processModel identityType="ApplicationPoolIdentity" loadUserProfile="true" setProfileEnvironment="true" />
</add>
Todos TENGA EN CUENTA lo que dijo Tyler
Tenga en cuenta que si desea editar este archivo, asegúrese de utilizar un editor de texto de 64 bits como el bloc de notas. Si usa uno de 32 bits como Notepad ++, editará automáticamente una copia diferente del archivo en SysWOW64. Horas de mi vida no volveré
Tuve el mismo problema.
Mi solución estaba cambiando
<parameter value="v12.0" />
a
<parameter value="mssqllocaldb" />
en el archivo "app.config".
Una instancia puede estar dañada o no actualizada correctamente
Pruebe estos comandos =>
C:/>sqllocaldb stop MSSQLLocalDB<br>
LocalDB instance "MSSQLLocalDB" stopped.
C:/>sqllocaldb delete MSSQLLocalDB<br>
LocalDB instance "MSSQLLocalDB" deleted.
C:/>sqllocaldb create MSSQLLocalDB<br>
LocalDB instance "MSSQLLocalDB" created with version 13.0.1601.5.
C:/>sqllocaldb start MSSQLLocalDB<br>
LocalDB instance "MSSQLLocalDB" started.
tal vez este error se produjo porque esta
version
de SQL Server
is not installed
connectionString="Data Source=(LocalDB)/v12.0;....
y no tienes que instalarlo
la solución más rápida es cambiarlo a cualquier versión instalada que tenga
en mi caso lo cambio de
v12.0
a
MSSQLLocalDB
Cambios de última hora en LocalDB: se aplica a SQL 2014
;
Eche un vistazo a este artículo e intente usar
(localdb)/mssqllocaldb
como nombre del servidor para conectarse a la instancia automática de LocalDB, por ejemplo:
<connectionStrings>
<add name="ProductsContext" connectionString="Data Source=(localdb)/mssqllocaldb;
...
El artículo también menciona el uso de SSMS 2012 para conectarse a LocalDB 2014. Lo que me lleva a creer que podría tener varias versiones de SQL instaladas, lo que me lleva a señalar esta respuesta SO que sugiere cambiar el nombre predeterminado de su "instancia" de LocalDB para evitar otros problemas de desajuste de versiones que puedan surgir en el futuro; No se menciona como fuente de problema, sino para crear conciencia sobre posibles conflictos que varias versiones de SQL instaladas en una sola máquina de desarrollo podrían provocar ... y algo a lo que acostumbrarse para evitar algunos.
Otra cosa que vale la pena mencionar: si ha dejado su instancia en un estado inutilizable debido a modificaciones para tratar de solucionar este problema, entonces puede valer la pena comenzar de nuevo: desinstalar, reinstalar, luego intente usar el valor
mssqllocaldb
lugar de
v12.0
y vea si eso corrige su problema.