Upgrade to Team Foundation Server (TFS) 2017.
This article aims to expand on the Upgrade overview and give a step by step walk-through of the upgrade to TFS 2017.There are some minor changes in the upgrade process that attempts to simplifies it.
Upgrade Source Minimum Requirement: Your TFS databases must be at least at the TFS 2012 RTM level to jump to TFS 2017. Refer our older upgrade walkthrough to get to a supported level.
We have 2 basic upgrade ways as usual.
In-Place Upgrade (Upgrade on the same hardware/OS over existing Application Tier and Data Tier Servers)
Migration based upgrade (Upgrade using different hardware/OS)
We also have 2 types of upgrade now (Upgrade options),
Pre-Production Upgrade (Use this to test your upgrade. This process test upgrades the databases. You can use this to simultaneously test your TFS 2017 on another hardware while continue to use your existing older TFS up) Note: This must be done on a copy of TFS databases on a separate server. It upgrades the database to 2017 version. The intent is to test upgrade on a different server. You cannot have 2 different versions of TFS on the same server!
Production Upgrade (Once you are ready for upgrade, restore the databases again and use this mode) We have a new step-by-step article for in-place upgrade here
Note: Please use Production upgrade when you’re doing the final upgrade of production. TFS Clients caches the ID on client machines.
We also have some new system requirements may require you to upgrade hardware or software.
Here’s the basic 3. Be sure to check the article to see requirements for Visual Studio, Proxy, SharePoint etc.,
Supported server operating systems |
Windows Server 2016 Windows Server 2012 R2 (Essentials, Standard, Datacenter) Windows Server 2012 (Essentials, Standard, Datacenter) Windows Server 2008 R2 (minimum SP1) (Standard, Enterprise, Datacenter) |
Supported client operating systems |
Windows 10 (Home, Professional, Enterprise) Windows 8.1 (Basic, Professional, Enterprise) Windows 7 (minimum SP1) (Home Premium, Professional, Enterprise, Ultimate) |
Support SQL Server version |
SQL Server 2016 SQL Server 2014 |
Permission Requirements:
The Account running the upgrade needs the following permissions.
– Local Administrator on the Application Tier.
– SysAdmin on SQL Data Tier.
–For Reporting, Ensure you have Report Manager and Local Admin on the report server permissions.
Ensure you have ServerAdmin Privilege on the Analysis Instance.
-For SharePoint,
Ensure the account used for the upgrade is a Farm Admin.
Reporting and SharePoint – Pre-upgrade Preparation.
If your instance has SSRS Reporting and SharePoint, you need to perform additional steps before upgrading TFS. This is simpler in case of an in-place upgrade (provided SQL and SP versions are compatible with TFS 2017); There are not many changes needed.
However, if you are moving to newer version/different hardware, you need to manually set them up prior to upgrade.
Reporting:
Report Server Databases ( ReportServer and ReportServerTempDB) must be backed up, along with the encryption key and restored to the newer SSRS. Here, the encryption key is restored.
More info here.
Ensure ReportManager and Reports page are valid, browse-able and working, prior to the TFS Upgrade.
SharePoint: If you have SharePoint integration (Supported versions SP 2010 and 2013) ensure you install the Extensions for SharePoint products 2017 on all farms.
If you’re also creating a new SP farm,
Install and Configure SP Farm.
Install Extensions for SharePoint Products on all farms.
Create a new web application.
Mount the content database.
Verify site collections are valid and reachable.
PS: The SharePoint farm must be valid and sites reachable before the upgrade. If they are skipped during the upgrade, the portal connections will break and you must manually create them, or use this process.
You can refer to our previous blog for Screenshots on Reporting and SharePoint configuration
Databases Restore Check:
You must have *all* Tfs_Databases (Tfs_Configuration, Tfs_Collections, Tfs_Warehouse (if you have reporting) restored to the Database Engine.
Tfs_Analysis restored to the Analysis Engine.
ReportServer and ReportServer TempDB is restored to the appropriate database engine.
SharePoint Content databases for SharePoint sites.
Install TFS 2017
Download and Install TFS 2017. On existing TFS 2013/2015 installation, this installer will uninstall TFS and install the 2017 binaries.
Once installed, it will open the Server Configuration Wizard
You can always re-launch it by running the TFS Admin Console, and Click on Configure installed features.
The wizard is changed a bit to prompt you if you’re doing an upgrade/installing a new instance.
Now select the SQL Server with old the TFS Config database.
Now, we need to specify if we are doing a Pre-Production upgrade or Production Upgrade.
Selecting Pre-Production upgrade will give you the details with explanation. The wizard will also show you some best practices.
You could continue following the Wizard to complete the pre-production upgrade, as follows.
You will notice that the Application Tier has a couple of changes. You can specify the site settings and bindings directly from the wizard.
We’ve also added a Setting Group here.
Default: use the old convention (with /tfs Virtual Directory)
HTTPS and HTTP (with redirect) : Creates a self signed cert/use your existing Signed Cert for Production
HTTP Only: Configure with only HTTP (without the virtual directory)
Or, you could go Custom
To see these options, click on Edit Site Settings.
If your existing deployment did not have Reporting/SharePoint, the upgrade wizard will hard block on them, Like so,
If you do have reporting, the wizard will look like this,
For SharePoint, give the farm information in the SharePoint step.**
Review Changes and let’s upgrade!
What’s new here? TFS 2017 sets the default authentication to “Negotiate”. That doesn’t mean you *have* to set up SPNs and configure Kerberos. If you don’t it will fall back to NTLM anyway.
Success!
The steps are similar for “Production Upgrade” from the Wizard perspective.
Hope this helps! We are creating a documentation on Search next.
Content: Manigandan Balachandran
Review: Romit Gulati
Comments
- Anonymous
December 01, 2016
Hi!Do we need a license key in case of In-Place Upgrade over existing TFS 2015 Update 3?Thanks.- Anonymous
December 02, 2016
Hi Alexey, The Licensing has changed for Team Foundation Server. Please review https://www.microsoft.com/en-in/download/confirmation.aspx?id=13350 - Anonymous
December 14, 2016
Hi, Please review https://www.microsoft.com/en-in/download/confirmation.aspx?id=13350
- Anonymous
- Anonymous
December 07, 2016
Hi,Can you specify which version of the SQL it support in SQL Server 2014? Any specific version it support or all ?E.G: 1.SQL Server 2014 SP1 CU2, SQL Server 2014 SP1 CU3, SQL Server 2014 SP1 CU4, SQL Server 2014 SP1 CU5, SQL Server 2014 SP2.....etc- Anonymous
December 14, 2016
Hi, We only specify the minimum requirement of SQL. We do not have control over SQL CUs. So if the major version is supported, all CUs will be too. (Unless there's a specific problem with a particular CU. In that case, we will update them appropriately)
- Anonymous
- Anonymous
December 12, 2016
Hi! Ohh it removed the TFS2015 and stopped my servers :/ Please make that clear!I hope it will not take all day to get it back up.Is there a way to let TFS2015 run while i test out 2017 on same server?- Anonymous
December 14, 2016
I was hoping this was clear "This process test upgrades the databases. You can use this to simultaneously test your TFS 2017 on another hardware while continue to use your existing older TFS up)" I have added a note.
- Anonymous
- Anonymous
December 22, 2016
Thank you. Really good information. - Anonymous
December 23, 2016
I don't see any checkbox anymore for "AlwaysOn" SQL server availability in the install screens. Has that install option changed?- Anonymous
January 09, 2017
TFS will now automatically detect AlwaysOn SQL instances. It's recommended you give the AlwaysOn listener name while configuring.- Anonymous
February 02, 2017
So after the install, I added the TFS databases to the AlwaysOn availability group. Will it detect that after the fact. I noticed the TfsConfig RegisterDB command no longer recognizes the /usesqlalwayson parameter (though updated documentation still suggests it does). So basically if I check web.config and MultiSubnetFailover=True, all is good?
- Anonymous
- Anonymous
- Anonymous
December 26, 2016
Hi, We are planning to migrate TFS 2013 to TFS 2017(TFS15). Is Release Management Server features are available in TFS 2017? or Want to install Release management server separately and configure to 2017?In TFS 2013 release management server want to be installed in separate server then want to connect with TFS 2013.- Anonymous
January 09, 2017
Release Management is part of TFS from TFS 2015 update 2. It follows a different process/release definition types. It does not have the Server-Client-Deployment architecture as the older RM WPF version. - Anonymous
January 19, 2017
Hi! I'm conducting an upgrade to TFS 2017, but part of my releases are in Release Management tool and we will migrate to Release (or vNext) after the upgrade.Did you succeed with your upgrade? The trigger to deploy on XAML build and RM are running after migrate to TFS 2017?
- Anonymous
- Anonymous
January 04, 2017
We have TFS 2013 with SQL Server 2012. From your post it appears this version of SQL Server is not supported. Am I correct in understanding we'll have to upgrade SQL Server first, then TFS?Thank you.- Anonymous
January 09, 2017
Yes! You need to move the databases to SQL 2014 or 2016 first. SQL will do the database upgrade, then you can run the TFS upgrade.- Anonymous
March 12, 2017
It needs to be made clear in all the documentation that if you have SharePoint integrated with TFS your only option is SQL 2014. TFS does not support SharePoint 2016 only SharePoint 2010 and 2013. SharePoint 2010 requires SQL 2008 or 2012 neither of which are supported by TFS 2017. SharePoint 2013 requires SQL 2012 or 2014 of which only SQL 2014 is supported.- Anonymous
March 13, 2017
I think it's pretty clear if you look at the requirements page. "Here’s the basic 3. Be sure to check the article to see requirements for Visual Studio, Proxy, SharePoint etc.," https://www.visualstudio.com/en-us/docs/setup-admin/requirements
- Anonymous
- Anonymous
- Anonymous
- Anonymous
January 25, 2017
HELP FULL BLOG, - Anonymous
January 25, 2017
WIT updates - do I need to update any WITS before the upgrade? We had customized them heavily.- Anonymous
February 01, 2017
Any customizations to WITS should carry over, but if it's failing to find the corresponding process templates, you must configure them manually, on the upgraded server.
- Anonymous
- Anonymous
January 31, 2017
The comment has been removed- Anonymous
February 01, 2017
The comment has been removed
- Anonymous
- Anonymous
February 06, 2017
I would like to change the attachment upload size but I'm getting 'page not found' error when I click 'Invoke' and the setting isn't updated.So maybe I"m not using the right uri? localhost doesn't work.Thoughts?- Anonymous
February 06, 2017
Never mind I figured it out.
- Anonymous
- Anonymous
February 09, 2017
I am preparing to do a pre-production upgrade from TFS 2013 to TFS 2017 for a client.I have cloned the server and renamed the database, but the second server is still pointing to the live production database and showing up as a second machine in Application Tiers in the Admin Console on both the original and cloned servers. The steps provided make it seem like running the pre-production upgrade makes it unnecessary to run PrepareClone/ChangeServerID/ReMapDbs commands on my clone before applying the upgrade, but I need to be 100% sure I won't impact this production environment.If I run the "old school" PrepareClone/ChangeServerIDs/ReMapDBs commands on my clone to make sure it is pointing to my new database, can I still run the upgrade as pre-production?- Anonymous
February 10, 2017
The comment has been removed- Anonymous
February 13, 2017
Yes, we did a VM clone and renamed the database instance.So when you say move the database, you don't actually mean that (because you want to keep the production database in place), right? Do you mean restore from backup into a new db instance?- Anonymous
February 13, 2017
Yes, a copy of production databases backed up and restored to another instance.
- Anonymous
- Anonymous
- Anonymous
- Anonymous
March 02, 2017
If I do a pre-production upgrade to a new server can I then do a full production upgrade to the same server once the pre-production upgrade has been successfully verified? What are the steps for that? Delete the databases and run the configuration wizard again somehow?- Anonymous
March 03, 2017
The comment has been removed
- Anonymous
- Anonymous
March 12, 2017
If you are using SharePoint don't use SQL 2016. You will be able to install or upgrade to 2016 but you will not be able to get the integration working. The requirements for SharePoint 2013 point this out but there is no mention in any of the requirements documentation for TFS 2017 where SharePoint is discussed. - Anonymous
March 22, 2017
Hello,We have technical debt in the form of many existing XAML builds for which we do not have the resources to convert to vNext any time soon, so we know we'll need to also install Release Management server when we set up our TFS 2017 server. However, the DBAs are also moving to use only MSSQL Always-On AGs, and while the configuration instructions are clear and straightforward for configuring TFS to work with that MSSQL environment, I cannot find any information on how to configure the associated RM server to work with AGs, nor even whether RM is compatible. Since TFS 2015u2, there is no place in RM server configuration dialog to set the connection string for multi-subnet failover (maybe there wasn't before then, either, but I haven't used earlier versions).Can I move the ReleaseManagement db from its old non-AG MSSQL instance into a new AG MSSQL instance, point RM at the new primary replica, then afterwards manually edit the RM server connection string for multi-subnet failover (presumably while TFS has been temporarily quiesced)? And if so, where is that connection string to be found?Thanks in advance.- Anonymous
May 22, 2017
The comment has been removed
- Anonymous
- Anonymous
September 08, 2017
If we are migrating our production databases to new hardware (app and data tiers), and run our final production upgrade with the "Production Upgrade" wizard, do we then have to manually run the remapdbs and changeserverid commands to reconcile the databases with the new hardware?- Anonymous
September 12, 2017
The comment has been removed
- Anonymous