Secret ingredients to quality software

SSW Foursquare

Rules to Better TFS 2015 Migration - 11 Rules

Upgrading Team Foundation Server can be a daunting task. Be assured that things have become easier and if you follow this guide, it will minimize your downtime.

In this page we will look at performing an in-place upgrade from TFS 2013 Update 4 to TFS 2015. In this walkthrough, we assume you are currently using a single server configuration, but might want to separate your SQL Server from your TFS server. We also assume you have a DNS entry setup for external access at tfs.northwind.com.

If you still need help, visit Application Lifecycle Management and book in a consultant.

  1. After upgrading TFS, you should do a quick smoke test to ensure TFS is running as expected.

    tfs title
    Figure: New TFS Title using our existing url

    1. Navigate to the web access URL for your new TFS server.
    2. If it loads correctly, click "Browse all..." to check all your Team Projects were migrated across correctly

    In Visual Studio, connect to TFS, then:

    1. Do a Get Latest on a project or file
    2. Make a change, and ensure you can Check In
  2. It is important to get another developer to check the migration for issues.

    They should follow these steps:

    1. Start Visual Studio 2013
    2. Open Team Explorer and connect to the new TFS Server
    3. Confirm that they can:
    4. Source Code - Browse the projects and code using the Source Code Explorer
    5. Source Code Operations - Get Latest on a file, make a change and check in
    6. Source Code History - View the history of a number of files in different projects
    7. Work Items - Browse and view recent work items
    8. Open Visual Studio 2015 and repeat steps 1 to 3.
    9. Test that your builds complete successfully on the upgraded build controller(s) and agent(s).
    10. Check that they can create a new Team Project in Visual Studio 2015

    Congratulations! You've completed a successful migration!

  3. Always plan for a catastrophic disaster. This means backing up your environment, and making sure you have a working plan to recover from that backup should you need to.

    If you are doing an in-place upgrade and need to roll back, we'd advise using the TFS upgrade wizard, or the TFS Administration Console to create a backup of your project collections. You can find instructions over on MSDN in the article Back up and restore TFS.

    If you are running in a virtual environment, you can also use server snapshots to back up your TFS system. This is only a viable option if your TFS installation contains everything on a single server (including SQL), and you shut down the server before taking a snapshot. It is not sufficient to create a regular SQL database backup and snapshot the server!

    Ideally, you should test your rollback plan to make sure that you can recover successfully. The easiest way to do this is to recover to an isolated virtual environment.

  4. Once you have prepared your environment by creating backups, testing your rollback plan, and set your Project Collections to be offline, you're ready to run the setup process that will perform the upgrade.

    Here we assume that you are performing an in-place upgrade. Below are the high level steps that you should follow:

    a. Send an email to let everyone know the TFS server will be offline.

    b. Ensure that your Project Collections are offline.

    c. Run the setup tool from the TFS 2015 media (or ISO).

    . Run through the wizard. It should remember most of your existing settings, so not much configuration is required.

    d. Make sure you have access to coffee while it's upgrading your Project Collections- it could take a while!

    depending size

    Figure: Depending on the size of your collections, the Project Collection upgrade process takes the longest out of all steps

    coffee2
    coffee.png

    Figure: Wait for the Project Collection upgrade to complete

    ** success **

    Figure: TFS Upgrade wizard success!

    Now you're almost done! That covers the core upgrade of your TFS server, your TFS configuration database, and Project Collections.

    Next, you'll need to make sure that additional services like XAML Build Configuration and SharePoint integration are configured before testing.

  5. After upgrading, some third-party tools will no longer work. Check for updates for these tools.

    a. TeamCompanion  TeamCompanion version 5.2 Update 1 officially supports up to Outlook 2013 and Team Explorer 2013.

    b. Team Foundation SideKicks  Team Foundation Sidekicks Version 5.0 officially supports TFS 2013.

  6. Do you know your TFS 2015 migration choices?

    There are two main ways to move from TFS 2013 Update 4 to TFS 2015:

    Option 1: In-place migration (Recommended)

    With an in-place migration, you essentially install TFS 2015 over the top of an existing TFS 2013 Update 4 installation. The benefits of this approach are that you don't need additional hardware, and don't need to change network settings like DNS addresses to change between environments.

    Option 2: Migration to a new environment

    Migrating to a new environment may be required if you need to move to new upgraded hardware, or if you are not confident with your rollback plan. The key benefit with migrating to a new environment is that you can quickly switch back to your original environment should anything go wrong during the upgrade.

    Reducing downtime

    With both options, you can also use the TfsPreUpgrade tool to reduce downtime. As per the article, the TfsPreUpgrade tool will:

    • Enable compression for a small number of tables that were not compressed in 2013 but will be in 2015.
    • Scan for and fix a very rare but well understood data corruption in TFS version control data.
    • Create new tables and migrate existing data to them.
    • Create triggers.
    • Update stored procedures.
    • Create indexes.

    By using the TfsPreUpgrade tool, you can thereby reduce the downtime for the actual cut-over to the new version by ensuring that your databases are updated in advance.

  7. More steps will be required to integrate your SharePoint site and set up your Build servers.

    After a TFS upgrade, you'll need to make sure your other servers are still integrated properly.a. Check your Build servers. You'll need to upgrade the TFS installation on them and make sure they're set up correctly.

    Check your SharePoint servers. You'll need to install the latest SharePoint Extensions and make sure you repair your SharePoint connections in the Configuration Manager of your TFS Server.

    sharepoint
    Figure: Repair your Sharepoint Connections

  8. Run the excellent DogFoodStats queries:

    While the above scripts are intended for older versions of TFS, many of the SELECT statements also work with TFS 2013 Update 4.

    The above scripts give you some great information about the details of our collections you can use for comparison afterwards.

    Make sure you record these statistics so you can compare them after the upgrade.

    Recent Users: 33

    Users with Assigned Work Items: 145

    **Warning: **Null value is eliminated by an aggregate or other SET operation.

    Version Control Users: 244

    Total Work Items: 20608

    Areas and Iterations: 1838

    Work Item Versions: 93298

    Work Item Attachments: 11331

    Work Item Queries: 12768

    Files: 694604

    Compressed File Sizes: 18042

    Uncompressed File Sizes: 36315

    Checkins: 53297

    Shelvesets: 381

    Merge History: 846922

    Pending Changes: 906

    Workspaces: 259

    Local Copies: 4197458

    Command Execution Count

    Checkin               27

    Get                   578

    Shelve                96

    Upload                162

    VCDownloadHandler     1403

    GetWorkItem           558

    QueryWorkitems        830

    Update                272

    Figure: Example result of DogFoodStats on our TFS 2010 instance

  9. Running the DogFoodStats queries over the new TFS 2015 server is a good way to see if the upgrade was successful.

    You should check the new values against the stats you recorded from your TFS 2015 Update 4 databases.

    • a. On your TFS 2015 databases, run the DogFoodStats queries and save the results.
    • b. Check that the numbers are the same or very close. Note any big differences.

    Note: The numbers may not be identical due to schema changes.

    Recent Users 31

    Users with Assigned Work Items 144

    Version Control Users 244

    Total Work Items 20608

    Areas and Iterations 1838

    Work Item Versions 93300

    Work Item Attachments 11332

    Work Item Queries 12768

    Compressed File Sizes 21230

    Uncompressed File Sizes 39504

    Checkins 53302

    Shelvesets 386

    Merge History 846922

    Pending Changes 947

    Workspaces 259

    Local Copies 4197428

    CheckIn             164
    Get                  474
    Shelve              63
    Upload               115
    VCDownloadHandler 949
    GetWorkItem 491
    QueryWorkitems 601
    Update               240

    Figure: Example DogFoodStats after the upgrade

  10. To avoid headaches while upgrading the TFS database schemas, you should manually turn off database mirroring prior to running the Verify step of your configuration.

    If database mirroring is enabled on your TFS database, an additional step is required to temporarily turn it off when upgrading the database schema. This may require additional permissions that are difficult to check in the Verify step. Verification may hang with no sign of what’s happening until you delve into the SQL Server logs. It’s safer (and avoids problems) if you manually turn it off before you start.

  11. Whenever you upgrade software, it's a good idea to make sure that your system meets the requirements for the newer version. This is particularly important for server applications like Team Foundation Server.

    If you're upgrading from TFS 2013 Update 4 to TFS 2015, there is a small difference in system requirements. Make sure that your system meets the Visual Studio Team Foundation Server 2015 RC system requirements:

    Server Supported Operating Systems

    • Windows Server 2008 R2 SP1
    • Windows Server 2012
    • Windows Server 2012 R2
    • Windows Small Business Server 2011

    Client Supported Operating Systems

    • Windows 7 Service Pack 1
    • Windows 8.1
    • Windows 8
    • Windows 10 Technical Preview

    Hardware Requirements

    • 2.2 GHz or faster processor
    • 1 GB or more RAM
    • 8 GB or more of available hard disk space

    The old TFS 2013 Update 4 requirements are available at the following location: Description of Visual Studio 2013 Update 4.

We open source. Powered by GitHub