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
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.
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.
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.
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