none
No se pudo generar una instancia de usuario de SQL Server debido a un error al iniciar el proceso para la instancia de usuario.

    Pregunta

  • Hola a tod@s,

    llevo por lo menos una semana desviviendome entre foros, blogs y consultas variadas para ver si encuentro la solucción a este problema.

    De todas las solucciones existentes en la web, hasta ahora ha funcionado solo una pero ya no me sirve y seguramente estaré metiendo la pata hasta el fondo con algo de lo que hago. Vamos allá:

    Participo en un curso de ASP.NET Framework 4 en clase tenemos instalado el VS2010, el SQL Server 2008 y el SQL Express 2005 o 2008 (no se esactamente cual es) sobre un Windows 7.

    Desarrollo diferentes proyectos de sitios web en clase (no aplicaciones web) y en estos días vamos por los WebParts y compañia. Todo funciona muy bien en clase y sin problemas.

    En mi oficina, donde tenemos un ordenador (Windows Vista) con el SQL EXPRESS 2008 con Advanced Services y el VS 2010, también funcionaba todo normalmente.

    Para tener todos los proyectos al día, he instalado en ambos equipos el Windows Live Mesh (una herramienta para sincronizar carpetas que es el equvalene a trabajar con el mismo proyecto en dos equipos diferentes y con usuarios diferentes).

    A partir de aquí, empiezan los problemas: el proyecto que funciona en la oficina, funciona también en clase, pero una vez que pasa por el ordenador de clase, ya no vuelve a funcionar en la oficina y el dichoso mensaje de error que aparece es el muy conocido: "No se pudo generar una instancia de usuario de SQL Server debido a un error al iniciar el proceso para la instancia de usuario. "

    Tampoco puedo crear nuevas bases de datos .MDF a causa del mismo error.

    Una de las connection String que usamos es: connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"

    Que es también la que viene por defecto en el machine.config.

    Ya he intentado lo siguiente:

    1. Poner en la connection string User Instance=False,
      Resultado: El error que sale es otro y bastante mas aparatoso:
      "Error al intentar adjuntar una base de datos nombrada automáticamente para el archivo C:\Users\[NOMBRE USUARIO]\Desktop\PRACTICAS\WebSite1\App_Data\aspnetdb.mdf. Ya existe una base de datos con el mismo nombre, no se puede abrir el archivo especificado o se encuentra en un recurso compartido UNC. "
      Pero es mentira que ya existe una base de datos en esta carpeta.
    2. exec sp_configure 'user instances enabled', 1.
      Resultado: igual que la solución de arriba.
    3. He eliminado la carpeta: c:\Users\<username>\AppData\Local\Microsoft\Microsoft Sql Server Data\SQLEXPRESS
      Resultado: La primera vez ha funcionado, pero ahora ya no sirve. Simplemente la vuelve a generar y como si no hubiera pasado nada.
    4. He puesto la carpeta del proyecto en c:/CARPETA y le he dado todos los permiso que pude
      Resultado: Nada.

    Ya no se que hacer porqué de haber otras soluciones no las he encontrado. Seguramente se trata de un problema de permisos o algo por el estilo.

    Lo único que quiero es poder trabajar en los dos ordenadores con las mismas ASPNET.MDF (una para cada proyecto que realizemos) ya que no hay otra al generarla el VS2010 por su cuenta. O de no poderse hacer, me gustaría saber como puedo decirle al VS que me cree las bases de datos que necesite (para los WebParts por ejemplo) en el servidor en lugar de la carpeta del proyecto (App_Data).

    En la oficina estamos pensando también poner SQL Server 2008 (de pago) y quitar el Express. Esto solucionaría el problema?

    Por cierto, se puede usar una misma ASPNET.MDF para diferentes proyectos (sitios web no aplicaciones web)?

    Espero haber sabido explicarme bien. Soy nuevo en esto.

    Muchas gracias por vuestra paciencia.

     

    lunes, 07 de febrero de 2011 21:56

Respuestas

  • Hola Salvot, a mi me sucedio muchas veces ese problema hasta que supe porque.

    Yo tenia sql server 2005 con visual 2008 y todo funcionaba perfecto, pero actualice a vs2010 y desinstale sql server 2005 y vs2008, segun yo creia que todo iba a funcionar perfecto, porque yo pensaba que mis aplicaciones funcionaban con el sql express que trae instalado vs2010 y no es cierto, debes de tener sql server 2008 de pago no express para que funcione. Ya que tienes una instancia sql en el web.config. 

     

    Cuando tengas instalado sql server y ejecutes tu aplicacion revisa que este activado tu servidor sql para que funcione tu proyecto.

    Cuando instales sql server ingresa tu propio nombre de instancia y ese nombre de instancia ingresalo en tu web.config, yo uso este Data Source=.\MISQLEXPRESS;en vez de SQLEXPRESS ya como tenia una version instalada me marca error porque por default me agregaba la SQLEXPRESS y tambien me marcaba error.

    Si puedes usar una sola base de datos para diferentes proyectos.

     

    Saludos cordiales

    Espero te sirva mi respuesta

    lunes, 07 de febrero de 2011 22:16

Todas las respuestas

  • Hola Salvot, a mi me sucedio muchas veces ese problema hasta que supe porque.

    Yo tenia sql server 2005 con visual 2008 y todo funcionaba perfecto, pero actualice a vs2010 y desinstale sql server 2005 y vs2008, segun yo creia que todo iba a funcionar perfecto, porque yo pensaba que mis aplicaciones funcionaban con el sql express que trae instalado vs2010 y no es cierto, debes de tener sql server 2008 de pago no express para que funcione. Ya que tienes una instancia sql en el web.config. 

     

    Cuando tengas instalado sql server y ejecutes tu aplicacion revisa que este activado tu servidor sql para que funcione tu proyecto.

    Cuando instales sql server ingresa tu propio nombre de instancia y ese nombre de instancia ingresalo en tu web.config, yo uso este Data Source=.\MISQLEXPRESS;en vez de SQLEXPRESS ya como tenia una version instalada me marca error porque por default me agregaba la SQLEXPRESS y tambien me marcaba error.

    Si puedes usar una sola base de datos para diferentes proyectos.

     

    Saludos cordiales

    Espero te sirva mi respuesta

    lunes, 07 de febrero de 2011 22:16
  • Muchas gracias por tu respuesta Rikrdo, podré probar esta solución SI los jefes se deciden en comprar el SQL Server. De momento tendré que buscarme la vida con el Express.

    El problema de todos modos quedaría sin solución. Porqué me funciona un día y otro no? Porqué la misma base de datos deja de funcionar si se abre en otro equipo dónde solamente cambia el usuario?

    A caso el SQL o el VS cuando abre una base de datos, la modifica? O es la base de datos la que al ser abierta modifica las demas configuraciones?

    No se... a ver si el problema va a ser el aspnetdb_log.ldf ya que al abrirlo con un editor exadecimal, veo que en su interior, la ruta a la base de datos es la del ordenador del curso (como es lógico usando el Mesh) y no la del pc del trabajo. Ah... por cierto... el pc del curso es un 64 bit y el del trabajo es un 32 bit.

    Saludos.

    martes, 08 de febrero de 2011 0:14