GuilleSQL :: Microsoft SQL Server, SSIS, y más !!

Sincronización perfiles entre MOSS y WSS3


Un problema que podemos encontrarnos al trabajar con MOSS 2007, es el relativo de la sincronización de perfiles de usuario entre MOSS 2007 (en particular, desde los Servicio Compartidos) y las Bases de Datos de Contenido WSS. El motivo de este problema, y la principal causa de confusión, es que en MOSS 2007 se almacena la información de los perfiles de usuario en varias ubicaciones. En este artículo, aprovechamos para describir el comportamiento general de los perfiles de usuario en MOSS y algunos de los problemas de sincronización de perfiles de usuario entre Bases de Datos.

Descripción del Escenario

Vamos a empezar con WSS3. Si bien, en MOSS 2007 no existen los Servicios Compartidos como existen en MOSS, al igual que ocurre en MOSS 2007, con WSS3 podremos crear una o varias Aplicaciones Web, de tal modo que cada una de las Aplicaciones Web tendrá una o varias Bases de Datos de Contenido, sobre las cuales se almacenan las Colecciones de Sitios. Sin profundizar más en estos conceptos (Aplicaciones Web, Bases de Datos de Contenido y Colecciones de Sitios), lo importante en este momento es tener claro que en cada una de las Bases de Datos de Contenido se almacena información de perfiles del usuario.

Este es el primer punto a tener en cuenta, y es muy importante.

Ahora vamos a hablar de MOSS 2007. No podemos olvidar, que MOSS 2007 extiende a WSS3, es decir, partiendo de una infraestructura WSS3, MOSS 2007 incorpora características y funcionalidades adicionales.

En consecuencia, lo primero que tenemos que tener claro, es que MOSS 2007 utilizará Bases de Datos de Contenido WSS3, y en consecuencia, en las Bases de Datos de Contenido de MOSS se almacenará información de perfiles de usuario.

Pero claro, con MOSS 2007, podemos configurar lo Servicios Compartidos, para que importen la información de los perfiles de usuario desde Directorio Activo. Bueno, esto es lo normal, pero también es posible importar perfiles desde LDAP o BDC (Business Data Catalog). En este caso, al importar la información de perfiles de usuarios en los Servicios Compartidos desde un origen de datos externo (Directorio Activo, LDAP o BDC), la información de perfiles importada se almacenará en las Bases de Datos de los Servicios Compartidos. Habitualmente, suele configurarse una importación de perfiles completa semanal, e incremental diaria.

Este segundo punto es muy importante, ya que acabamos de encontrar, que tenemos dos ubicaciones en las que se almacena la información de perfiles de usuario en MOSS:

  • En las Bases de Datos de Contenido.
  • En las Bases de Datos de los Servicios Compartidos, al realizar la importación de perfiles.

Para verlo de forma gráfica, si entramos en una Colección de Sitios de MOSS 2007, podremos:

  • Utilizar la opción de My Settings, para ver la información del perfil almacenada en la Base de Datos de Contenido.
  • Utilizar la opción de buscar personas, y al mostrar una de las personas incluidas en el resultado de búsqueda, se mostrará la información del perfil almacenada en los Servicios Compartidos.

Ahora que tenemos claro que existen dos ubicaciones físicas diferentes en las que se almacena la información de perfiles de usuario de MOSS, surge la duda: <¿Cómo se sincroniza la información de perfiles de usuario entre los Servicios Compartidos y las Bases de Datos de Contenido?

Para realizar dicha sincronización de perfiles de MOSS, se utilizan dos Jobs de MOSS (bueno, realmente existen dos Jobs por Aplicación Web) con el siguiente nombre:

  • Profile Synchronization. Por defecto se ejecuta cada hora, sincronizando la información de perfiles de usuario en las Bases de Datos de Contenido, desde la información disponible en los Servicios Compartidos, proveniente de la correspondiente importación de perfiles.
  • Quick Profile Synchronization. Por defecto se ejecuta cada minuto. Es similar al Job anterior, pero se limita a sincronizar la información de perfiles de los usuarios nuevos.

De hecho, ejecutando el comando stsadm -o sync -listolddatabases 0 (ojo con los guiones al copiar, que en ocasiones se copian mal y fallan los comandos), podremos ver qué Bases de Datos de Contenido han sincronizado con los Servicios Compartidos, y además, podremos ver también la fecha de la última sincronización. El inconveniente de este comando, es que en vez de mostrar el nombre de la Base de Datos, muestra el GUID utilizado en MOSS para identificarlas (un churro de letras y números), por lo que quizás no nos quede muy claro a simple vista.

Descripción del Problema de Sincronización de Perfiles de MOSS

Ahora que tenemos claro el escenario, resulta mucho más fácil describir el problema.

Pues eso, el problema de la Sincronización de Perfiles de Usuarios en MOSS 2007 (al menos, en el contexto del presente artículo) se refiere al caso en que tenemos configurada y funcionando correctamente la importación de perfiles en los Servicios Compartidos (por ejemplo, desde Directorio Activo), pero sin embargo, no se está sincronizando la información de los Perfiles de Usuario en Servicios Compartidos sobre las Bases de Datos de Contenido. Como consecuencia de esto, la información los perfiles de usuario almacenada en las Bases de Datos de Contenido, se irá quedando cada vez más obsoleta, conforme pasa el tiempo.

En este caso, podemos forzar la sincronización de la información de perfiles de usuario de MOSS, del siguiente modo:

  • Ejecutar los siguientes comandos, para forzar la ejecución del Job de Sincronización de Perfiles de MOSS (Profile Synchronization), ejecutando el siguiente comando:

    stsadm -o sync -deleteolddatabases 0
    stsadm -o sync -IgnoreIsActive 1
    stsadm -o sync -synctiming M:1

  • Esperamos algo de tiempo, para que se pueda ejecutar el Job de Sincronización de Perfiels de MOSS. Es suficiente con esperar unos cinco minutos (al menos, en los casos que he conocido).

  • Volvemos a configurar por defecto el Job de Sincronización de Perfiles de MOSS (Profile Synchronization), ejecutando el siguiente comando:

    stsadm -o sync -synctiming H:1

Con esto, debería de sincronizarse correctamente la información de Perfiles de Usuario de las Bases de Datos de Contenido. De hecho, si ahora ejecutamos comando stsadm -o sync -listolddatabases 0, deberemos de poder ver que las Bases de Datos de Contenido a sincronizado correctamente con los Servicios Compartidos.

Sólo me he encontrado un caso en el que no ha funcionado. Esto ha sido, cuando estaba configurada alguna Base de Datos de Contenido en estado OffLine (me refiero en MOSS que lo veremos desde la Administración Central, ojo, no en SQL Server).

En algunos casos, cuando se trabajan con múltiples Bases de Datos de Contenido en una misma Aplicación Web, suelen ponerse todas las Bases de Datos OffLine, de tal modo, que cuando sea necesario crear una nueva Colección de Sitios, se pone OnLine la Base de Datos de Contenido sobre la que se desea almacenar la información de la Colección de Sitios a crear (y el resto de Bases de Datos de Contenido, en estado OffLine) para garantizar que se utiliza la Base de Datos de Contenido deseada durante la creación de dicha Colección de Sitios.

Esta configuración tiene un efecto colateral, ya que la Sincronización de Perfiles de Usuarios en MOSS no funciona con Bases de Datos de Contenido en estado OffLine, pudiendo encontrarnos errores como el siguiente:

Aborting profile synchronization for content DB 7620abb3-9c1a-9125-0f19-957c30d8284c due to non-online content database

En este caso, un WorkAround sería poner las Bases de Datos de Contenido en estado Online, y volver a ejecutar los pasos que antes comentamos, para seguidamente dejar de nuevo las Bases de Datos OffLine. Sin embargo, lo recomendable es tener siempre las Bases de Datos de Contenido en estado OnLine/Ready, para lo cual es importante saber cómo gestiona MOSS la Creación de Colecciones de Sitio y las Bases de Datos de Contenido.

Enlaces de interés

Por último, quería aprovechar para incluir varios enlaces con información relacionada, para quien quiera investigar y profundizar más en este tema:




Miembros de
Miembros de GITCA (Global IT Community Association)

Menu de Usuario
  Iniciar Sesión
  Registrarse
  Restablecer Contraseña
  Ventajas de Registrarse

Acerca de
  Contigo desde Oct 2007
  771 usuarios registrados
  86146 pageloads/mes
  Ranking Alexa 498160

Social Networks
Sigue a Portal GuilleSQL en Linkedin !!
Sigue a Portal GuilleSQL en Twitter !!



Archivo

Junio de 2017 (1)
Mayo de 2017 (1)
Marzo de 2017 (3)
Enero de 2017 (4)
Junio de 2016 (1)
Mayo de 2016 (2)
Abril de 2016 (2)
Septiembre de 2015 (2)
Agosto de 2015 (2)
Junio de 2015 (10)
Mayo de 2015 (4)
Abril de 2015 (8)
Marzo de 2015 (11)
Octubre de 2014 (3)
Septiembre de 2014 (7)
Agosto de 2014 (5)
Julio de 2014 (2)
Mayo de 2014 (4)
Abril de 2014 (4)
Marzo de 2014 (4)
Febrero de 2014 (1)
Enero de 2014 (5)
Diciembre de 2013 (8)
Noviembre de 2013 (2)
Octubre de 2013 (7)
Septiembre de 2013 (6)
Agosto de 2013 (1)
Julio de 2013 (6)
Junio de 2013 (11)
Mayo de 2013 (7)
Abril de 2013 (6)
Febrero de 2013 (5)
Enero de 2013 (7)
Diciembre de 2012 (12)
Noviembre de 2012 (13)
Octubre de 2012 (5)
Septiembre de 2012 (3)
Agosto de 2012 (6)
Julio de 2012 (4)
Junio de 2012 (1)
Mayo de 2012 (2)
Abril de 2012 (7)
Marzo de 2012 (16)
Febrero de 2012 (9)
Enero de 2012 (5)
Diciembre de 2011 (10)
Noviembre de 2011 (10)
Octubre de 2011 (4)
Septiembre de 2011 (5)
Agosto de 2011 (2)
Julio de 2011 (2)
Junio de 2011 (4)
Mayo de 2011 (2)
Abril de 2011 (6)
Marzo de 2011 (4)
Febrero de 2011 (10)
Enero de 2011 (5)
Diciembre de 2010 (6)
Noviembre de 2010 (4)
Octubre de 2010 (8)
Septiembre de 2010 (4)
Agosto de 2010 (1)
Julio de 2010 (3)
Mayo de 2010 (5)
Abril de 2010 (6)
Marzo de 2010 (8)
Febrero de 2010 (3)
Enero de 2010 (1)
Diciembre de 2009 (9)
Noviembre de 2009 (14)
Octubre de 2009 (2)
Septiembre de 2009 (8)
Agosto de 2009 (2)
Julio de 2009 (10)
Junio de 2009 (9)
Mayo de 2009 (10)
Abril de 2009 (9)
Marzo de 2009 (3)
Febrero de 2009 (2)
Enero de 2009 (3)
Noviembre de 2008 (2)
Octubre de 2008 (2)
Septiembre de 2008 (2)
Agosto de 2008 (5)
Julio de 2008 (5)
Junio de 2008 (1)
Mayo de 2008 (3)
Abril de 2008 (2)
Marzo de 2008 (2)
Febrero de 2008 (2)
Enero de 2008 (5)
Noviembre de 2007 (2)
Octubre de 2007 (2)






Copyright © 2007 GuilleSQL, todos los derechos reservados.