从单服务器部署移至双服务器部署

通过从 Visual Studio Team Foundation Server 单服务器部署移动到双服务器部署,可以支持更多的项目或提高性能。 在双服务器部署中,两台或更多台物理服务器将承载构成 Team Foundation 的逻辑应用层和数据层的组件。 从单服务器部署移动到双服务器部署时,需要将原始服务器转换为应用层服务器,并在新的数据层服务器上安装和配置 SQL Server。 然后,可将 SharePoint 产品以及 SQL Server Reporting Services 重定向到新的数据层服务器,并将原始部署中的数据还原到新的数据层服务器。有关更多信息,请参见 Team Foundation Server 移动类型

本主题中介绍的过程假定您已在单服务器部署中配置了 SharePoint 产品和 SQL Server Reporting Services,并且您希望移动这些资源以及 Team Foundation 的数据库。 您的拓扑不必与此示例完全相同,但是您可能需要针对您没有的组件执行不同的步骤,或者跳过某些步骤。

在执行这种移动之前,应通读本主题并考虑打印所有必需的步骤。 还应考虑打印本主题所链接的那些主题以及包含有关其他必需步骤的信息的主题。

若要执行这种移动,必须按照列出的顺序完成以下各节中的过程:

  1. 停止 Team Foundation Server 使用的服务

  2. 备份数据库和加密密钥

  3. 安装系统必备组件和准备新硬件

  4. 还原数据库

  5. 为 Team Foundation Server 准备 SQL Server

  6. 将 Team Foundation Server 重定向到其数据库

  7. 更改已还原数据库的所有权

  8. 更新服务帐户

  9. 注册已移动数据库的位置

  10. 将 SharePoint 产品重定向到其数据库

  11. 修复与 SharePoint Web 应用程序的连接

  12. 配置 Reporting Services 和 Analysis Services

  13. 重新启动 Team Foundation Server 使用的服务

  14. 刷新客户端计算机上的数据缓存

所需权限

若要执行这些过程,您必须是下列组的成员或者具有下列权限:

  • 运行 Team Foundation 的管理控制台的服务器上**“Administrators”**安全组的成员

  • 承载数据库的 SQL Server 实例上**“SQL Server System Administrator”安全组的成员,或“SQL Server 执行备份和创建维护计划”权限已设置为“允许”**

  • 是 Team Foundation 数据库实例和仓库数据库的 SQL Server Analysis Services 实例的 sysadmin 安全组成员

  • 是 TFS_Warehouse 数据库的授权用户

  • 是 TFSEXECROLE 数据库角色的成员

  • 如果部署使用的是 SharePoint 产品,则必须是要还原 SharePoint 产品数据库的场中**“Farm Administrators”**组的成员

除这些权限外,对于运行 Windows Server 2008、Windows Server 2008 R2、Windows Vista 或 Windows 7 的计算机,您可能还需要满足以下要求:

  • 若要使用命令行过程,您可能需要通过以下操作使用提升的权限打开命令提示符窗口:单击**“开始”,右击“命令提示符”,再单击“以管理员身份运行”**。

  • 若要使用需要 Internet Explorer 的过程,您可能需要通过以下操作以管理员身份启动 Internet Explorer:单击**“开始”,单击“所有程序”,右击“Internet Explorer”,再单击“以管理员身份运行”**。

  • 若要访问 Reporting Services 的报表管理器、报表或网站,您可能需要将这些站点添加到 Internet Explorer 的受信任站点列表中,或者以管理员身份启动 Internet Explorer。

有关更多信息,请参见 Microsoft 网站

停止 Team Foundation Server 使用的服务

停止 Team Foundation Server 使用的服务

  1. 在运行 Team Foundation 应用层服务的服务器上,打开命令提示符窗口,将目录切换到 驱动器:\%ProgramFiles%\Microsoft Team Foundation Server 2010\Tools。

  2. 键入以下命令:

    TFSServiceControl quiesce

    有关更多信息,请参见 TFSServiceControl 命令

备份数据库和加密密钥

必须先备份 Team Foundation 的数据库,然后才能将部署从单服务器配置更改为双服务器配置。在此移动过程中,需要将这些数据库还原到新的数据层服务器。

重要说明重要事项

这些过程假定您的单服务器部署已配置为使用 SQL Server Reporting Services 和 SharePoint 产品,所以您还必须备份这些数据库,并将它们还原到新的硬件。 若要成功地通过还原移动到新硬件,您不仅必须备份所有 Team Foundation 数据库,还要备份下列数据库:

  • TFS_Warehouse

  • TFS_Analysis

  • SharePoint 产品的管理数据库 (SharePoint_AdminContent_ID)

  • WSS_Content

  • WSS_Config

备份数据库和加密密钥

  1. 备份 Team Foundation 的所有数据库。

    有关更多信息,请参见备份 Team Foundation Server

    提示

    您还必须备份要保留的 SharePoint 产品的所有自定义网站定义、自定义站点模板或自定义 Web 部件。 有关更多信息,请参见 Microsoft 网站上的“Backup and Restore Options for Windows SharePoint Services 2.0”(Windows SharePoint Services 2.0 的备份和还原选项),关于 Windows SharePoint Services 3.0,请参见 Microsoft 网站上的“Choose backup and recovery tools (Windows SharePoint Services)”(选择备份和恢复工具(Windows SharePoint Services))。 如果应用层上已安装 SharePoint 产品,并且您希望将 SharePoint 产品的数据库移动到新数据层,则请确保备份 SharePoint 产品的管理数据库。 (SharePoint_AdminContent_ID) 以及内容和配置数据库。

  2. 备份 Reporting Services 的加密密钥。 确保将此密钥存储在运行 Team Foundation Server 的服务器以外的其他计算机上的安全位置,并且新的应用层服务器可以访问该密钥。 还必须存储加密该密钥时使用的密码。

    有关更多信息,请参见备份 Reporting Services 加密密钥

安装系统必备组件和准备新硬件

备份完数据库之后,您必须在将成为该部署的新数据层服务器的计算机上安装必需的软件。 此软件包括下列组件:

  • 您的部署配置所支持的操作系统

  • Internet 信息服务 (IIS)

  • SQL Server

安装和配置必需软件

  • 在新硬件上安装和配置 Windows 和 SQL Server,并确保服务器及其软件可以正常运行。

    有关更多信息,可从 Microsoft 网站上的以下页面下载 Team Foundation 安装指南的最新版本:Installation Guide for Team Foundation(Team Foundation 安装指南)。 请遵循该指南的“安装系统必备组件”一节中对以下组件的说明:

    • Internet 信息服务 (IIS)

    • SQL Server

    提示

    您可选择更改某些软件的版本(如操作系统的版本),而不更改其他软件的版本。 更改版本可能会让还原过程变得复杂。

还原数据库

安装完系统必备软件之后,您可以使用 SQL Server 随附的还原工具,将 Team Foundation 的数据还原到新数据层服务器。

警告

必须将所有数据库还原到同一个时间点,否则这些数据库将不同步。 以下过程假定您使用标记的事务来保证同步。 有关更多信息,请参见备份 Team Foundation Server

打开“还原数据库”对话框

  1. 单击**“开始”,依次指向“所有程序”“Microsoft SQL Server 2008”,然后单击“SQL Server Management Studio”**。

    提示

    有关如何还原数据库的更多信息,请参见 Microsoft 网站上的以下页面:Implementing Restore Scenarios for SQL Server Databases(实现 SQL Server 数据库还原方案)。

    **“连接到服务器”**对话框打开。

  2. 在**“服务器类型”列表中单击“数据库引擎”**。

  3. 在**“服务器名称”中,单击或键入服务器和实例的名称,然后单击“连接”**。

    将打开 SQL Server Management Studio。

  4. 展开**“数据库”**节点,以显示构成 Team Foundation 数据层的数据库的列表。

为下列数据库完成下一个过程“还原数据库”:

Team Foundation Server 的数据库:

  • TFS_Configuration

    提示

    此数据库名称的 TFS_Configuration 之间可能包含其他字符。

  • TFS_CollectionName

    提示

    每个团队项目集合都有自己的数据库。 例如,如果有五个团队项目集合,则有五个数据库,每个数据库可根据团队项目集合名称进行区别。

  • TFS_Warehouse

    提示

    此数据库名称可能在 TFS_Warehouse 之间包含其他字符。

Reporting Services:

  • ReportServer

    提示

    如果使用了命名实例,此数据库将命名为“ReportServer$实例名称”。

  • ReportServerTempDB

    提示

    如果您使用的是命名实例,则此数据库将命名为“ReportServerTempDB$实例名称”。

SharePoint 产品:

  • SharePoint 产品的管理数据库 (WSS_AdminContent)

  • SharePoint 产品的配置数据库 (WSS_Config)

  • SharePoint 产品的内容数据库 (WSS_Content)

    提示

    根据所安装的 SharePoint 产品的版本以及安装人员是否对名称进行了自定义,包含 SharePoint 产品数据的数据库的名称会有所不同。

Analysis Services:

  • TFS_Analysis

有关这些数据库的更多信息,请参见了解备份 Team Foundation Server

还原数据库

  1. 右击要还原的数据库,依次指向**“任务”“还原”,然后单击“数据库”**。

    即会打开**“还原数据库”**对话框。

  2. 在**“还原的源”下方单击“源设备”,再单击省略号按钮(“…”**)。

  3. 在**“指定备份”对话框中,指定备份文件的位置,再单击“确定”**。

    必须按照创建顺序,首先还原完整备份,随后还原差异备份,然后还原事务日志备份。

  4. 在**“选择要还原的备份集”**下面,指定要还原的备份集。

  5. 如果您创建了标记的事务备份集,则请确保还原完整、差异和事务日志数据库。 有关标记的事务备份集的示例,请参见备份 Team Foundation Server

  6. 在**“选择页”窗格中,单击“选项”,然后选中“覆盖现有数据库”**复选框。

  7. 在**“将数据库文件还原为”**列表中,确认路径与当前数据库路径相匹配。

  8. 在**“恢复状态”**下面,执行下列任务之一:

    • 如果使用标记的事务,则单击**“不对数据库执行任何操作,不回滚未提交的事务。可以还原其他事务日志。(RESTORE WITH RECOVERY)”**。

    • 如果不使用标记的事务,并且不准备应用其他事务日志,请单击**“数据库随时可用”**。

    • 如果不使用标记的事务,但准备应用其他事务日志,请单击**“数据库尚不可用”**。

  9. 单击**“确定”**。

    将显示一个进度图标。

  10. 出现**“SQL Server Management Studio”对话框并确认成功还原后,单击“确定”返回到“对象资源管理器”**。

  11. 如果使用标记的事务,请右击刚还原的数据库,依次指向**“任务”“还原”,然后单击“事务日志”**。

    将打开**“还原事务日志”**窗口。

  12. 在**“常规”页上,确保已在“数据库”**列表中选择了相应数据库。

  13. 在**“选择要还原的事务日志”**下面,选中要还原的日志旁边的复选框。

  14. 在**“还原到”下面,单击“标记的事务”**。

    将打开**“选择标记的事务”**窗口。

  15. 在**“选择标记的事务以将还原停止在”列表中,选中要用于还原的事务标记旁边的复选框,然后单击“确定”**。

    重要说明重要事项

    为了成功还原数据,您必须对所有数据库使用具有相同日期和时间的相同事务标记。

  16. 在**“还原事务日志”窗口中,单击“确定”**。

    将显示一个进度图标。

  17. 出现**“SQL Server Management Studio”对话框并确认成功还原后,单击“确定”**。

    有关更多信息,请参见 Microsoft 网站上的以下页面:应用事务日志备份

提示

如果还原了 Reporting Services 的数据库,则还必须还原这些数据库的加密密钥。 有关更多信息,请参见 Microsoft 网站上的以下主题:还原加密密钥(Reporting Services 配置)

为 Team Foundation Server 准备 SQL Server

必须先使用 TFSConfig PrepSQL 命令使 SQL Server 做好承载 Team Foundation Server 数据库的准备,已还原数据库才能正常工作。 此命令在新的服务器或实例上创建 TFSEXECROLE 和 TFSADMINROLE 组,还将添加操作所需的系统消息。

为承载 Team Foundation Server 数据库而准备 SQL Server

  1. 登录服务器,打开命令提示符窗口,然后将目录切换到“驱动器:\%programfiles%\ Microsoft Team Foundation Server 2010\Tools”。

  2. 键入下面的命令,其中 ServerName 是承载 Team Foundation Server 数据库的 SQL Server 实例的名称,该名称采用 ServerName 或 ServerName\InstanceName 格式:

    **TFSConfig PrepSQL /SQLInstance:**ServerName

    提示

    如果您在部署中使用多个 SQL Server 实例,则必须对每个实例运行此命令。 有关更多信息,请参见 PrepSQL 命令

将 Team Foundation Server 重定向到其数据库

您必须将 Team Foundation Server 重定向到新数据层服务器上它的已移动数据库。

将 Team Foundation Server 重定向到其数据库

  1. 登录到 Team Foundation 的应用层服务器,打开命令提示符窗口,将目录切换到“驱动器:\% programfiles%\ Microsoft Team Foundation Server 2010\Tools”。

  2. 键入以下命令,其中 ServerName 是承载 Team Foundation Server 配置数据库的 SQL Server 实例的名称,TFS_Configuration 是 Team Foundation Server 的已还原配置数据库的名称,ServerName2 是承载 Analysis Services 的服务器的名称(如果与承载配置数据库的服务器不同)。 您可以采用 ServerName 或 ServerName\InstanceName 格式指定 ServerName。 如果不使用默认实例,则必须指定实例名称:

    **TFSConfig RemapDBs /DatabaseName:ServerName;**TFS_Configuration **/SQLInstances:**ServerName,ServerName2 **/AnalysisInstance:**ServerName2 **/AnalysisDatabaseName:**DatabaseName

    提示

    /SQLInstances 中,必须指定承载 Team Foundation Server 数据库的所有 SQL Server 实例(用逗号分隔)。如果您的部署未使用报告,则可以不使用 /AnalysisInstance 和 /AnalysisDatabaseName 选项。 有关更多信息,请参见 RemapDBs 命令

更改已还原数据库的所有权

必须使用 TFSConfig Accounts ResetOwner 命令将已还原数据库的数据库所有者登录更改为当前用户。 在执行下面一系列步骤之前,请确保使用正确的用户帐户登录。 例如,可以使用安装 Team Foundation Server 时使用的帐户,安装指南将该帐户称为 TFSSETUP。 至少,您必须确保该帐户是 Team Foundation Server 中**“Team Foundation Administrators”**组的成员,并且是 SQL Server 中 sysadmin 组的成员。

将已还原数据库的所有权更改为当前用户

  1. 打开命令提示符窗口,将目录切换到“驱动器:\%programfiles%\ Microsoft Team Foundation Server 2010\Tools”。

  2. 键入下面的命令,其中 ServerName(采用 ServerName 或 ServerName\InstanceName 格式)是承载 Team Foundation Server 配置数据库的 SQL Server 实例的名称,DatabaseName 是配置数据库的名称(默认为 TFS_Configuration):

    **TFSConfig Accounts /ResetOwner /SQLInstance:**ServerName **/DatabaseName:**DatabaseName

    如果指定配置数据库,则此命令将更改 Team Foundation Server 的所有数据库的所有权。

更新所有服务帐户

必须更新 Team Foundation Server 的服务帐户 (TFSService) 和数据源帐户 (TFSReports)。 即使这些帐户未进行更改,您也必须更新信息,以确保帐户的标识和格式适用于新的数据层服务器。

更新服务帐户

  1. 打开命令提示符窗口,将目录切换到“驱动器:\%programfiles%\ Microsoft Team Foundation Server 2010\Tools”。

  2. 在命令提示符处,通过键入下面的命令为 Team Foundation 添加服务帐户,其中 DatabaseName 是配置数据库的名称(默认为 TFS_Configuration):

    **TfsConfig Accounts /add /AccountType:ApplicationTier /account:**AccountName **/SQLInstance:**ServerName **/DatabaseName:**DatabaseName

  3. 在命令提示符下键入以下命令,以添加数据源帐户:

    **TfsConfig Accounts /add /AccountType:ReportingDataSource /account:**AccountName **/SQLInstance:**ServerName **/DatabaseName:**DatabaseName

    有关帐户命令行实用工具的更多信息,请参见Accounts 命令

注册已移动数据库的位置

在更新服务帐户信息之后,必须将应用层重定向到已还原数据库的新位置。

提示

如果您的部署中有一台以上应用层服务器,则必须针对每台服务器注册数据库的位置。

注册数据库的位置

  1. 在应用层服务器上,打开命令提示符窗口,将目录切换到“驱动器:\%programfiles%\ Microsoft Team Foundation Server 2010\Tools”。

  2. 在命令提示符处,键入下面的命令,其中 DatabaseName 是配置数据库的名称(默认为 TFS_Configuration):

    **TfsConfig registerDB /SQLInstance:**ServerName **/DatabaseName:**DatabaseName

    有关如何使用此命令的更多信息,请参见 RegisterDB 命令

将 SharePoint 产品重定向到其数据库的新位置

如果您的部署未使用 SharePoint 产品,或您不打算在从单服务器部署更改为双服务器部署的过程中更改 SharePoint 产品所用数据库的位置,可跳过此过程。

您必须将 SharePoint 产品重定向到其数据库在新数据层服务器上的位置。 此过程假定您未移动 SharePoint 产品的应用层,但是在将逻辑数据层移动到另一台服务器的过程中移动了其数据库。 此过程包括将团队项目的所有网站重定向到 Team Foundation 的新数据层服务器上的内容数据库。

将 SharePoint 产品重定向到其已移动的数据库

修复与 SharePoint Web 应用程序的连接

在移动到双服务器部署的过程中,您应对部署所使用的 SharePoint Web 应用程序连接进行修复。 这可确保正确进行所有设置。

修复与 SharePoint Web 应用程序的连接

  1. 打开 Team Foundation 的管理控制台。

  2. 在导航栏中,单击**“SharePoint Web 应用程序”**。

  3. 在**“SharePoint Web 应用程序”列表中,单击在移动到新数据层的过程中内容数据库的位置发生改变的 Web 应用程序,然后单击“修复连接”**。

  4. 在**“修复指向 SharePoint Web 应用程序的连接”中,单击“修复”**。

  5. 修复操作完成后,单击**“关闭”**。

  6. 对部署所使用的每个 SharePoint Web 应用程序重复执行步骤 3-5。

    有关如何在部署中配置 SharePoint Web 应用程序的更多信息,请参见向部署中添加 SharePoint Web 应用程序SharePoint 产品和 Team Foundation Server 之间的交互

配置 Reporting Services 和 Analysis Services

如果您在部署中不使用报告,则可跳过此过程。 如果您的部署使用报表服务器,并且您在将其他服务器添加为数据层服务器的过程中移动了报告和 Analysis Services 数据库,则必须将 Team Foundation Server 重定向到它自己的位置,重新启动仓库,然后手动为 Analysis Services 重新生成数据库。

重新配置 Reporting Services 和 Analysis Services

  1. 打开 Team Foundation 的管理控制台。

  2. 在导航栏中,单击**“报告”**。

  3. 在**“报告”中单击“编辑”**。

  4. 在**“脱机”对话框中,单击“确定”**。

    **“Reporting Services”**对话框随即打开。

  5. 选中**“使用报表服务器”**复选框。

  6. 单击**“仓库”选项卡,在“服务器”**中键入或单击在其中还原了报告数据库的服务器的名称。

  7. 在**“数据库”**中键入 Team Foundation Server 的仓库数据库的名称。

    默认情况下,此数据库的名称为 TFS_Warehouse。

  8. (可选)单击**“测试连接”**以确保您指定的数据库有效。

  9. 单击**“Analysis Services”**选项卡。

  10. 在**“服务器”**列表中,键入或单击在其中还原了 Analysis Services 数据库的服务器的名称。

  11. 在**“数据库”**中,键入 Team Foundation Server 的 Analysis Services 数据库的名称。

    默认情况下,此数据库的名称为 TFS_Analysis。

  12. 如果没有使用数据库的默认实例,请选中**“指定非默认实例”**复选框,然后键入或单击实例的名称。

  13. (可选)单击**“测试连接”**以确保您指定的数据库有效。

  14. 在**“用户名”“密码”**中,键入数据源帐户 (TFSReports) 的帐户名和密码(如果有)。

  15. 在**“报表”选项卡上,在“服务器”列表中,键入或单击报表服务器的名称,然后单击“填充 URL”**。

  16. 在**“用户名”“密码”**中,键入数据源帐户 (TFSReports) 的帐户名和密码(如果有)。

  17. 在**“默认路径”中,键入用于存储报表的相对路径,然后单击“确定”**。

  18. 在管理控制台中,单击**“启动作业”**重新启动报告。

  19. 打开命令提示符窗口,将目录切换到 %ProgramFiles%\Microsoft Team Foundation Server 2010\Tools。

  20. 键入下面的命令,为 Analysis Services 重新生成数据库:

    TFSConfig RebuildWarehouse /AnalysisServices /ReportingDataSourcePassword:Password

    Password 是 Reporting Services 的数据源帐户 (TFSReports) 的密码。

  21. 等到命令成功完成。

  22. 在报表服务器上,打开 Internet Explorer,并在地址栏中键入以下字符串,然后按 Enter:

    https://localhost:8080/tfs/TeamFoundation/Administration/v3.0/WarehouseControlService.asmx

    将打开**“ControllerService”**页。

  23. 单击**“GetWarehouseStatus”,然后单击“调用”**。

    重要说明重要事项

    该服务应返回值“空闲”,指示当前未处理多维数据集。 如果返回其他值,则请重复此步骤,直至返回“空闲”

  24. 返回到**“ControllerService”页,单击“运行”,再单击“调用”**。

    此步骤会启动处理过程。 如果成功启动控制器,则该服务返回**“True”,如果仓库仍在处理,则返回“False”**。

  25. 若要确定仓库是在何时处理完毕的,请返回到**“ControllerService”页,单击“GetWarehouseStatus”,再单击“调用”**。

    当**“GetWarehouseStatus”服务返回值“空闲”**时,处理已完成。

重新启动 Team Foundation Server 使用的服务

重新启动 Team Foundation Server 使用的服务

  1. 在运行 Team Foundation 应用层服务的服务器上,打开命令提示符窗口,将目录切换到 驱动器:\%ProgramFiles%\Microsoft Team Foundation Server 2010\Tools。

  2. 键入以下命令:

    TFSServiceControl unquiesce

    有关更多信息,请参见 TFSServiceControl 命令

刷新客户端计算机上的数据缓存

刷新客户端计算机上的数据缓存

  • 使用**“ClientService”**Web 服务来强制客户端在客户端下次连接到应用层服务器时更新跟踪工作项和版本控制的缓存。

    有关更多信息,请参见刷新客户端计算机上的数据缓存

请参见

概念

Team Foundation Server 体系结构

其他资源

Team Foundation Server 移动类型

将 Team Foundation Server 从一个环境移至另一个环境

将 Team Foundation Server 从一个硬件配置移到另一个硬件配置

将单服务器部署还原至新硬件