Updating previously migrated TFS 2013 -> TFS2015 database - tfs

I have TFS 2013 update 5 installed in a virtual environment (VMWare ESXi 5.5) and I wanted to test upgrading to TFS 2015. I cloned the VM and changed the TFS ID. After a long battle with sharepoint (everything is running on the same VM at this point, App-Tier, Data-Tier, and Sharepoint Foundation 2013) I got everything working again on the clone at TFS 2013 version. I then performed an in-place upgrade on this clone to upgrade it to 2015 and it worked perfectly.
Now what I want to do is take the most recent backup of the TFS2013 original server databases and move that to the already upgraded TFS2015 server. I have not been able to do this and successfully trigger "re-upgrading" of the database.
What databases should I restore to the clone "TFS2015" server (should I overwrite Tfs_configuration at this point, for example)?
What steps should I perform after restoring the latest backup from the TFS2013 data-tier to the TFS2015 data-tier to trigger an upgrade of the database?

Related

Error upgrading to TFS 2018

We are trying to upgrade our TFS 2013 Update 5 to TFS 2018 Update 2. I have checked this thread to make sure we meet the prerequisites.
From the list, it looks like we met the prerequisites, but when i run the TFS2018 installer it gives me an error saying there is no direct upgrade path from 2013 to 2018. Im not sure why we are getting this error when i looked at the Microsoft site, there is a direct upgrade from TFS2013 update 5 to TFS2018. What am i missing?
Here are our specs on our TFS 2013:
SQL: SQL Server 2016 SP2
OS: Windows Server 2012 R2
TFS: TFS 2013 Update5
P.S. we moved the databases to a SQL server 2016 from a 2014 SQL just to comply with the prerequisites.
Ahh yes, the added error message makes sense. What the TFS installer is telling you is that it can't perform the upgrade while TFS 2013 is installed and running on that server.
You first have to uninstall the Application Tier and Build Services on the machine. This doesn't impact your databases in any way.
Then you can install TFS 2018.2 or 3 directly into that server, point it to the existing SQL databases and it will ask you whether you want to upgrade those.
You'll need to verify a few server settings, plus decide whether you want to enable SSH and Search on this machine.
After the integrity check the installer will install the TFS Application tier and start the database upgrade process.
Only of you're on TFS 2005 or 20008 do you need to perform this step multiple times. first with the 2010 installer before you can take it to 2018. This is what's meant by 'not possible to do a direct upgrade' in some parts of the docs and which confused me at first.

How to restore TFS 2015 DB on TFS 2018?

I did a pre-production upgrade of TFS 2015 to TFS 2018 on another Windows server. It worked fine. During my TFS 2018 tests developers submitted new code to TFS 2015. Now, I would like to restore the latest TFS 2015 DB on TFS 2018 again and switch all dev's workplaces to TFS 2018.
Do I need to repeat whole TFS 2018 installation process to upgrade TFS 2015 to TFS 2018 or there is another way of doing this?
If I need to repeat TFS2018 installation, do I need to uninstall TFS 2018 before that?
Thanks
No, you do not need to uninstall: simply remove the Application Tier configuration. You can do it easily from the Administration Console (screenshot is for removing the Proxy feature, simply what you need).
Pre-production upgrade is just a dry run of your upgrade in a production environment.
Usually we use this to test your upgrade. This process test upgrades the databases. You can use this to simultaneously test your TFS 2018 on another hardware while continue to use your existing older TFS up.
Once you are ready for upgrade, restore the databases again and just use the Production Upgrade scenario during the server configuration wizard.
Not sure if you would like to restore the latest TFS 2015 DB on TFS 2018 on production environment or pre-production environment.
If you want to restore the newly changes on TFS2015 to pre-production TFS 2018 environment. It's not a common situation, usually we will abandon the pre-production environment. If you insist on this, you may have to re-upgrade to TFS2018 with pre-production style again. You could also try to back up the database on TFS2015 and restore it in TFS2018 pre-production environment. And you may have to change server IDs which ensures that this deployment will not interfere with the production environment.
Otherwise, suggest you directly move the changes in the production environment later, a tutorial for In-place upgrade to TFS2017(similar to TFS2018 without sharepoint) for your reference.

compatibility TFS Update 1 backups on TFS Update 2 backups?

We just learned this morning that in TFS 2012 Update 2 they integrated backups in TFS rather than you having to install the power tools to get backup functionality. Is there any compatibility picture between the backups created with update 1 & the power tools with the scheduled backup feature in TFS 2012 Update 2? Our production server is running 2012 update 1 and the other machine we are trying to restore is running 2012 Update 2.
We are trying to restore a backup of prod to this other server but when we choose "List Backups" in the Restore Database functionality of the Scheduled Backup tool it doesn't list anything when we point it to our production backup folder.
The rules are rather simple:
When restoring a non-detached collection backup, you must restore to the same version. TFS will balk if they're not at the same level. An upgrade will change data structures and stored procedures.
When restoring a collection that has been detached you can restore and attach it to the same version or (most) newer versions (there are limitations, for example: 2012 rtm and 2012u4 can be attached to 2013, but TFS 2012u1, 2 and 3 cannot)
You cannot restore a backup from a higher version on an older version of TFS. You must first upgrade the target server.

TF254024 - Upgrade from TFS 2005 to TFS 2010 to TFS 2012

2 days ago I did the following test upgrade from TFS 2005 to 2010 then to 2012 (I am not configuring Reporting or Sharepoint)
Backed up the 6 TFs 2005 databases
Restored them on the Sql 2008 server used by TFS 2010
Ran TFSconfig setup uninstall:ALL on the TFS 2010 application server (as I had a test site setup)
Opened the TFS 2010 admin window and did an upgrade
Detached my TFS2010 collection and did an import process to TFS2012
Yesterday, I wanted to try the process again to make sure that I had all the steps down.
So I did some initial cleanup
Deleted all the databases on the TFS 2010 Sql server
Detached the test collection on TFS 2012 and then delete the associated database
and then I restarted the steps but it gets stuck at step #4
Backed up the 6 TFs 2005 databases
Restored them on the Sql 2008 server used by TFS 2010
Ran TFSconfig setup uninstall:ALL on the TFS 2010 application server
Opened the TFS 2010 admin window and did an upgrade
The error I get on step #4 is
TF254024: No database for Team Foundation Serer that can be upgraded were found on the following instance... Verify that you specified the correct name of the server and the instance.
I've double checked the name of the server & instance.
Made sure that the account that is running the upgrade has full permissions.
I'm not sure what else to do. My searching hasn't proved that fruitful.
I figured out the issue.
When I was testing out the deploy the first time, we were trying to do a migration instead of an upgrade. We had added 2 extended properties to the master table from the TFSIntegration database (based on another error).
I removed both those extended properties and I was able to start the upgrade.
edit 1-
I tried the process again (restore database and try to do the upgrade). The extented properties were back again.
so running this script fixed the process.
USE TfsIntegration;
GO
EXEC sp_dropextendedproperty
#name = N'TFS_DATABASE_CATEGORIES';
GO
EXEC sp_dropextendedproperty
#name = N'TFS_INSTANCE';
GO

Migration from TFS 2005 to TFS 2010

I have installed TFS 2010 on a new server (vmware running windows server 2008 r2) and restored from backup my old TFS 2005 Database onto the new server. The installation seems to have succeeded - I can create a NEW TFS 2010 team project and I can do checkin/checkout for it.
I made a mistake, however, with the TFS 2010 configuration manager - I ran the advanced configration wizard and NOT the upgrade wizard.
Now I don't see my old TFS 2005 team project and the upgrade wizard is now disabled.
In order to fix my mistake I tried this:
TFSServiceControl quiesce
tfsconfig import /sqlInstance:MyServer\DBinstanceName /collectionName:MyImported /confirmed
This is the output of this commands:
TF255152: Service is not running: TFSJobAgent
The upgrade of the project collection MyImported has been queued.
Waiting on the upgrade operation to complete.
...and now I am waiting for too much time for this operation to complete (my version control DB is 15 GB).
How can I import my old TFS 2005 team project to the new TFS 2010 server?
Here you go it supports inplace upgrades...
If you have to do a migration and it is currently jacked up then I would simply start from scratch. You'll spend far less time doing this than trying to fix the issues.
If you choose an install (advance configuration wizard in your case) instead of an upgrade, what happens is that new configuration and default collection databases are created for you, and your restored 2005 databases are not touched.
The safest way to deal with this issue is, like Chris suggested, to start from scratch. You wouldn't need to restore your 2005 databases again though, all you need to do is to uninstall TFS, make sure the new Tfs_Configuration and Tfs_DefaultCollection databases got deleted, and reinstall TFS and configure again with the Upgrade wizard. Installing TFS 2010 should be fast.

Resources