Team Foundation Server Move Types
Three types of moves are supported for Visual Studio Team Foundation Server. The most common type is the restoration-based move, where a new installation of Team Foundation Server is configured on new hardware, and the data from your original Team Foundation Server deployment is restored to the new server or servers that act as the data tier. A more simple type is the environment-based move, where an existing Team Foundation Server deployment is moved from one domain to another or from a workgroup to a domain. Finally, you can move a deployment from a single server to multiple servers, where Team Foundation Server is moved from an installation on a single server to an installation across two or more servers. This is a specific type of restore-based move.
There are many reasons why you might consider moving your existing Team Foundation Server deployment. The most common reasons are as follows:
To increase the capacity of your Team Foundation Server deployment by moving Team Foundation Server from a single server to more than one server.
To expand your deployment by adding servers to host the databases that compose the data tier.
To increase the speed and agility of your deployment by adding an application-tier server, either with or without load balancing software to distribute traffic between the application-tier servers.
To incorporate new hardware, either with the same server names or with different server names.
To move Team Foundation Server from a workgroup to an Active Directory domain.
To move Team Foundation Server from one domain to another domain.
Team Foundation Server supports three different move types. All three move types require many steps. You should read through the procedures for each move type carefully before you try to move your Team Foundation Server deployment.
Restore-based move Required software is installed on new hardware to which backups of the original Team Foundation Server databases are then restored. Examples of hardware-based moves include:
Moving from one single-server deployment to another in the same domain.
Moving from one dual-server or multi-server deployment to another in the same domain.
Restoring data from one data-tier server to another (dual-server deployments only).
Moving or splitting a team project collection.
For specific steps, see Move Team Foundation Server from One Hardware Configuration to Another and Restore Data to a Different Server or Instance, Split a Team Project Collection, and Move a Team Project Collection.
Environment-based move An existing Team Foundation Server deployment is moved to a new environment by joining the server that is running Team Foundation Server to a domain or by changing the domain to which the server belongs. This move type does not involve changing hardware. Examples of environment-based moves include:
Moving a deployment from a workgroup to a domain
Moving a deployment from one domain to another
For specific steps, see Move Team Foundation Server from One Environment to Another.
Single-server to more than one server move This is a specific type of restore-based move. SQL Server is installed and configured on a new computer and the original single-server Team Foundation Server is converted into the server hosting the logical Team Foundation application-tier. Backups of the databases taken from the original single-server environment are restored to the new Team Foundation data-tier server. For specific steps, see Move from a Single-Server to a Dual-Server Deployment.
You must decide which type of move best suits your business needs. Potential server move scenarios include the following:
Move a server from domain A to domain B If you do not change the hardware, this is an environment-based move type. You might do this if you evaluated Team Foundation Server in a test domain and you want to move the server to a production domain. Moving servers might also involve moving or recreating user accounts, group accounts, and permissions from the original server.
Move a single server from a workgroup to a domain This is an environment-based move type. You might do this if you deployed Team Foundation Server in a workgroup and then decided to implement an Active Directory domain. You can move local users from a workgroup to a domain if the same user account is in the domain, or if the user account exists as a local account on Team Foundation Server.
Replace the hardware in a Team Foundation Server deployment This is a restore-based move type. You might do this if you had to replace the hardware on which you installed Team Foundation Server.
Expand the capacity of your single-server Team Foundation Server deployment The move type for this is determined by whether you want to move your deployment to a faster server that has more capacity, or you want to move from a single-server deployment to more than one server. The former is a restore-based move, where the latter is a single-server to more than one server move. You might do this if you experienced poor performance on your current Team Foundation Server deployment and needed more capacity for users, projects, and data.
Move a team project collection from one deployment of Team Foundation Server to another. This move type moves only a single collection database instead of an entire deployment.
Split a team project collection into two or more collections. This move type divides the projects that a single collection contains. A project can exist in only one collection, so the split collections each have their own unique manifest of projects.
Moving your Team Foundation Server deployment requires careful planning and execution. For instance, combining a move from a Team Foundation Server single-server deployment to more than one server with a domain migration requires particular care. Also, keep in mind that Team Foundation Server stores configuration information in multiple locations. Be sure to follow the move steps carefully. For more information, see Team Foundation Server Architecture and Interactions Between SharePoint Products and Team Foundation Server.
Considerations for Moving Your Team Foundation Server
If it is possible, keep the Team Foundation application-tier server name the same For environment-based moves and single-server to more than one server moves, keep the same name for the Team Foundation application-tier server if it is possible. Changing the Team Foundation application-tier server name adds the following complications:
Changing the Team Foundation application-tier server name requires that all Team Foundation clients must connect to a new server name.
Changing the collection name (by moving or splitting a collection) requires that all clients must reconnect to the collection by the new name.
All query-bound Microsoft Office documents will no longer work if the server or collection name is changed. The documents are bound to the server and collection for which they were created. This includes all the query-bound Microsoft Office documents that are created automatically at project creation time in the project Documents node.
Any embedded links to documents will point to an unknown name if the server name or collection name is changed.
Moving users and service accounts As part of the security model, Team Foundation Server stores Windows identities (local and domain groups and users) by their security identifiers (SIDs) in its configuration database. If you are moving a collection or a server, you will need to reconcile identities as well as reconfigure Team Foundation Server. This is particularly true if:
Local accounts existed on the original Team Foundation Server. You must decide whether these accounts will be recreated as local accounts on the moved Team Foundation Server, or as domain accounts in the moved Team Foundation Server's new domain.
Domain accounts existed on the original Team Foundation Server, but you are moving Team Foundation Server to a domain that does not trust the original domain. You must decide whether these accounts will be re-created as local accounts on the moved Team Foundation Server, or as domain accounts in the moved Team Foundation Server's new domain.
Prepare with a test run It is a good idea to test moving to a new environment with a test run exercise to help determine and troubleshoot any unforeseen issues. Your move scenarios and deployment environments might differ from those tested by Microsoft. Performing a test run will help you identify possible differences in the move steps that are particular to your deployment.