tipo - La conexión SQLExpress falla en IIS 7 con error de instancia de usuario: "Error al generar una instancia de usuario
no se puede conectar a local sql server 2014 (1)
Está utilizando una cadena de conexión con autenticación confiable = verdadera. Esto significa que la conexión utiliza el contexto de seguridad del proceso de llamada.
Cuando se ejecuta con el servidor de desarrollo, se está ejecutando en el contexto de seguridad del usuario que inició sesión, por lo que todo funciona bien.
Cuando se ejecuta en IIS, se encuentra en el contexto de seguridad del proceso de grupo de aplicaciones, que es SERVICIO DE RED, que no tiene un perfil de usuario, por lo tanto, se bloquea.
Puedes solucionarlo por:
- Cambiar la identidad del grupo de aplicaciones a un usuario normal con acceso a la base de datos
- Use una cadena de conexión con nombre de usuario y contraseña
Principalmente buscando responder mi pregunta # 1 a continuación, pero se apreciaría más conocimiento.
Traté de utilizar estos recursos durante mi investigación, pero no tuvo éxito:
http://social.msdn.microsoft.com/Forums/en/sqldatabaseengine/thread/f5eb164d-9774-4864-ae05-cac99740949b ( Para este error: Error al generar una instancia de usuario de SQL Server debido a un error al recuperar el usuario ruta de datos de la aplicación local. Asegúrese de que el usuario tenga un perfil de usuario local en la computadora. La conexión se cerrará ) .
http://social.msdn.microsoft.com/forums/en-US/sqlexpress/thread/6dfdcc22-7a81-4e8f-a947-c1ce6982d4b3/ ( Para este error: permiso CREATE DATABASE denegado en el maestro de la base de datos. Un intento de adjuntar un la base de datos con nombre automático para el archivo? falló. Existe una base de datos con el mismo nombre, o el archivo especificado no se puede abrir, o está ubicado en el recurso compartido UNC ) .
Preguntas
1.) ¿Por qué ocurre este error al ejecutar Telerik Rad Controls para ASP.NET Proyecto AJAX "Live Demos" con IIS 7 (Ejecutar Telerik Live Demos funciona bien con ASP.NET Development Server con esta cadena de conexión)
Error al 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.
2.) ¿Cómo es diferente crear instancias de SQL Server Express en IIS 7, desde ASP.NET Development Server y SSMSE?
3.) ¿Hay ciertos atributos de una cadena de conexión SQL no permitidos cuando se ejecuta un sitio web en diferentes contextos (basado en el n. ° 2).
Ambiente:
No estoy ejecutando la aplicación web .NET 3.5 ASP.NET "Live Demos" a través del servidor de desarrollo ASP.NET (función que aparece en la bandeja del sistema y selecciona un puerto para usted después de hacer clic en Reproducir en Visual Studio). Eso funciona bien! Estoy ejecutando el sitio web en IIS 7. SQL Server Express está utilizando el usuario de SERVICIO DE RED en el Panel de control> Herramientas administrativas> Servicios> SQL Server (SQLExpress).
Usando esta cadena de conexión provista con el proyecto de demostración de la aplicación web "Live Demos" instalado:
<add name="NorthwindConnectionString"
connectionString="Data Source=./SQLEXPRESS;AttachDbFilename=|DataDirectory|Northwind.mdf;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient" />
Intenté configurar "Instancia de usuario = Falso", pero eso arroja otro error:
Permiso CREATE DATABASE denegado en el maestro de la base de datos. ¿Un intento de adjuntar una base de datos autodenominada para el archivo? ha fallado. Existe una base de datos con el mismo nombre, o el archivo especificado no puede abrirse, o está ubicado en el recurso compartido UNC.
(donde "?" es la ruta del archivo * .mdf - C: / Users // MyDocuments / Visual Studio 2008 / Projects / TelerikDemos / Telerik / RadControls para ASP.NET AJAX Q2 2011 / Demos en vivo / App_Data / Northwind.mdf .. La cursiva de Stack Overflow está rota con algunos de esos caracteres, así que tuve que eliminar esa ruta)
Alguien me respondió en una pregunta anterior para establecer esta "Instancia de usuario = Falso", pero parece que las instancias de usuario no tienen nada que ver con el uso o no de SQL Express. Las instancias de usuario son simplemente una característica de SQL Express que permite que un usuario sin privilegios aloje una instancia de base de datos en su propio contexto de usuario.
Tenga en cuenta que esta base de datos Northwind se almacena en un archivo * .mdf en la carpeta App_Data (en el directorio raíz de la aplicación "Live Demos") junto con el archivo * .ldf (archivo de registro). Anteriormente intenté adjuntar los archivos * .mdf como bases de datos reales en la carpeta "Bases de datos" (en el árbol Explorador de objetos SSMSE), pero luego los quité.
La carpeta raíz de la aplicación web "Live Demos" (y las carpetas / archivos anidados) tienen asignados TODOS los privilegios a TODOS los privilegios:
- IIS APPPOOL / Telerik ("Telerik" es el nombre de mi grupo de aplicaciones en IIS 7 para este sitio)
- IUSR
- SERVICIO DE RED
Tomar nota sobre esta consulta de la base de datos maestra SQLExpress:
SELECT * FROM sys.dm_os_child_instances
También probé diferentes combinaciones de permisos * .mdf y * .ldf mientras también cambiaba el usuario en el servicio SQL Server (SQLExpress) Windows 7 (Panel de control> Herramientas administrativas> Servicios) .. y también reinicié el servicio después de hacer esos cambios.
Reproducir:
Descargue Telerik Rad Controls para ASP.NET AJAX. Establezca las permimsiones que mencioné en la carpeta "Demos en vivo" en Archivos de programa / Telerik, cambie la versión .NET de la aplicación web a .NET 3.5, cambie su archivo 3.5.config 3.5 por el archivo web.config normal en esa carpeta . Tienes que usar Visual Studio 2010, pero estoy ejecutando esto en Visual Studio 2008 (con un poco de trabajo duro que hice porque nuestra empresa aún no está en VS2010). También cambie los ensamblajes Bin35 adecuados en la carpeta Bin de "Live Demos". Compila la solución. Crear un sitio web de IIS 7. Agregar autenticación de Windows. Habilitado la autenticación anónima y de Windows ... todos los demás están deshabilitados. Configure el grupo de aplicaciones para usar Classic y 32 bit.
Luego, navegue a esta URL y haga clic en la imagen "Primer vistazo".
http: //localhost/combobox/examples/overview/defaultcs.aspx
====================
Se proporcionará más evidencia si se solicita.