Uno de nuestros clientes tenía una implementación de TFS 2010 montada sobre Windows 2003 que había venido migrándose desde TFS 2005. Si bien el servidor estaba funcionando perfectamente, la compra de un nuevo hardware mucho más potente sirvió como excusa para plantear una nueva instalación, desde cero, pero ya en una plataforma mucho más moderna, y de 64 bits.
“Teniendo Project Collections la migración será mucho más sencilla …” dijimos. Si bien no estábamos mintiendo, sabíamos que no estábamos contando la versión completa de la historia, pero apostábamos a que no iba a haber mayores dificultades y así fue.
Como corresponde en estos casos, sin siquiera pensar en conectarnos a cualquiera de los servidores, empezamos a armar la checklist (fundamental!), que en versión resumida aquí les transcribo:
En el servidor de origen
1) Detener y separar la project collection: En este paso podemos dejar un mensaje para advertir a los usuarios que intenten conectarse mientras dure el proceso.

2) Hacer un backup de la base de datos en SQL Server (recordar que cada project collection tiene su propia BBDD)
3) Hacer un backup de la Sharepoint Site Collection: Aquí un ejemplo vía línea de comandos
1: stsadm -o backup -url http://contoso/sites/DefaultCollection -filename c:\default_collection.bak
4) Hacer un backup de los Reportes (Reporting Services): Si utilizamos Reporting Services, esta tarea puede resultar realmente tediosa ya que hay que copiar uno por uno. Dependiendo del template utilizado para crear los proyectos, y obviamente la cantidad de proyectos, esto nos puede llevar mucho tiempo. Por suerte Aaron Block publicó unos scripts (VB) que realizan la tarea escribiendo sólo una línea!. Eso si, debemos editar el script para colocar la report folder de nuestro servidor en este script.
En el servidor de destino
1) Restaurar la base de datos
2) Restaurar la Sharepoint Site Collection
1: stsadm -o restore -url http://contoso/sites/DefaultCollection -filename c:\default_collection.bak
3) Restarurar los Reportes
Aquí nuevamente utilizaremos los scripts de Aaron Block editando la report folder de destino según corresponda. Para este paso usaremos este script.
4) Adjuntar (attach) la Project Collection utilizando la consola de administración de TFS
5) Modificar la ubicación del Default Site de Sharepoint, también desde la consola

6) Reparar la conexión a Sharepoint
7) Por cada proyecto de la colección, apuntar a la nueva dirección del Project Portal y de la Process Guidance. Esto se logra desde Visual Studio –> Team Explorer –> Proyecto –> Team Project Settings –> Portal Settings

Como verán, si bien no es un ejercicio de un sólo paso, contando con una buena checklist no es una tarea imposible.
Hasta la próxima!
GetReportsFromServer.rss (5,12 kb)
PushReportsToServer.rss (8,80 kb)