Pregunta

Estoy intentando conectarme a un MDF. Incluso he llegado al extremo de reinstalar el servidor SQL Express por completo (ahora es el único sabor de SQL instalado en mi caja, donde anteriormente tenía 05 dev y express). He verificado que todas las rutas son correctas, y hasta ahora mi google-fu no ha ayudado.

El mensaje de excepción completo es:

  

No se pudo generar una instancia de usuario de SQL Server debido a un error en   iniciando el proceso para la instancia de usuario. La conexión será   cerrado.

La cadena de conexión es:

<add name= "CustomerEntities"
     connectionString="metadata=res://*/Data.CustomerModel.csdl|res://*/Data.CustomerModel.ssdl|res://*/Data.CustomerModel.msl;
     provider=System.Data.SqlClient;
     provider connection string='Data Source=.\SQLEXPRESS;
     AttachDbFilename=\App_Data\CustomerDb.mdf;
     Integrated Security=True;
     User Instance=True'"
     providerName="System.Data.EntityClient" />

Información adicional:

Varias de las referencias a este error que he encontrado en línea no se aplican a mí. Por ejemplo, uno que he visto es donde se produce este error al intentar iniciar la instancia de usuario en un escritorio remoto (lo estoy haciendo localmente). Mientras que otro sugiere que tiene que ver con los archivos sobrantes de una antigua instalación rápida ... He buscado en las ubicaciones prescritas y no he encontrado esos artefactos. También intenté ejecutar sp_configure 'user instances enabled', '1', pero decía que ya estaba configurado en 1.

¿Fue útil?

Solución

ok, ¡funciona ahora! Supongo que fue un problema complejo ... los pasos que tomé para resolverlo son los siguientes:

  1. Cambió la siguiente propiedad en la cadena de conexión (observe la sutil diferencia): AttachDbFilename=|DataDirectory|CustomerDb.mdf;
  2. Eliminado el contenido del siguiente directorio: c:\Users\<user name>\AppData\Local\Microsoft\Microsoft SQL Server Data\SQLEXPRESS. Pensé que había buscado esto antes, pero en realidad había buscado en la carpeta Microsoft Sql Server. De nuevo, una sutil diferencia.

Una vez que hice estas dos cosas, la conexión comenzó a funcionar :-D

Otros consejos

Incluso a pesar de que las respuestas anteriores resolvieron el problema para muchas personas, todavía encuentro que no alcanzan la esencia del problema. Lo más cercano a esto es la respuesta de @sohaiby arriba. Pero se refiere erróneamente al uso de Management Studio.

El mensaje de error sobre este tema dice muy claramente que el problema está en generar una instancia de usuario. Qué instancia es y cómo se usa se describe aquí en cada detalle: https://msdn.microsoft.com/en- us / library / ms254504 (v = vs.110) .aspx

Personalmente, encontré este problema al cambiar la conexión DB del modo de autenticación de Windows a la autenticación de SQL Server. Lo resolví simplemente modificando una parte de la cadena de conexión a: & Quot; User Instance = false; & Quot; en lugar de & Quot; User Instance = true; " ;, que funcionó bien con la autenticación de Windows.

Después de cambiar a " Instancia de usuario = false; " mi conexión funcionó bien sin ninguna manipulación adicional. No puedo insistir en que funcionará o será adecuado en todos los escenarios. Sin embargo, definitivamente recomendaré probarlo antes de otros métodos drásticos descritos anteriormente, como borrar los directorios de trabajo del servidor SQL.

Experimenté el mismo error cuando moví el código de una máquina a otra. Estoy usando VS2010 y SQLEXPRESS 2008 viene junto con él.

Truco, eliminar todo el contenido del siguiente archivo " C: \ Users \ UserName \ AppData \ Local \ Microsoft \ Microsoft SQL Server Data \ SQLEXPRESS " funcionó para mí.

Además de las otras soluciones aquí, esta también puede ser útil. Asegúrese de que el grupo de aplicaciones se esté ejecutando como servicio de red y no como ApplicationPoolIdentity.

Esta solución se encontró aquí: http://blogs.msdn.com/b/webdevelopertips/archive/2010/05/06/tip-106-did-you-know- cómo-crear-la-aspnetdb-mdf-file.aspx

Como señalaron otros, eliminar el contenido del directorio: c: \ Users \\ AppData \ Local \ Microsoft \ Microsoft SQL Server Data \ SQLEXPRESS lo resolvió por mí. Una nota que puede ayudar a otros, en Windows 7, navegar por el directorio c: \ users \ username desde el navegador de documentos no muestra la carpeta AppData que me desconcertó por un tiempo (ya que pensé que no tenía el directorio AppData) hasta Descubrí que sí existe (pero no se muestra en el explorador de documentos en Windows 7), solo tiene que escribir el nombre completo de la ruta para acceder.

Empecé a recibir este error esta mañana en un entorno de implementación de prueba. Estaba usando SQL Server Express 2008 y el error que recibía era

" Error al generar una instancia de usuario de SQL Server debido a un error al iniciar el proceso para la instancia de usuario. La conexión se cerrará. & Quot;

Inseguro sobre qué lo causó, seguí las instrucciones en esta publicación y en otra publicación sobre eliminar " C: \ Users \ UserName \ AppData \ Local \ Microsoft \ Microsoft SQL Server Data \ SQLEXPRESS " directorio, pero fue en vano.

Lo que me sirvió fue cambiar la cadena de conexión de

" Fuente de datos =. \ SQLExpress; Catálogo inicial = DBFilePath; Seguridad integrada = SSPI; MultipleActiveResultSets = true "

a

" Fuente de datos =. \ SQLExpress; Catálogo inicial = DBName; Seguridad integrada = SSPI; MultipleActiveResultSets = true "

Fase este problema con mi archivo mdf en la aplicación de formulario de Windows y simplemente reinicio mi computadora y mi problema está resuelto.

Para solucionar esto, abra SQL Server Management Studio Express. En el editor de consultas, escriba este texto:

sp_configure 'user instances enabled', 1;
 RECONFIGURE

Ejecútalo. Luego reinicie la base de datos de SQL Server.

¿Ha intentado conectarse a la instancia de SQL Server utilizando SQL Management Studio?

Si esto tampoco le permite conectarse, podría deberse a que el servicio SQL no se inicia correctamente.

Verifique que el servicio se esté ejecutando verificando los servicios en el panel de control.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top