Copy TFS 2012 collection to another server with TFS 2015 Installed - tfs-2015

We have an old server machine with TFS 2012 installed on it. It has the 'DefaultCollection' of project collection. We want to copy (not move, i.e. leaving the collection in place) the 'DefaultCollection' collection to another machine which has TFS 2015 installed.
How can we do that please?
Thanks, ashilon

It depends a bit on how complicated your TFS installation is, but here are the steps for a simpler one server setup without Sharepoint:
Detatch the collection from your current TFS 2012 using the Team
Foundation Server Administration Console. This will copy the configuration into the collection database.
Take a full backup of the collection database (called something like Tfs_DefaultCollection) using SQL Server Management Studio (SSMS).
Restore the original collection on your TFS 2012 server
Re-attach the database on your TFS 2015 server using SSMS. Note that if you already created a collection on this server with the name DefaultCollection, you either need to delete/rename this or restore the cloned collection using a new name.
Attach the collection on your TFS 2015 server using the Team
Foundation Server Administration Console
Start the collection so that it get's into the Online state.
Please note that build servers, drop locations and so on will now point to same thing in the original collection and the clone collection, so you need to do a bit of cleanup.
The above is a shorter version of this: https://msdn.microsoft.com/en-us/library/dd936158(v=vs.110).aspx
Edit: I have successfully used the above approach to make a test migration from TFS 2010 to TFS 2013 RTM followed by the migration of our production environment. We use the server with the test migration for testing new updates before applying to production and we have done so with all updates from 2013 RTM until 2015 Update 3. I am currently applying the same approach in upgrading to 2017 in order to get a fresh server with never version of SQL.

Related

TFS 2012 to TFS 2018 Migration/Upgrade Path

Currently I have lots of projects that are in TFS 2012 and would like to migrate them to TFS 2018, maintaining source code history as well as WIT status if possible. I realize that lots of things under the sheets has changed with versions prior to 2018. I would like to know what the proper upgrade path is. Various web sites have mentioned articles and upgrade paths, but none has answered the true question.
Do I have to do TFS 2012 -> 2013 -> 2015 -> 2018 and use the upgrade option at install time. Or can I skip any path all together. Also does the upgrade do the DB modifications in place, or can I copy the DB's somewhere and point to them at TFS version install time? If I am forced to upgrade in place will I loose current TFS functionality. This cannot happen.
Any rules guidance, steps or past experience in this matter would greatly be appreciated.
NOTE: We have made some changes to the standard WIT templates for the 2012 Agile process (TASKS, USER STORIES).
Sorry, afraid you will not find one complete guide in doing this for now. But suggest you could first go through the Requirements and compatibility page. This will help you know the server operating systems, support SQL Server version for each TFS version.
There are different considerations depending on your configuration,
e.g. do you use SharePoint, Reporting Services etc.
One thing that you
need to deal with, is that TFS 2012 and TFS 2018 does not support the
same versions of SQL server, so you will need to upgrade SQL during
the upgrade or move your collection(s) to a new server with the
appropriate version of SQL (see here).
Back to your question, not sure if you could upgrade directly from TFS 2012 to TFS 2018. Just find a related chart which showing the recommended upgrade paths from various TFS versions (For 2017). However, you definitely not have to do TFS 2012 -> 2013 -> 2015 -> 2018. The worst situation you need two paths.
I would recommend setting up a new server with SQL Server 2016 sp1, where you can migrate your databases using SQL backup. Then first install TFS 2017.1 followed by TFS 2018 and finally updating SQL Server to 2017 (if you need).
Highly recommend doing a trial migration first to validate that things work of and sort out the process before attempting it on your production server.
If I am forced to upgrade in place will I loose current TFS functionality.
Actually some old features will not support any more in TFS2018, such sharepoint, XAML build(the most important missing feature), old work item form. More details please take a look at changes to requirements for TFS 2018
For work item part, we recommend that you review handling a TFS 2018 upgrade from old form to new form for further guidance.
Besides if your TFS2012 installed on a not support system, you may have to first set up a new operating system.
Even though there is not a complete tutorial for TFS 2012 to TFS 2018 upgrade procedure by now. You could refer this article aims to expand on the Upgrade overview and give a step by step walk-through of the upgrade to TFS 2017. You just need to take care of some notes mentioned above.
The general process for upgrading an existing deployment of Team Foundation Server is to:
Prepare your environment. Such as upgrade your SQL sever
(required), operating system...
Expect the best, prepare for the worst. The single most important step you can take here is to ensure you have a complete and consistent set of database backups.
Do the upgrade!
Configure new features.
One can now upgrade from 2012 to TFS 2018 since the release Update 2 earlier this year. See the documentation for the updated upgrade paths.
https://learn.microsoft.com/en-us/vsts/tfs-server/upgrade/get-started
A key challenge was migrating from older XAML builds to the new builds, but with the release of Update 2 and later you can utilize the XAML build controllers as they are now supported. See the compatibility guide for details.
Plan for downtime - this upgrade is certain to take longer than one from a more recent version!

Named instances of SQL Server that I did not installed

I just installed SQL Server 2014 enterprise with default instance (hit next next). But what I happened to find that I had 4 different instances of SQL Server. One of them is 2016 version also.
The list of instances are
localdb\MSSQLLocalDB
localdb\ProjectsV12
This one is version 2016 and express edition
localdb\ProjectsV13
MyComputerName(default instance)
I did not installed named instances how they got to my computer. Is it Visual Studio that installed the other instances for its own use? By the way I saw these list from Visual Studios SQL Server Object Explorer window when I tried to add a new server. Under the.local servers pan these instances were listed
Usually they are installed via Visual Studio:
https://msdn.microsoft.com/en-us/library/ms233763.aspx

cannot checkin from SSMS could not load file or assembly microsoft.teamfoundation.versioncontrol.controladapter

I have the following installed on my machine:
SQL Server 2012 developer edition
VS Express 2013 for Web
VS Express 2013 For Desktop
TFS Express 2013
I can check in/out my projects through both VS Express 2013 installs, I am wanting to make my Stored Procs encrypted so need to keep unencrypted copies within a solution in TFS so have this setup but whenever I try to check in via SSMS I get the error:
Could not load file or assembly
"Microsoft.TeamFoundation.VersionControl.ControlAdapter"
Version=12.0.0.0
Has anyone experienced this before or have a solution how to resolve it as the file does exist on my machine.
Have you installed the latest MSSCCI Provider found on visual studio gallery? And have you checked the SSMS options under source control provider, that it is set to Team Foundation Server. Remember that MSSCCI Provider requires Team Explorer 2013 to be installed as well.

Need help understanding TFS and VS configuration for testing

I am testing web based products, and I am new to Microsoft tools. I am trying to figure out how test plan creation works, or can work depending on what configuration of Visual Studio tools I am using. I find a lot of conflicting info online.
I have the three tools below installed right now, but I can request something different if I need it. (Feel free to suggest). Any advice from pros more experienced with this tool set would be GREAT.
I access Team Foundation Server 2012 via my browser, where I can view and add product backlog items, bugs, sprints, the board etc. I cannot add test plans here, but I can add test cases to them.
I have Visual Studio 2013 installed on my PC. This seems like pretty much the same thing as the browser accessible tool, and I don't use it much because I find it easier to work from the browser for testing web.
I have Microsoft Test Manager 2012 installed on my PC. This appears to be the only place where I can create test plans, cases, and can create and utilize shared test case steps.
Questions:
How can I create test plans using the browser tool?
Is it possible to update the TFS 2012 Browser Tool to 2013, and how is that done?
Additionally to the #jessehouwing answer I would highly recommend you this free ebook:Testing for Continuous Delivery with Visual Studio 2012
Team Foundation Server 2012 update 2 adds Web Based test Case Management to TFS 2012, this is a smaller step than an upgrade to TFS 2013 all the way. You cannot just upgrade the Web Access part of a TFS installation, it would require a complete upgrade of the cluster. You also cannot just install this to your machine, it has to be installed on all the TFS servers in the cluster.
Traditionally Test Manager is the place to go to to do Test Suite Management and to view the results of a test run. Microsoft has started to move the functionality traditionally found in Test manager to the Web portal, It seems you're not the only person who found that easier to use. This transition started with TFS 2012 update 3 and was further expanded with TFS 2013.
So your options are:
Use Test Manager (you'll have to use it to manage certain things you cannot yet do on the web anyway).
Ask your Server Administrator to upgrade TFS 2012 to at least Update 2 (I'd recommend he upgrades to TFS 2012 update 4 or TFS 2013 in any case).
Ask your Server Administrator to upgrade TFS 2012 to TFS 2013.
The following resources can be very helpful in understandign how to use the tools to their fullest potential:
Visual Studio ALM Rangers' Test Guidance
Patterns & Practices' Testing for Continuous Delivery with Visual Studio 2012 (as mentioned by #Elena)
Microsoft Virtual Academy Software Testing with Visual Studio 2012 (exam 70-497 jump start)

SQL Server Scripts 2012 Project into Team Foundation Server 2012

I have a SQL Server Scripts 2012 Project with multiple SQL queries and stored procedures.
We use Team Foundation Server 2012 to manage our source code for our Visual Studio Solutions.
How can I check in a SQL Server Scripts 2012 Project into TFS? If it is not possible how can I manage source control on this and allow multiple developers access to it?
You have a few options, here are two that I have used.
1: Download the TFS 2012 MSSCCI Provider:
This plugin allows you to access TFS from Microsoft SQL Server Management Studio. So you can easily add and check in\out those ssmssln and ssmsproj files from TFS.
64bit Download - 32bit Download
Once installed, in SSMS go to Tools-> Options -> Source Control to select the plugin.
If you don't see it then you probably need to install the other bit version.
After you have selected the plugin in the options window of SSMS, you will have a new menu option under "File" that will allow you to Add\Open\Change items in TFS from Sql Management Studio.
To add your Scripts solution using the MSSCCI plugin:
Open the project in SSMS, go to File -> Source Control -> Add Solution to Source Control
2. Add through VS using the "Add files to Source Control"
See here: To add a file that is not in a solution to version control
I'm not quite sure why it would be a challenge to add the sql server scripts to TFS just as any other file in your visual studio solution. I've done this in a lot of projects with great success.
What is a challenge with databases though is to find a good strategy to handle branches and database versioning. I recommend that you have a look at Entity Framework Code First Migrations which handles this very nicely. Another approach is to use Chuck Norris Round house which is a more script based solution:
RoundHouse
https://code.google.com/p/roundhouse/
Code First Migrations.
http://msdn.microsoft.com/en-us/data/jj591621.aspx
If you start from scratch I would recommend the Code First Migrations approach, but if you allready have a lot of .sql files the second can work very well.
The latest versions of MSSCCI still don't seem to work with SSMS 2012 - you'll need an older 32 bit version, here: http://visualstudiogallery.msdn.microsoft.com/en-us/bce06506-be38-47a1-9f29-d3937d3d88d6
Once this is installed you'll be able to see the "Team Foundation Server MSSCCI Provider" in the SSMS Source Control Plug-In selection.