jueves, 17 de junio de 2010

MSS 2010: Migración de una BD de contenido desde MOSS 2007

Recientemente he realizado una migración de una base de datos en SharePoint 2007 hacia una plataforma de SharePoint 2010, y me gustaría compartir hoy mi experiencia personal con todos vosotros.

La impresión general es que las migraciones de 2007 a 2010 han mejorado muchísimo respecto a las que pudiéramos hacer de 2003 a 2010. Al no haber un cambio de tecnología base de trasfondo (sigue siendo FrameWork .NET en C#) y al ser SharePoint 2010 un producto más evolutivo que revolucionario (2007 sí fue revolucionario), la migración es muchísimo más natural y en general da menos quebraderos de cabeza. De hecho, si nuestro entorno es totalmente out-of-the-box, la migración se hará prácticamente de forma automática. El problema, como siempre, son las personalizaciones que hayamos realizado en la plataforma 2007 (aplicaciones, webparts, webcontrols, event recivers, plantillas personalizadas, etc.). Cada personalización implantada en 2007 debe ser identificada, listada y tratada a parte en el proceso de migración, y debido a las múltiples posibilidades al respecto, en este post me centraré en mi experiencia personal para migrar una base de datos de contenido en SharePoint 2007 hacia una plataforma 2010.

Para empezar, hay que realizar unos pasos previos de preparación a la migración:

1. Asegurarse que en el entorno de 2007, la versión instalada es MOSS SP2. Sin el SP2 las bases de datos de contenido no certifican su compatibilidad con 2010.

2. Disponer de un entorrno SharePoint Server 2010 donde estén configuradas las aplicaciones de servicio básicas:
  • Servicio Conectividad a datos empresariales
  • Aplicación de Servicios de Excel
  • Servicio de metadatos administrados
  • Aplicación de servicio de búsqueda
  • Servicio de almacenamiento seguro
  • InfoPath Forms Services
3. Configurar las opciones generales de la granja de servidores.
  • Configuración de correo electrónico entrante y saliente
  • Toda la configuración de permisos y seguridad de la granja de servidores, como la adición de cuentas de usuario o grupo al grupo de administradores de la granja de servidores.
  • Tipos de archivos bloqueados
  • Plantillas de cuota
También se debe configurar todas las opciones nuevas de la granja de servidores que se desee usar, como podrían ser la "recolección de datos de mantenimiento y uso", y el "registro de diagnóstico".
5. Crear y configurar la aplicación web en la granja de 2010 donde vincularemos nuestra base de datos de contenido provinente de SharePoint 2007. Esta no tiene porque conservar el mismo nombre que la original, aunque en el caso de que hayamos utilizado URL's absolutas, deberemos ir con cuidado y revisarlas posteriormente a la migración para verificarlas o modificarlas (lo ideal sería que estuviera todo en relativo). Por ejemplo: Las rutas de nuestras fuentes de datos en Infopath 2007 son absolutas y se deberían modificar si la migración implica un cambio de ruta (por suerte, Infopath 2010 ya trabaja con rutas relativas). Otra opción sería trabajar con la misma URL que el origen, aunque añadir un "alternate access maping" para acceder via IP o nombre de servidor hasta que hagamos el cambio en la DNS corporativa hacia la nueva granja.

La aplicación web creada no debe contener ninguna colección de sitios que pueda solaparse con URL's provinentes de la migración (el caso más abitual sería la raiz "/").

Una vez realizadas las tareas anteriormente descritas, ya estaremos listos para comenzar con la migración en sí misma:

1.- Realizar un backup de la Base de Datos de contenidos del servidor SQL Server del entrono en 2007 (tarea que normalmente nos realizará el departamento de sistemas de nuestro cliente). Para más información sobre este procedimiento, pulsa aquí.

2.- Cargar la copia realizada de la base de datos en el servidor SQL Server del entorno 2010 (tarea que normalmente también realizará el departamento de sistemas de nuestro cliente). Para más información sobre este procedimiento, pulsa aquí.

3.- Una vez restaurada la BD en el nuevo entorno hay que asegurarse que tanto en esta BD de contenidos como en la que nos ha creado la aplicación web que hemos creado en el nuevo entorno 2010, el usuario que ejecutará el script de migración tiene permisos de dbowner. Es importante tener este permiso en las 2 BD para que la migración se efectúe sin errores.
4.- Abrir una consola de Terminal Server al servidor frontal de la granja, y una vez dentro de él, ejecutar una ventana de consola de comandos con permisos de administrador. Una vez dentro de la consola de comandos hay que introducir las siguientes líneas:

cd C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN      (solo en caso de que no tengamos el stsadm en el PATH del sistema)

stsadm -o addcontentdb -url http://URLDeLaAplicaciónWebDestino/ -databasename NombreDeLaBDDeContenido -preserveolduserexperience false

El parámetro -preserveolduserexperience especifica si queremos conservar la antigua experiencia de usuario (sin Ribbon), y por defecto se ejecuta en true. Por tanto, si queremos tener Ribbon en nuestro nuevo entorno, deberíamos especificarlo en -false.

Una vez lancemos el proceso, se observará un indicador porcentual de la migración. Si el proceso es exitoso, al llegar al 100% deberá aparecer un mensaje de "La operación se realizó correctamente"

Hay que tener en cuenta que este paso se puede realizar también con PowerShell mediante el comando: Mount-SPContentDatabase -Name <NombreDeLaBDDeContenido> -DatabaseServer <NombreDelServidorDeSQLServer> -WebApplication <http://URLDeLaAplicaciónWebDestino/> [-Updateuserexperience]

También se puede seguir el procedimiento de migración mientras esta se está ejecutando, desde la administración central, en el apartado “Actualización y Migración” --> “Verificar el estado de la actualización”

Pantalla de visualización del seguimiento de la migración desde la Administración central.

Tras estos pasos, el nuevo entorno debería funcionar correctamente; aunqe se deberían revisar los posibles warnings y errores del fichero de migración (la mayoría vendrán dados por personalizaciones en el entorno original). Sobre todo (vuelvo a insistir) deberemos revisar muy especialmente el tema de las personalizaciones realizadas en el entorno original.

Este ha sido el procedimiento que me ha servido a mí en un entorno muy específico, pero podeis encontrar información mucho más pormenorizada y completa sobre el proceso en general en:

Preparación entorno: http://technet.microsoft.com/es-es/library/cc263026.aspx

Migración BD: http://technet.microsoft.com/es-es/library/cc263299.aspx

¡Saludos y hasta el próximo post!

2 comentarios:

Ing. Yazmin dijo...

Muy buen blog me ha estado ayudando a comprender el nuevo funcionamiento de Sharepoint 2010.

Estoy haciendo Pruebas sobre las migraciones y me han salido bastante dudas.

Tengo una aplicación en Sharepoint 2007 con su colección de sitios.
Entonces lo que quiero es migrar completamente esta aplicación a Sharepoint 2010

1.- ¿Digamos que el numero de mi puerto es 1234 en moss 2007 y al pasarla o migrarla respeta el mismo número de puerto en moss 2010?

2.-¿Cuando haga la migración se ven afectadas las de mas aplicaciones instaladas o creadas en sharepoint 2010 o es independiente?
Muchas gracias y espero pronto sus respuestas

Victoria Navarro dijo...

Tengo una duda bastante parecida al comentario de Ing. Yazmin, ¿si yo tengo portales en MOSS 07, puedo migrarlos con igual facilidad que una BD a MOSS10