Migration from Tfs 2013 to Tfs 2015

 Published On

Here is the protocol that I applied to migrate our tfs 2013 to tfs 2015.


  1. The protocol is only tested to migrate
    • tfs 2013 to tfs 2015
    • tfs 2015 to tfs 2017
  2. The protocol is only valid for TFS on premises



  1. Define a deadline for code freeze
  2. Checkin / shelve all ongoing developments before the deadline
  3. Finalize forward/reverse integration in case you have multiple branches
  4. Backup project collection database, suggested format : Tfs_CollectionName_YYYYMMDD

The following sql script is quite handy. Don’t forget to replace CollectionName and the date in YYYYMMDD format. Please note that \\server\backup\... is a shared network path acessible by the machine that hosts target tfs server.

BACKUP DATABASE Tfs_CollectionName TO  DISK = N'\\server\Backup\Tfs_CollectionName_YYYYMMDD.bak' 
WITH NOFORMAT, NOINIT,  NAME = N'Tfs_CollectionName-Full Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10, COPY_ONLY 


  1. Stop the project collection
  2. Detach the project collection
  3. Backup again project collection database, suggested format : Tfs_CollectionName_YYYYMMDD_Detached
  4. Restore the backups on target tfs database
  5. Using target tfs admin console, attach restored database


  1. Check changesets history (right click on a branch => view history)
  2. Check workitems (epics, features etc.)
  3. Check users and their permissions
  4. Check build definitions if you have any
  5. Check distributed build agents, if you have any


  • If you have developed custom plugins, mvcsmon can be of great help to debug these remotely

Tags:   tfs2013   tfs2015   tfs on premises   migration


comments powered by Disqus

© 2017 - Mechanical Object. All rights reserved
Built using Jekyll