How to: Move from a Single-Server to a Dual-Server Deployment

You might be able to support more projects or improve performance by moving from a single-server to a dual-server deployment of Visual Studio Team System Team Foundation Server. In a dual-server deployment, two or more physical servers host the components that compose the logical application and data tiers of Team Foundation. When you move from a single-server to a dual-server deployment, you convert the original server into the application-tier server, and you install and configure SQL Server on the new data-tier server. You then redirect SharePoint Products and Technologies and SQL Server Reporting Services to the new data-tier server, and you restore the data from your original deployment to the new data-tier server. For more information, see Team Foundation Server Move Types.

Before you perform this type of move, you should read through this topic and consider printing all of the required steps. You should also consider printing those topics to which this topic links and that contain information about additional required steps. In addition, you might need to perform additional or alternative steps than those listed in this topic if you are moving SharePoint Products and Technologies as part of moving your deployment. For more information, see the following pages on the Microsoft website: Move and migrate servers and server farms (Windows SharePoint Services 3.0) and Move all databases (Office SharePoint Server 2007).

During this kind of move, you must not perform any of the following actions:

  • You must not change the service accounts.

  • You must not change the name or domain of the original server.

  • You must not install the data-tier server in a different domain from the original deployment without sufficient trusts.

To perform this type of move, you must complete the procedures in the following sections in the sequence listed:

  1. Back Up the Databases and the Encryption Key

  2. Install SQL Server and Prepare the New Hardware

  3. Restore the Databases

  4. Redirect SharePoint Products and Technologies to Use the New Content Database

  5. Reconnect the Administration and Configuration Databases

  6. Redirect and Test SQL Report Server, Reporting Services, and Default Reports

  7. Redirect the Application-Tier Server to the New Data Tier

  8. Rebuild the Team System Cube

  9. Delete the Version Control Cache

  10. Update Service Accounts

  11. Restart Services

  12. Refresh the Data Cache on Client Computers

Required Permissions

To complete these procedures, you must be a member of the Administrators group on the old and new servers and a member of the Team Foundation Administrators group.

In addition to these permissions, you might need to address the following requirements on a computer that is running Windows Server 2008 or Windows Vista:

  • To follow a command-line procedure, you might need to open an elevated Command Prompt by clicking Start, right-clicking Command Prompt, and clicking Run as Administrator.

  • To follow a procedure that requires Internet Explorer, you might need to start it as an administrator by clicking Start, clicking All Programs, right-clicking Internet Explorer, and then clicking Run as administrator.

  • To edit web.config files, you might need to start the text editor as an administrator by clicking Start, clicking All Programs, right-clicking the editor, and then clicking Run as administrator.

  • To access Report Manager, reports, or Web sites for Reporting Services, you might need to add these sites to the list of trusted sites in Internet Explorer or start Internet Explorer as an administrator.

For more information, see the Microsoft Web site.

Back up the Databases and the Encryption Key

Before you can change your deployment from a single-server to a dual-server configuration, you must back up the databases for Team Foundation. You will restore these databases to the new data-tier server as part of the move.

To back up the databases and the encryption key

  1. Back up all the databases for Team Foundation.

    For more information, see How to: Back Up Team Foundation Server.

    Note

    You must also back up any custom site definitions, custom site templates, or custom Web parts for SharePoint Products and Technologies that you want to keep. For more information, see these pages on the Microsoft Web site: Backup and Restore Options for Windows SharePoint Services 2.0 or Recommendations for data protection and recovery for Windows SharePoint Services 3.0. 

    If SharePoint Products and Technologies is installed on the application tier and you want to move the databases for SharePoint Products and Technologies to the new data tier, make sure that you back up the administrative database for SharePoint Products and Technologies. (SharePoint_AdminContent_ID) along with the content and configuration databases.

  2. Back up the encryption key for Reporting Services. Make sure that you store it in a secure location on a different computer from the server that is running Team Foundation Server and that the new application-tier server can access the key. You must also store the password with which the key is encrypted.

    For more information, see How to: Back Up the Reporting Services Encryption Key.

Install SQL Server and Prepare the New Hardware

After you back up the databases, you must install SQL Server on the computer that will be the new data-tier server for your deployment.

To install SQL Server and prepare the servers for the move

  1. Install SQL Server in the new environment, and make sure that it is operational.

    For detailed instructions, open the installation guide for Team Foundation, and find the topics about how to install SQL Server in a dual-server deployment. You must install the same version of SQL Server that you used in the original deployment. You can find this guide on the Microsoft Web site.

  2. On the application-tier server, open a Command Prompt window, and change directories to %ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Tools.

  3. At the command prompt, type the following command:

    TfsDB.exe install /server:"NewSQLServerName" /property:"TFS_SERVICE_ACCOUNT=TFSServiceAccount;TFS_REPORTING_ACCOUNT=TFSReportingServiceAccount;LCID=LCIDNumber;VSTF_AS_INSTANCE=AnalysisServicesServerName;VSTF_AS_DATABASE=TeamFoundationDataWarehouseName;VSTF_AS_ACCOUNT="

    • NewSQLServerName is the name of the server where you just installed SQL Server and where you intend to restore the data. If you used a named instance, you must include not only the server name but also the instance name.

    • TFSServiceAccount is the service account for Team Foundation Server in Domain\Account or Computer\Account format. If you are using a system account, you must specify that account using the System\Account format. For example, if you want to use Network Service, you would specify it as NT Authority\Network Service.

    • TFSReportingServiceAccount is the data sources account for Reporting Services in Domain\Account or Computer\Account format.

    • LCIDNumber is the language collation ID number for your language edition of SQL Server. For example, the LCID for English is 1033.

    • AnalysisServicesServerName is the name of the server on which SQL Server Analysis Services is installed. By default, this is the same server as NewSQLServerName.

    • TeamFoundationDataWarehouseName is the name of the original data warehouse for Team Foundation. By default, this value is TfsWarehouse.

  4. On the server that is running Reporting Services, retrieve and save a list of the installation IDs for Reporting Services.

    1. Open the Command Prompt window, and change directories to the following directory:

      %ProgramFiles%\Microsoft SQL Server\90\Tools\binn\

    2. Run RSKeyMgmt -l.

    3. Note the installation IDs, and print a list or save it in a safe location.

  5. Log on to the appropriate server, open Computer Manager, and stop the services and application pools in following table in the order specified:

    Log on to the server that hosts this program

    Stop this component

    SharePoint Products and Technologies

    • SharePoint Timer Service or Windows SharePoint Services Timer

    • Default Web Site or Team Web site

    Application tier

    • Visual Studio Team Foundation Server Task Scheduler Service

    • Microsoft Team Foundation Server Application Pool

    SQL Server Reporting Services

    • SQL Server Reporting Services (TFSINSTANCE) (service)

    • ReportServer or ReportServer$InstanceName (application pool)

      NoteNote:
      You manage ReportServer in Internet Information Services (IIS) when you are running SQL Server 2005 but not when you are running SQL Server 2008.
    • Default Web Site or Report Manager Web site

    Important noteImportant Note:

    To move user accounts and service accounts in a restoration-based move, the new deployment of Team Foundation Server must be in a stopped state. If you restart Team Foundation Server after you restore data but before you move user accounts and service accounts, you could cause users that are targeted for migration to be marked as deleted in the TFSIntegration database. This problem occurs when the group security service cannot find the user’s system identification (SID) during synchronization with Active Directory.

    For more information about how to start and stop services and application pools, see How to: Stop and Start Services, Application Pools, and Web Sites.

Restore the Databases

After you stop the services, you can restore the data for Team Foundation by using the restore tools that SQL Server provides.

Warning

You must restore all the databases to the same point in time. Otherwise, the databases might become corrupted.

To open the Restore Database dialog box

  1. On the new data-tier server, click Start, point to All Programs, point to Microsoft SQL Server, and then click SQL Server Management Studio.

    Note

    For more information about how to restore databases, see "Implementing Restore Scenarios for SQL Server Databases" on the Microsoft Web site.

  2. In the Server type list, click Database Engine.

  3. In the Server name list, click or type the appropriate server.

  4. In the Authentication list, click the appropriate scheme.

  5. In User name, type the user name of a valid account.

  6. In Password, type the password of the account if SQL Server requires it, and then click Connect.

  7. Expand the Databases node to show the list of databases that make up the data tier for Team Foundation.

Complete the "To restore each database" procedure for each of the following databases:

  • ReportServer

    Note

    If you used a named instance, this database will be named ReportServer$InstanceName.

  • ReportServerTempDB

    Note

    If you used a named instance, this database will be named ReportServerTempDB$InstanceName.

  • The configuration database for SharePoint Products and Technologies (STS_Config_TFS or WSS_Config)

    Important noteImportant Note:

    You should restore this database only if SharePoint Products and Technologies was installed on the original single-server deployment and you are not changing its location. If you are either using or installing SharePoint Products and Technologies on a different server, do not restore this database.

  • The content database for SharePoint Products and Technologies (STS_Content_TFS or WSS_Content)

    The names of the databases that contain data for SharePoint Products and Technologies will vary depending on the version of SharePoint Products and Technologies that is installed and whether the person who installed it customized the name. Additionally, if SharePoint Products and Technologies is installed on a separate server from Team Foundation Server, these databases might not be present on the data-tier server for Team Foundation. If they are not present, you must manage their backup, restoration, and configuration separately from Team Foundation Server. However, you should synchronize the maintenance of the databases to avoid synchronization errors.

  • The administration database for SharePoint Products and Technologies (SharePoint_AdminContent_ID)

    Important noteImportant Note:

    You should restore this database only if SharePoint Products and Technologies was installed on the original single-server deployment and you are not changing its location. If you are either using or installing SharePoint Products and Technologies on a different server, do not restore this database. 

    • TfsBuild

    • TfsIntegration

    • TfsVersionControl

    • TfsWarehouse

    • TfsWorkItemTracking

    • TfsWorkItemTrackingAttachments

    • TfsActivityLogging (optional)

Note

As part of the restore process, you must upload any custom site templates or Web parts created for custom process templates to databases for SharePoint Products and Technologies.

To restore each database

  1. Right-click the database that you want to restore, point to Tasks, point to Restore, and then click Database.

    Important noteImportant Note:

    In most deployments, neither the SQL Server databases nor the SharePoint Products and Technologies databases will appear in the list of databases under the Databases node. To restore any databases that do not appear in the list, you must right-click the Databases node, click Restore Databases, and specify any databases that are not in the list.

    The Restore Database dialog box opens.

  2. Under Source for restore, click From Device, and then click the ellipsis button ().

  3. In the Specify Backup dialog box, specify the location of the backup file, and then click OK.

    The first backup that you apply must be a full backup, followed by the transaction log backups, in the order in which they were created.

  4. Under Select the backup sets to restore, specify the backup sets to restore.

  5. In the Select a page pane, click Options, and then select the Overwrite the existing database check box.

  6. In the Restore the database files as list, verify that the paths match your current database paths.

    This step is important if you are restoring the database to a different drive.

  7. Under Recovery state, click the appropriate state.

  8. Perform one of the following steps:

    • If you are not applying additional transaction logs, click Leave the database ready to use.

    • If you are applying additional transaction logs, click Leave the database non-operational.

  9. Click OK to close the Restore Database dialog box and restore the database.

  10. If you are applying additional transaction logs, follow this procedure for each set of log backups in the order in which they were created. Start with the one made after the full backup.

    For more information, see "Applying Transaction Log Backups" on the Microsoft Web site.

Redirect SharePoint Products and Technologies to Use the New Content Database

You must redirect any Web sites for team projects to the content database on the new data-tier server for Team Foundation. If you are moving all SharePoint Products and Technologies databases, you can skip this procedure and proceed to the "Reconnect the Administration and Configuration Databases" procedure later in this topic.

Note

When you move one or more SharePoint Products and Technologies databases, you might need to perform different steps based on the specific details of your deployment. If you are moving SharePoint Products and Technologies databases or changing the server on which SharePoint Products and Technologies runs, you should review the documentation that is appropriate to your version and edition of SharePoint Products and Technologies. For more information, see the following pages on the Microsoft Web site: Move and migrate servers and server farms (Windows SharePoint Services 3.0) and Move all databases (Office SharePoint Server 2007).

To redirect project sites to use the content database on the new data-tier server

Reconnect the Administration and Configuration Databases

SharePoint Products and Technologies remains on the original single server, which is now the application-tier server for the new deployment. However, you must still configure it to use the administration and configuration databases on the new data-tier server.

Note

Moving SharePoint Products and Technologies databases is a complex process. The steps that are required vary depending on the specifics of your deployment. If you are moving SharePoint Products and Technologies databases or changing the server on which SharePoint Products and Technologies runs as part of moving your deployment, you should review the documentation appropriate to your version and edition of SharePoint Products and Technologies. For more information, see the following pages on the Microsoft Web site: Move and migrate servers and server farms (Windows SharePoint Services 3.0) and Move all databases (Office SharePoint Server 2007).

To reconnect administration and configuration databases for SharePoint Products and Technologies

  1. Log on to the server that hosts SharePoint Products and Technologies, open a Command Prompt window, and change to the following directory:

    %PROGRAMFILES%\microsoft shared\web server extensions\12\bin.

  2. Type the following command:

    stsadm –o renameserver –oldservername OriginalDataTierServerName -newserver NewDataTierServerName

    For more information about how to restore SharePoint Products and Technologies, see "White paper: Backing up, restoring, high availability, and disaster recovery for Office SharePoint Server farms" on the Microsoft Web site.

Redirect and Test SQL Report Server, Reporting Services, and Default Reports

After you redirect Web sites for team projects, you must redirect Reporting Services to the new data-tier server.

To restore and verify SQL Server Reporting Services

  1. On the server that is running Reporting Services, click Start, point to All Programs, point to Microsoft SQL Server, point to Configuration Tools, and then click Reporting Services Configuration.

  2. In the Report Server Installation Instance Selection dialog box, make sure that the computer name is the name of the new application-tier server. Make sure that the instance name is MSSQLSERVER, and then click Connect.

    Note

    If you used a named instance, you must specify the instance name and not the default instance of MSSQLSERVER.

  3. In the Explorer pane, click Server Status.

    The Report Server Status pane opens.

  4. In Instance Properties, click Start.

  5. In the Explorer pane, click Database Setup.

    The Database Connection pane opens.

  6. In Server Name, type the name of the new data-tier server, and then click Connect.

  7. In the SQL Server Connection Dialog dialog box, click OK.

    The Database Connection pane opens.

  8. Click Apply.

  9. In the Explorer pane, click Windows Service Identity.

    The Windows Service Identity page opens.

  10. In the Built-in Service Account list, click Local Service.

    The Apply button becomes available. Do not click it.

  11. In the Built-in ServiceAccount list, click Network Service, and then click Apply.

  12. In the SQL Server Connection Dialog dialog box, click OK.

  13. Close the Reporting Services Configuration tool.

  14. Open a Command Prompt window, and change directories to %ProgramFiles%\Microsoft SQL Server\90\Tools\binn.

  15. Type the following command to list installation IDs of Reporting Services:

    RSKeyMgmt -l

  16. In the list, find the installation ID that corresponds to the new data-tier server.

  17. Type the following command to remove that installation ID, where DTInstanceID corresponds to the new data-tier server:

    RSKeyMgmt –r DTInstanceID

    Note

    Do not remove the installation ID that corresponds to the old data-tier server.

  18. On the server that is running Reporting Services, click Start, point to All Programs, point to Microsoft SQL Server, point to Configuration Tools, and then click Reporting Services Configuration.

  19. In the Explorer pane, click Encryption Key.

  20. On the Encryption Key page, click Restore.

    The Encryption Key Information page opens.

  21. In Password, type the password for the encryption key file**.**

  22. In Key File, type or click the location of the backup encryption key (.snk file), and then click OK.

Redirect the Application-Tier Server to the New Data-Tier

After you restore the databases, you must use the TfsAdminUtil command to redirect the original server for your deployment, which is the new application-tier server, to the new data-tier server.

To redirect the application-tier server to the new data-tier server

  1. Log on to the appropriate server, open Computer Manager, and start the application pools and programs in the following table:

    Log on to the server that hosts this program

    Start this component

    Application tier

    • Microsoft Team Foundation Server Application Pool

    • Default Web Site or Team Web site

    SQL Server Reporting Services

    • ReportServer or ReportServer$InstanceName (application pool)

    • SQL Server Reporting Services (TFSINSTANCE)

    • Default Web Site or Report Manager Web site

  2. Open the Command Prompt window, change directories to %ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Tools, and type the following command:

    TfsAdminUtil RenameDT newDataTierServerName

    Important noteImportant Note:

    For this command to succeed, the application pools and programs in the previous step must be running. This requirement is new in Visual Studio Team System 2008 Team Foundation Server. Also, this command requires the connection string in the services web.config file to refer to the original server for your deployment. If the connection string refers to the new data-tier server, the command will fail. You must restore the name of the original server for the command to run correctly.

Rebuild the Team System Cube

After you configure connections and run the TFSAdminUtil RenameDT command, you must rebuild the Team System cube. The Team System cube supports SQL Server Reporting Services and contains data from the relational database of the data warehouse for Team System. For more information, see Understanding the Data Warehouse Architecture.

To rebuild the Team System cube

Delete the Version Control Cache

After you rebuild the Team System cube, you must delete the version control cache on the application-tier server and any proxy servers to force synchronization with the new data-tier server.

To delete the version control cache

  1. On the application-tier server, open the %ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Web Services\VersionControl directory.

  2. Delete the contents of the Data subdirectory, but do not delete the Data subdirectory itself.

    For more information, see How to: Delete the Version Control Cache on the Application-tier Server.

  3. Repeat this procedure on any server in your deployment that is running Team Foundation Server Proxy.

Update Service Accounts

If you used local accounts or system accounts (such as Network Service) for the service accounts on your single-server deployment, you must change these accounts. You cannot use local accounts in a dual-server deployment. You can use the same system accounts, but you must update the information so that the correct SID is associated with each account on the new application-tier and data-tier servers.

Note

The account names that you create on the new deployment must match the names from the original deployment. This requirement includes both user and service accounts.

To refresh service accounts

  1. On the server that is running Reporting Services, open Computer Manager, and start the following components if they are not already started:

    • ReportServer or ReportServer$InstanceName (application pool)

    • SQL Server Reporting Services (TFSINSTANCE)

  2. On the new application-tier server, open a Command Prompt window, and change directories to %ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Tools.

  3. At the command line, type the following command:

    TfsAdminUtil ChangeAccount OldDomainOrComputerName\OldTFSServiceAccount NewDomainOrComputerName\NewTFSServiceAccount NewPassword

    Note

    Ignore any warning that says that the service account does not exist or asserts that the account is not a member of the data warehouse role.

  4. At the command line, type the following command:

    TfsAdminUtil ChangeAccount/ra OldDomainOrComputerName\OldTFSReportingServiceAccount NewDomainOrComputerName\NewTFSReportingServiceAccount NewPassword

    Note

    Ignore any warning that says that the service account is not a member of the data warehouse role or that prompts you to add the account to the service accounts group.

Restart Services

To resume operations, you must restart the services on which Team Foundation depends.

To restart services

  • Log on to the appropriate server, open Computer Manager, and start the components in the following table in the order specified:

    Log on to the server that hosts this program

    Start this component

    SharePoint Products and Technologies

    • SharePoint Timer Service or Windows SharePoint Services Timer

    Application tier

    • Visual Studio Team Foundation Server Task Scheduler Service

    • Microsoft Team Foundation Server Application Pool

Refresh the Data Cache on Client Computers

To refresh the data cache on client computers

See Also

Tasks

How to: Move Your Deployment of Team Foundation Server from One Environment to Another

How to: Move Your Deployment of Team Foundation Server from One Hardware Configuration to Another

Concepts

Team Foundation Server Move Types

Application-Tier Server Requirements for Team Foundation

Data-Tier Server Requirements for Team Foundation

Managing Team Foundation Server in a Workgroup

Team Foundation Server Security Architecture

Other Resources

Managing Team Foundation Server in an Active Directory Domain

Choosing a Team Foundation Server Deployment Configuration

Change History

Date

History

Reason

July 2010

Added links to more information about how to move SharePoint Products and Technologies and its databases.

Customer feedback.