Estoy usando Windows 7 Beta e intento instalar una aplicación web localmente. Este sitio web utiliza Microsoft SQL Server 2005 Express (SQLEXPRESS) y un archivo MDB en la carpeta ~ / App_Data del sitio web. Se me indicó que configurara IIS7 para usar Classic .NET AppPool para esta aplicación web.
Cada vez que se carga el sitio web, recibo el siguiente error:
Se produjo un error al intentar conectarse al servidor de la base de datos: no se pudo generar una instancia de usuario de SQL Server debido a un error al recuperar la ruta de datos de la aplicación local del usuario. Asegúrese de que el usuario tenga un perfil de usuario local en la computadora. La conexión será cerrada.
Internet está repleto de artículos escritos sobre este tema. La sabiduría predominante parece ser:
- Configure el servicio SQL Express para usar la cuenta del sistema local .
- Elimine el siguiente directorio: C: \ Users \ username \ AppData \ Microsoft \ Microsoft SQL Server Data \ SQLEXPRESS
Ninguna de estas soluciones ha tenido ningún impacto. He jugado con permisos y configuraciones durante horas en vano. ¿Alguien puede sugerir una solución o ayudarme a comprender cómo obtener información más detallada sobre el problema?
Respuestas:
En IIS en Windows 7, seleccione el grupo de aplicaciones y luego "configuración avanzada". En "modelo de proceso", busque "Cargar perfil de usuario" y configúrelo como verdadero.
SQL debería cargar ahora bajo la cuenta predeterminada del grupo de aplicaciones.
fuente
He tenido los mismos problemas en mi estación de trabajo pero nunca en un servidor.
Esta es una solución temporal que encontré hace un tiempo en la web y parece funcionar:
En el editor de consultas, escriba: exec sp_configure 'instancias de usuario habilitadas', 1 y luego: Reconfigure
Luego reinicie la base de datos de SQL Server.
encontré este enlace hoy
y después de una búsqueda rápida en StackOverflow /programming/281500/error-failed-to-generate-a-user-instance-of-sql-server
fuente
Brian
Para que todo esto tenga sentido, primero eche un vistazo a la lista de Procesos para todos los usuarios en el Administrador de tareas.
w3wp.exe es el nuevo proceso de trabajo WWW. Se ejecuta en un entorno limitado de seguridad utilizando los permisos de un usuario llamado DefaultAppPool.
En los viejos tiempos, en lugar del usuario DefaultAppPool, habrían sido usuarios de IUSR e IWAM (consulte ¿Qué son las cuentas IUSR e IWAM en IIS? ).
Cuando utiliza un proveedor de membresía SQL, el proceso w3wp.exe iniciará una instancia de usuario de SQL Server y se adjuntará a la base de datos especificada en la cadena de conexión, comúnmente App_Data / ASPNETdb.mdf. La ejecución de una instancia de usuario de SQL Server requiere un perfil local, de modo que los archivos temporales tengan un lugar adonde ir.
Pasos de solución de problemas:
, reconfigurar
fuente