martes, 23 de noviembre de 2010

Al publicar un WCF en el IIS 7 no se conecta a la Base De Datos SQL 2008

Desarrollando un Servicio que se conecta a una base de datos para una aplicacion WEB, en ambiente de desarrollo el servicio funcionaba correctamente (Se conecta a la Base de datos y devuelve la información solicitada), pero al momento de publicarla al IIS (version 7) el servicio no se conecta a la Base de Datos.
Despues de mucho busca, aqui les dejo el problema y la solucion:
EL PROBLEMA ES:
El usuario por defecto que utiliza el IIS para conectarse a la BD es "ApplicationPoolIdentity", el mismo lo puedes constatar si revisas el visor de  Windows -> Registro de Windows -> Aplicacion.

LA SOLUCION ES:
Deberas cambiar el usuario para el Grupo de aplicacion al que pertenece tu aplicacion en el IIS. Esto lo logras de la siguiente forma:
1) Abres el Administrador IIS
2) Despliegas los sitios y ubicas la aplicacion montada.
3) Seleccionas tu aplicacion y en la ventana "Acciones", das click a la Opcion "Configuracion Avanzada".
4) Se mostrara una ventana y Revisas la opcion "Grupo de Aplicaciones", por lo general deberias tener como valor "DefaultAppPool".
Ese es nuestro Grupo de aplicacion al que hay que cambiarle el usuario.
5) Ahora volvemos al arbol de opciones del IIS. Damos click en "Grupos de Aplicaciones" y seleccionamos el grupo ubicado en mi caso "DefaultAppPool".
6) Una vez seleccionada, vamos a la ventana de "Acciones" del mismo IIS, y damos click en "Configuracion Avanzada".
7) Ubicas en el Grupo "Modelo de Proceso"  la Opcion "Identidad", se te mostrara una ventana "Identidad del grupo de aplicaciones"
8) En el combo "Cuenta Integrada" Selecciona el usuario "LocalSystem"
9) Listo.. Con esto deberia funcionar, de todas formas, si no se conecta verifica en tu servidor SQL que el usuario este registrado y tengas los respectivos permisos.

Muchas gracias por su atencion
Cualquier duda estoy a la Orden..