Issue with TFS 2017 Data Warehouse - tfs

We have migrated our Team Foundation Server from 2013 to 2017 recently. In previous version there was no Data Warehouse or reporting configured.
After moving to TFS 2017, we configured Data Warehouse and Reporting services which went fine without any issue.
Now issue we are facing is, in reports we are not able to see any Build related data, only data we see is from old XAML build and nothing from new TFS 2017 build.
when I looked into DimBuild table of TFS Warehouse, it has only old data no new rows.
we tried to re-create warehouse and re-start TFS Warehouse services from Warehouse Administration link, but nothing is helping.
Anyone has any idea?

You can retrieve the data through REST API and do reports or you can get the data from collection database for reports.

You're not seeing it because it's not supposed to be there.
The data warehouse does not contain information for non-XAML builds, nor does it contain any release information.

Related

Move a TFS 2012 project collection to Azure DevOps 2019

I've found this article about moving collections between TFS and DevOps:
https://learn.microsoft.com/en-us/azure/devops/server/admin/move-project-collection?view=azure-devops
TFS 2012 isn't listed beneath the article heading, so I'm assuming it's not possible to move a 2012 collection to Azure DevOps. Can anyone confirm or otherwise?
I guess I could just try it, but I would need to do so out of hours to avoid the disruption of detaching the collection from the live TFS 2012 server. Now I can reattach it once it has been backed-up right?!
It isn't supported, as you can find in the Azure DevOps Services Migration Guide and the Migration tool, the current oldest version supported is Tfs2018 Update 3. So you will need to upgrade to that version first.
Do note that this will also mean that you need to upgrade the SQL server database your are using to MSSQL 2016.

TFS doesn't recognize imported DB

My company is using a TFS 2013 (Update 4 = 12.0.31101.0) server for development. I was tasked with migrating the TFS server to VSTS but realized I had to update to TFS2018 to be able to use the current migration tool.
My boss obviously didn't like the idea of performing "open heart surgery" on our productive environment so we created a back-up of the SQL Collection-Database (by creating a dump using Management Studio) installed a Trial Version of TFS/SQL Server in a VM (VirtualBox) and tried importing the back-up.
Using the built-in import tool (TFS\Tools\TfsRestore.exe) I imported the old DB into the SQL Server, which actually worked really well, looking at the DB in ManagementStudio everything that needs to be there seems to be there.
However, trying to attach the Team Project Collection in the Team Foundation Server Administration Console I simply can't find it. I List Available Databases and the only one it finds is the DefaultCollection that was created during installation of the server.
I made sure that the versions are the exact same version, only difference is the License which is a real License on our production environment and a Dev License on the VM.
Anyone got an idea why this is happening? Maybe some way to get a more detailed Exception?
Edit: Trying to use the TfsConfig registerDB command throws an expection:
TFS30040: The database is not correctly configured. Contact your Team Foundation Server administrator
First, please make sure you are a member of the Team Foundation Administrators security group and a member of the sysadmin security group for any SQL Server databases that the new Team Foundation Server uses.
Usually this kind of issue should be solved after giving proper database permissions to the user.
Besides, after the configuration you can try RemapDBs to redirect TFS to its databases.
Back to the error: TF30040: The database is not correctly configured. Contact your Team Foundation Server. Here is a similar thread for your reference: TF30040: The database is not correctly configured
Moreover, you could also check the event view on your VM, if there are some more detail error message for troubleshooting.
Did you detach the collection in the TFS admin console before taking the backup on your 2013 server?
When you detach the collection is moves all of the relevant data from the TFS configuration database in to the collection database. You can then take a backup of the collection database and restore it to the new SQL server instance.
Note that detaching the collection will take it offline until the backup is complete and you re-attach the collection.
Then the new version of TFS should be able to see the collection and attach it. This will copy the configuration data to the new configuration database and you'll be able to bring the collection online.
So steps are
Detach collection in TFS 2013
Take backup of the TFS 2013 collection DB
Re-attach the TFS 2013 collection so that users can continue to use the collection whilst you test your upgrade
Copy the backup to the 2018 server
Restore the backup
In the TFS 2018 Admin console attach the collection
Once you're happy that the upgrade will go smoothly repeat the process but skip step 3.
Managed to do it by following this guide : https://cromwellhaus.com/2013/08/restoring-tfs-2012-to-sandbox/
Short Version: I was missing the config database, it was quite easy once I was using the old config.

TFS Reporting, FactBuildProject and FactBuildDetails empty

I'm using TFS 2015 on-prem and I'm using the standard SCRUM template. I have 1 Team Project and I'm using the team field to segregate work. I have created a few build definitions and ran a few builds over the last few weeks.
When I installed TFS I did not install or configure Reporting Services straight away as I had planned to do that later. I have since done this and I now have my Tfs_Warehouse which is updating with most things but NOT FactBuildProject or FactBuildDetails. Some of my other facts are pulling over, such as FactCurrentWorkItem and even FactBuildCoverage. I have rebuilt the warehouse in the TFS Admin Console.
As this is a standard process template and standard reports I expect that the required fields should be set to reportable.
How can I get data in my FactBuildProject table and where can I look for issues with it? I'm not sure where to start and I can't find anyone else in the world with a similar problem.
If you are using the new task-based build system, then you are out of luck, since that data is not being propagated to the data warehouse.
Check the comments on this blogpost: http://nakedalm.com/create-a-build-vnext-build-definition-on-vso/

MIgrate from TFS 2010 to TFS 2013 without reporting services backup

I am planning my migration from TFS 2010 to TFS 2013. I am using the guide at http://vsarupgradeguide.codeplex.com/downloads/get/755804#
Currently my TFS 2010 server has a reporting services instance installed with the required databases:
Tfs_Warehouse
Tfs_Analysis
ReportServer
ReportServerTempDb
Can I migrate to a new TFS 2013 server without backing up / restoring the reporting services? Basically not installing reporting services and then just later on installing a new instance of reporting services?
Will this work or will the migration process fail? Will I lose any functionality if I do it this way?
If you switch over to a new instance of reporting services without backing up the database and the encryption key from the old one, you'll lose any custom/modified reports, as well as have to re-apply security settings. Other than that, there's no harm in it.
The warehouse and analysis databases are not part of reporting services, they're the TFS warehouse and analysis cube databases. They're created by TFS.
The ReportServer database is the one that holds all your reports.

TFS Collection Migration from 2010 to 2012

I have two TFS servers. One is a legacy TFS2010 server that contains an old collection of our projects. Last year, we spun up a new TFS2012 server. However, we never migrated our source code from the old server (we treated it as a fresh install and created new projects).
We are now looking at retiring the 2010 server completely and I want to migrate the legacy 2010 collection (actually all I care about is the source control and history) to the new server as a separate collection, but I can't figure out how. I've followed the instructions on MSDN (http://msdn.microsoft.com/en-us/library/vstudio/dd936138.aspx) but when I get to the step for attaching the collection on the new server, TFS complains that "no attachable databases were found" on the sql server.
I've also tried running the "tfsconfig Collection /attach" command on the target TFS server (even though numerous posts I read say it was deprecated in 2012). It tells me it can't connect to the target database server (even though my production collection is attached to it on that box).
Does anyone know if a collection migration from 2010 to 2012 is even possible or if I'm just spinning my wheels? There's no official documentation from Microsoft that I can find that says such a migration is even possible (even though there's nothing I can find that refutes it either)
Server Specs:
Old SQL Server: Enterprise 64 Bit 2008 SP3 (10.0.5500)
New SQL Server: Enterprise 64 Bit 2008R2 SP2 (10.50.4000)
Old TFS Server: 10.0.40219.1 (SP1 KB2182621)
New TFS Server: 11.0.60315.1 (TFS2012 Update 2)
You can migrate a single collection. The steps I know working are:
detach the collection from the 2010 instance using TFS Admin console
backup the database (or detach from SQL)
restore the database new SQL instance (or copy the files and attach them from SQL) -- check does not clash with existing database names
attach the collection from the 2012 TFS Admin Console
The last step will kick off the upgrade process: the collection will not be available until the process is complete. It could takes minutes or hours depending on the size, and make sure you have enough space for SQL transaction logs.
Take a look at Team Foundation Server Integration Tools (March 2012 Release): http://visualstudiogallery.msdn.microsoft.com/eb77e739-c98c-4e36-9ead-fa115b27fefe
The TFS Integration Tools is a project developed by the Team
Foundation Server (TFS) product group and the Visual Studio ALM
Rangers to integrate Team Foundation Server with third party systems
for migration and synchronization of data.
There is a migration guide for TFS 2010 to TFS 2012 located here: https://upgradetfs2010totfs2012.codeplex.com/
it may be faster in some cases depending on the size of the projects that need to be moved (and the number) to start by importing the latest code into the existing version of 2012 since you are concerned only with moving the source code. You do loose the history however.
Do a in-place migration, described in Team Foundation Server Upgrade Guide, from Microsoft ALM Rangers (http://vsarupgradeguide.codeplex.com/), and next migrate the collection to the new server. From 2010 to 2012 it's a very simple migration.
Don't forget backup the databases before doing a in-place migration.

Resources