Subscribe to our blog by signing up for the naked Agility newsletter, or by subscribing to the RSS feed.

Upgrading to Team Foundation Server 2013

With the release of Team Foundation Server 2013 I need to upgrade all of my servers. I have a few customer installs getting prepped and I wanted to get a look see.

I run a TFS server locally to do demos; prove out the existence, or lack, of bugs; and to figure out what is going on under the covers. This server (Kraken) is a virtual machine running locally and can easily be backed up and restored. My recommendation is to never attempt an upgrade without a backup and preferably upgrade to a new server.

  • Update 2013-07-23 – Another seamless upgrade. This time with 8 collection and then a consolidation down to a single Team Project


The main reason for a new server is that there are some major changes to the OS as part of the Team Foundation Server install. There is usually some sort of .NET update as well as core Windows components. Backup and Snapshot or use a new VM its up to you…

Figure: Taking a backup is easy with Scheduled Backups on Team Foundation Server 2012

My first order of business is to take an in place backup and a snapshot of my VM. In this case I am upgrading in place and I can rollback with both of these options. If you are moving to a new server and will be changing the location of the backups make sure you check out TFS 2012.3 Issue – Scheduled Backups gives a TF400998 when reconfigured as I ran into a little issue with that recently. It is most likely to occur when also doing a domain migration, but can just be moving servers.

Figure: Set the Install path for Team Foundation Server 2013

I always opt for the default path and recommend that you do the same. This is no value to moving it to another disk and that only adds complexity. Certainly have all of your data on another disk, but putting files that you need to reinstall anyway on another disk is a little silly.

Figure: Installing Team Foundation Server 2013

The install is smooth as always and the polish is amazing. The only thing that I can grip about is the need to reboot.

Figure: Rebooting during install of Team Foundation Server 2013

I always feel that this is unnecessary but when you are talking about some of the core components for Windows I guess you have to just suck it up and reboot.

Figure: 5 minutes later we have Team Foundation Server 2013 installed

No really, it only took 5 minutes to install and I did not prep the machine at all. I am however using Windows Server 2012 with SQL Server 2012 and I have the latest updates for both. And that includes SQL Server 2012 SP1 which is required for Team Foundation Server 2013.

After you have everything up to scratch you can go ahead and configure. I will be using the Upgrade wizard but you may be installing from scratch so read the text on the right for each option carefully to get it right. Pay close attention to anything that mentions SQL Express as you may or may not want that.

Figure: Running the Upgrade gauntlet with Team Foundation Server 2013

Running the upgrade is pretty easy but you will need a few bits of information. First up is the acceptance that you do indeed have a backup. If you don’t… go make one now… yes… even if this is your trial box. Have a backup..

Figure: Renter your service account for Team Foundation Server 2013

As all of the account details are encrypted and as a security measure for your data you need to re-enter your passwords to connect everything up. Enter the password and click “test’”.. did you get a green tick?

Figure: Configure reporting services for Team Foundation Server 2013

As I have all of the reporting bits installed I will need to configure them. SharePoint however I don’t have here, but I will be creating another post for that.

Figure: Validate your Report Server Instance for Team Foundation Server 2013

Most of these screens are just validation and while I am restoring to the same server you may be having to change a few things to match a new environment. If you are moving your reporting services server off to another environment you should un-tick the box on the first screen for Reporting and reconfigure it after.

Once you have validated all of the details and entered the Report Reader account password (did you get all green ticks) you can move on to the upgrade validation step (remember I have no SharePoint here.)

Figure: Validate that the settings are correct for Team Foundation Server 2013

The Readiness Checks make sure that everything that can be checked is. It validates that what you entered works and that the servers and services are available. It checks permissions and access so you are fairly certain at this point that everything will work. There be odd and occasional data issues but I rarely see them beyond server that have multi terabyte databases.

I get a TF255193 warning because I am using the same account for reporting as for the TFS Service account and that is deemed a risk. On a production box I agree, here I don’t care.

Figure: Upgrading the Configuration data of Team Foundation Server 2013

The upgrade really happens in three stages. The first stage is the flat installation of the files. TFS 2012 has been uninstalled and the new bits for Team Foundation Server 2013 which we did before we started any configuration of Team Foundation Server.

Figure: Success at upgrading the Configuration to Team Foundation Server 2013

The second is the setup of the system and upgrade of the Configuration database. This sets up IIS, creates the websites, application pools and configures reporting before upgrading the Configuration database. And we have not yet even looked at the collections

Figure: Collections upgrade asynchronously in Team Foundation Server 2013

Each of the Team Project Collection will be attached and upgraded asynchrony and the bigger they are the longer they take. In this case I don’t have a Team Project Collection over a couple of gig and it was all over in under 10 minutes. Now you may be thinking “But Martin you have a really small databases of course it only took 10 minutes but I have more data”. Well for this I wanted to maintain a table of expectant times as this has often been a common:

How long does it take to upgrade to TFS 2013?
Instance Source Version Component Size Time to complete (m)
#1 – Sandbox 2012.3 RC2 Configuration 1054.88 MB <1
Tfs01 (Collection) 727.06 MB <2
Tfs02 (Collection) 142.63 MB <1
Tfs_MTest (Collection) 217.31 MB <1
Collection #4 156.63 MB <1
#2 – Customer 2012.2 Configuration 100GB <2
Collection #1 1GB <1
Collection #2 2TB <4
#3 – Customer 2012.1 Configuration 0.5GB <3
Collection #1 40GB <5
#4 – Customer 2012 (RTM) Configuration 1GB <4
Collection #1 1GB <5
Collection #2 1GB <4
Collection #3 1GB <6
Collection #4 1GB <6
Collection #5 2GB <8
Collection #6 1GB <8
Collection #7 1GB <5
Collection #8 1GB <9


Figure: Success upgrading to Team Foundation Server 2013

This upgrade was totally painless (which does not mean that yours will be) and I could not believe that the Team Foundation Server Product Team would yet again make it easier but it just seams a little slicker than before.

So did it work?

Figure: Successful upgrade to Team Foundation Server 2013

Awesome.. Now all I have to do is upgrade the process templates to the new version and I will get all of the awesome features.

Guess what I am doing next?


I would definitely recommend that you move to Team Foundation Server 2013 as soon as you are able, especially if you are on 2012.3 already. If you are happy to work with Go-Live then you should look no further than 2013… at least until 2013.1 comes around…


Go download it now and be a kid again…

  • Pingback: A day of TFS upgrades()

  • Pingback: A day of TFS upgrades - Richard Fennell()

  • Pingback: Team Foundation Server 2013 Preview is available and Go-Live()

  • Chaminda Chandrasekara

    Hi Martin,

    I have upgrade from TFS2012.2 to TFS 2013 preview. Except SharePoint portal everything else working ok. I did this as in place upgrade (done in a testing VM before attempting on production). SharePoint Foundation 2013 was configured earlier with TFS 2012.2 and was working well. But after the upgrade to 2013 (SharePoint configuration went smoothly), Web part loading error below is coming in the project portals of all team projects. But if I add the same web part in SharePoint (duplicate) , the newly added web part works fine. Doing this for all project is not a n easy task considering the number of Team projects. I followed ( post and verified , in my SharePoint.. “Visual Studio Team Foundation Server Configuration” + v11 + v12 features are activated. If you could give any idea on this that would be greatly helpful. Thanks.

    Web Part Error: A Web Part or Web Form Control on this Page cannot be displayed or imported. The type Microsoft.TeamFoundation.WebAccess.WebParts.WorkItemSummaryWebPart, Microsoft.TeamFoundation.WebAccess.WebParts, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a could not be found or it is not registered as safe. Correlation ID: ce582f9c-918a-30d5-0000-07a060759890.

    similar error for all web parts

    • You will need to un-install the TFS 2012 SharePoint tools from your SharePoint server and install the 2013 ones. Can you confirm this?

      Also you may need to deactivate the “feature” and reactivate it. That should be part of the upgrade but I am not sure of the order.

      • Chaminda Chandrasekara

        HI Martin,

        Thanks for helping me out in this… I have tried the upgrade 3 -4 times now with different approaches, but no good result for the existing Team project SharePoint portals. Below are my attempts

        Initial env. – Win 2012/SQL 2012 SP1 CU 2/ SharePoint 2013/ TFS 2012.2

        1. Backup TFS DBs, Install TFS 2013, Configure TFS Upgrade wizard –> All ok except SharePoint sites for existing projects

        2. Backup TFS DBs, Remove SharePoint extension from TFS 2012.2 Admin Console, Uninstall TFS 2012.2, Install TFS 2013, Configure TFS Upgrade wizard –> All ok except SharePoint sites for existing projects

        3. Backup TFS DBs, Deactivate TFS SharePoint Extensions in SharePoint central Admin, Uninstall TFS 2012.2, Install TFS 2013, Configure TFS Upgrade wizard, Activated TFS SharePoint Extensions in SharePoint central Admin –> All ok except SharePoint sites for existing projects

        Tried deactivating and activating TFS SharePoint Extensions several times.. still no luck

        But if I edit Team Portal page in SharePoint and add it the web part again it works for that web part. I think it is picking the correct version when I do that

        Any of above attempts no errors in logs ..everything went as green..

        Any help would be greatly appreciated..

        • I think that you need to raise this as a support call with MSFT or on the Forums…

          • Greg Read

            Hi Chaminda.
            I am running into the exact same scenario. I upgraded from TFS2012 Update 1 to TFS2013 RC. I stood up a new Sharepoint 2013 instance and restored and migrated WSS_Content database. The upgrade was successful. Everything is functional expect the exceptions in Project Portals:
            Web Part Error: A Web Part or Web Form Control on this Page cannot be displayed or imported. The type Microsoft.TeamFoundation.WebAccess.WebParts.WorkItemSummaryWebPart, Microsoft.TeamFoundation.WebAccess.WebParts, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a could not be found or it is not registered as safe.
            Were you able to get this resolved, and if so how?

          • gabes

            Have you resolved this issue ? I have exactly the same problem ! and cant solve it

          • Have you tried re-running the configuration tool that you run after an install. Sometimes that clears things out for me.

  • Thorsten Ruf

    Hi Martin,

    I upgraded a TFS 2012 demo virtual machine to TFS 2013. Everything was done smoothly with SQL 2012 SP1.

    Activated new Features in the existing collections/projects.

    But as I wanted to upgrade or setup the Build Service System, I got the message: “The register command is not supprted for Team Foundation Server…. because the server is not compatible”

    Any experience with this situation?



    • Are you using the VM from Brian Keller? If so then you need to reset the date/time to ‘now’ before you do any of the upgrades…

      • Thorsten Ruf

        That’s it. Now the build configuration was successful.

  • garyhowlett

    Hi, You mention keeping the install location of TFS to its default location – and I remember there was once a bug in one of the updates that expected the install to be in default location – however the AT can consume quite a lot of disk space over time as it acts like a proxy (mine has reached over 100GB within the folder E:Program FilesMicrosoft Team Foundation Server 11.0Application TierWeb Services_tfs_data) Which is why I normally install to a different drive. I drop this folder every time I run a update as the install takes forever otherwise.

    • There is a cache directory in there that you can redirect using a web.config setting. In the application tier web.config (~Application TierWeb Servicesweb.config) you should add the following setting to the appSettings section:

      This will redirect that large data repository to another drive.

      • garyhowlett

        That’s good to know – Thanks

  • Shrike

    What about upgrading TFS2010? Did you try it?

    • Upgrading from TFS 2010 works great! I have only done a couple of those but I had no problems. TFS 2008 however would need to be staged through 2012.

  • Barry Yacomine

    Hello – I’ve got some developers who haven’t checked their stuff in and are proving tardy at best. Can I upgrade (TFS2010 > TFS 2103) and expect the workspace status etc. to go over as well?

    • Short answer: Yes you can. There is no need to force everyone to check in.
      Long answer: Even if you are moving hardware, which i would recommend do that you can upgrade SQL and Windows easily, the GUID inside of TFS stays the same and all of your guys workspaces will be migrated when they first connect… This does mean that if you want to do a trial upgrade first you will need to change that GUID to prevent calamities 🙂

      • Barry Yacomine

        Great. Thanks very much.

      • CarloReggiani

        Martin, please clear it better to me the GUID issue: I’m planning a TFS2010->2013 migration with hw change. I would use new architeture for a testing period, using backuped data from production env. After TFS 2013 configuration on new hardware and conversion of a restored db set from production (on a new MS SQL Server), how will I change the GUID to prevent the “calamities” for users during test on production?

        Second question: after the test period I’ll do a final production db backup/restore/conversion on the new TFS2013 architecture from actual TFS 2010 prod server: users will be able to connect to the new TFS url and all the local workspace will be autoconnected to the new server, is it right?

        • If its a test upgrade run “tfsconfig changeserverid”. Run “tfsconfig setup /uninstall:all” to reset the environment.

          • CarloReggiani

            I did “tfsconfig
            changeserverid”, but now trying to connect from Visual Studio to the TFS server I’m getting a TFS30046 error: “The Instance information does not match”!!!

            I argue the original situation was fine… really not clear this point! Is it possible to have a configuration summary using the tfsconfig command?

          • I think you must have run “tfsconfig changeserverid” before you configured TFS. You are getting the error as the “server ID” in the web.config in the root of the TFS server does not match the new server ID. If you “tfsconfig setup /uninstall:all” and then reconfigure you should be golden.

            note: If you do not change the server ID for your test environment then the client tools will detect a new server with the same ID and automatically migrate all of your workspaces a cash across to the new server. All users that have ever connected to both environments will encounter weird stuff until you cleanse the clients.

  • Pingback: Foundation Upgrade Standard | Donation()