[TFS 2010] Backup de seulement vos collections
Si vous voulez backuper toutes vos bases de TFS y compris celles des collections de projets, il y a une application procédure pour ça :) Mais si vous voulez seulement demander à vos DBAs de sauvegarder que vos collections vous allez avoir un problème: on peut peux pas sauvegarder une collection sans la détacher au préalable via la console TFS car la collection sera alors inutilisable. Il faut donc passer par la procédure suivante:
- Détacher dans TFS
- Backup
- Re-attacher dans TFS.
Il ne faut pas confondre cette procédure d’attachement/détachement à celle de SQL Server concernant la base de données de la collection de projet. Dans notre cas la collection reste toujours connectée au serveur SQL. Cette procédure est obligatoire car la procédure de détachement copie des données dans la base de la collection pour la rendre transportable.
Alors comment faire pour automatiser tout ça? La réponse en 4 lettres: SSIS ou Sql Server Integration Services. On va donc créer un package pour réaliser ces 3 opérations.
On commence déjà par créer le package. L’ensemble de ces opérations ont été effectuées sur un TFS Basic. Ensuite on crée la tâche pour détachement de la collection: on va utiliser la ligne de commande via TfsConfig dans une tâche “Execute Process”:

Ensuite on sauvegarde la base via la simple tâche de backup:
Et pour finir on copie notre tâche de détachement et on la modifie pour en faire une tâche d’attachement:
Voici l’enchainement dans SSIS:

On peut aussi ajouter la tâche d’attachement dans le handler d’erreur pour être sur qu’en cas d’erreur dans le script: la collection est toujours attachée au final.
@+
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :