如何:将 Team Foundation Server 从一个硬件配置移动到另一个硬件配置

更新:2007 年 11 月

您可以通过执行基于还原的移动,将 Visual Studio Team System Team Foundation Server 的实例从一个硬件配置移至另一个硬件配置。对于 Team Foundation Server 来说,该移动类型不仅是最常见的移动,而且是最复杂的移动类型之一。开始基于还原的移动之前,应确保该类型的移动最适合您的组织目标。有关更多信息,请参见 Team Foundation Server 移动类型

重要说明:

计划部署移动时,应验证您预期进行的更改的范围和目的,并将它们与各种移动类型的方案进行比较。通过选择正确的移动类型,您不但可以将对团队工作效率造成的混淆和中断减至最低,还有助于确保部署的长期效率。

为了帮助准备基于还原的移动,您应该通读所有必需的步骤,并考虑打印本主题。您还应该阅读通过链接提供的信息,并确定哪些步骤将随着您的特定配置的不同而不同。例如,您的部署可能有来自 SQL Server 数据库的不同服务器上的 SQL Server Analysis Services。在这种情况下,您必须单独配置这些服务器。

若要执行基于还原的移动,必须完成以下各节中的过程:

  • 为基于还原的移动做准备

  • 在新的硬件上安装 Team Foundation Server

  • 在新服务器上备份 WSS_Config 数据库

  • 还原数据库

  • 还原团队项目网站

  • 还原并测试 SQL Report Server、Reporting Services 和默认报告

  • 重命名数据层服务器并激活应用层服务器

  • 重新生成 Team System 多维数据集

  • 删除版本控制缓存

  • 移动用户帐户和服务帐户

  • 重新启动服务

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

  • 后续步骤

必需的权限

若要完成上述这些过程,您必须是新旧服务器上 Administrators 组的成员以及 Team Foundation Administrators 组的成员。若要在 Active Directory 域中创建安全组,您必须在该域中具有适当的权限。

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

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

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

  • 若要编辑 web.config 文件,您可能需要通过以下操作以管理员身份启动文本编辑器:单击“开始”,单击“所有程序”,右击所需编辑器,再单击“以管理员身份运行”。

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

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

备份数据库和加密密钥

要移动 Team Foundation Server 的部署,必须先备份该服务器的数据库。在移动过程中,您将这些数据库还原到新的数据层服务器。

为基于还原的移动准备旧部署

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

    有关更多信息,请参见如何:备份 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))。

  2. 备份 Reporting Services 的加密密钥,并将其存储在正在运行 Team Foundation Server 的服务器以外的计算机上的安全位置。确保新部署可以访问该密钥,并存储用于加密该密钥的密码。

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

安装 Team Foundation Server 并准备新硬件

备份数据库之后,必须在要将部署移动至的计算机上安装 Team Foundation Server。

为基于还原的移动准备新服务器

  1. 在新硬件上安装 Team Foundation Server,并确保服务器正常运行。

    有关详细说明和系统必备信息,请参见 Microsoft 网站上的 Team Foundation 安装指南。

    重要说明:

    安装 Team Foundation Server 之前,必须在要为部署将数据还原到的计算机上安装 SQL Server。您所安装的 SQL Server 的版本必须与旧数据层服务器上运行的版本(包括 Service Pack 级别、排序规则设置和语言版本)完全一致。如果不完全一致,您将无法还原数据。

  2. 在运行 SQL Server Reporting Services 的服务器上,检索并保存 Reporting Services 安装 ID 的列表。

    1. 打开“命令提示符”窗口,将目录改为下面的目录:

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

    2. 运行 RSKeyMgmt -l

    3. 记录安装 ID,然后将列表打印出来或将其保存到一个安全的位置。

  3. 登录到相应服务器,打开“计算机管理器”,按指定的顺序停止下表中的服务和应用程序池:

    登录到承载此程序的服务器

    停止此组件

    SharePoint 产品和技术

    • SharePoint 定时服务或 Windows SharePoint Services 定时

    • 默认网站或团队网站

    应用层

    • Visual Studio Team Foundation Server 任务计划程序服务

    • Microsoft Team Foundation Server Application Pool

    SQL Server Reporting Services

    • SQL Server Reporting Services(TFS 实例)

    • ReportServer 或 ReportServer$实例名称

    • 默认网站或报表管理器网站

    重要说明:

    若要在基于还原的移动过程中移动用户帐户和服务帐户,Team Foundation Server 的新部署必须处于停止状态。如果在还原数据之后、移动用户帐户和服务帐户之前重新启动 Team Foundation Server,可能会导致作为迁移目标的用户在 TFSIntegration 数据库中被标记为已删除。如果组安全服务在与 Active Directory 同步时找不到用户的系统标识符 (SID),便会发生此问题。

    有关更多信息,请参见如何:停止和启动服务、应用程序池和网站

在新服务器上备份 WSS_Config 数据库

将数据还原到 Team Foundation Server 的新数据库之前,应在新服务器上备份 SharePoint 产品和技术的配置数据库 (WSS_Config)。如果尝试将数据库从旧服务器还原到新服务器,数据库在还原过程中可能会损坏或被覆盖。

备份 WSS_Config 数据库

  • 在新服务器上备份 SharePoint 产品和技术的配置数据库 (WSS_Config)。

    有关如何备份数据库的更多信息,请参见如何:备份 Team Foundation Server,和 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))。

还原数据库

停止服务后,可以使用 SQL Server 提供的工具来还原 Team Foundation Server 数据。

警告:

必须将所有数据库还原到同一个时间点。否则,数据库可能会损坏。

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

  1. 在新的数据层服务器上,单击“开始”,指向“所有程序”,指向“Microsoft SQL Server”,再单击“SQL Server Management Studio”。

    说明:

    有关如何还原数据库的更多信息,请参见 Microsoft 网站上的“实现 SQL Server 数据库还原方案”。

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

  3. 在“服务器名称”列表中,单击或键入适当的服务器。

  4. 在“身份验证”列表中,单击适当的方案。

  5. 在“用户名”中,键入有效帐户的用户名。

  6. 在“密码”中,键入该帐户的密码(如果 SQL Server 需要它的话),再单击“连接”。

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

重要说明:

对于基于还原的移动,不要从旧数据库将 SharePoint 产品和技术的配置数据库 (WSS_Config) 还原到新服务器。

为以下各数据库完成“还原各个数据库”过程:

  • ReportServer

    说明:

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

  • ReportServerTempDB

    说明:

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

  • SharePoint 产品和技术的内容数据库(STS_Content_TFS 或 WSS_Content)

    说明:

    包含 SharePoint 产品和技术数据的数据库的名称将随着两个因素而变化:一是所安装的 SharePoint 产品和技术的版本,二是安装人员是否对该名称进行了自定义。此外,如果 SharePoint 产品和技术安装在与 Team Foundation Server 不同的服务器上,则这些数据库可能不在数据层服务器上。如果这些数据库不存在,则必须从 Team Foundation Server 分别管理 SharePoint 产品和技术及其数据库的备份、还原和配置。但是,您应该同步数据库的维护操作以避免同步错误。

  • TfsBuild

  • TfsIntegration

  • TfsVersionControl

  • TfsWarehouse

  • TfsWorkItemTracking

  • TfsWorkItemTrackingAttachments

  • TfsActivityLogging(可选)

    说明:

    在还原过程中,必须将为自定义过程模板创建的任何自定义站点模板或 Web 部件上载到 SharePoint 产品和技术的数据库中。

还原各个数据库

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

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

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

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

    您应用的第一个备份必须是完整备份,随后按照创建顺序依次应用事务日志备份。

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

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

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

    如果要将数据库还原到另一个驱动器,此步骤非常重要。

  7. 在“恢复状态”下面,单击相应的状态。

  8. 执行以下步骤之一:

    • 如果不准备应用其他事务日志,请单击“数据库随时可用”。

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

  9. 单击“确定”关闭“还原数据库”对话框并还原数据库。

  10. 如果准备应用其他事务日志,请按照日志备份的创建顺序,对每组日志备份执行此过程。从完整备份后创建的第一个日志备份开始。

    有关更多信息,请参见 Microsoft 网站上的“应用事务日志备份”。

还原团队项目网站

必须将 SharePoint 产品和技术重定向到新的内容数据库。

还原团队项目网站

还原并测试 SQL Server Reporting Services 和默认报表

还原项目网站后,必须将 SQL Server Reporting Services 还原到新的应用层服务器。

在 SQL Server 2005 中还原并验证 Reporting Services

  1. 在运行 Reporting Services 的服务器上,打开“计算机管理器”,然后启动 ReportServer 或 ReportServer$实例名称 应用程序池。

  2. 单击“开始”,依次指向“所有程序”、“Microsoft SQL Server”、“配置工具”,然后单击“Reporting Services 配置”。

  3. 在资源管理器窗格中单击“数据库安装”。

  4. “数据库连接”窗格随即打开。

  5. 在“服务器名称”中,验证数据层服务器的名称是否正确,然后单击“连接”。

  6. 在“SQL Server 连接”对话框中单击“确定”。

  7. 在“数据库连接”窗格中单击“应用”。

  8. 如果您有双服务器部署,请执行以下步骤:

    1. 在资源管理器窗格中单击“Windows 服务标识”。

      “Windows 服务标识”页随即打开。

    2. 在“内置服务帐户”列表中单击“Local Service”。

      “应用”按钮随即变成可用。此时,请勿单击它。

    3. 在“内置服务帐户”列表中单击“Network Service”,再单击“应用”。

    4. 在“SQL Server 连接”对话框中单击“确定”。

  9. 打开“计算机管理器”,并启动 Reporting Services。

    说明:

    如果您在使用命名实例,该服务名将是“SQL Server Reporting Services (实例名称)”。

  10. 关闭“Reporting Services 配置”工具。

  11. 打开命令提示符窗口,将目录切换到 %ProgramFiles%\Microsoft SQL Server\90\Tools\binn。

  12. 键入下面的命令以列出 Reporting Services 的安装 ID:

    RSKeyMgmt -l

  13. 在列表中,查找对应于旧数据层服务器的安装 ID。

  14. 键入下面的命令以移除该安装 ID,其中 数据层实例 ID 对应于旧数据层服务器:

    RSKeyMgmt –r 数据层实例 ID

    说明:

    请勿移除对应于新数据层服务器的安装 ID。

  15. 在运行 Reporting Services 的服务器上,单击“开始”,依次指向“所有程序”、“Microsoft SQL Server”、“配置工具”,再单击“Reporting Services 配置”。

  16. 在资源管理器窗格中单击“加密密钥”。

  17. 在“加密密钥”页上单击“还原”。

    “加密密钥信息”页随即打开。

  18. 在“密码”中键入加密密钥文件的密码。

  19. 在“密钥文件”中键入或单击备份加密密钥(.snk 文件)的位置,再单击“确定”。

重命名数据层服务器并激活应用层服务器

在还原 Reporting Services 之后,必须使用 TfsAdminUtil 命令配置连接,并重命名数据层服务器。

重命名数据层服务器并使用新应用层服务器的名称更新集成数据库

  1. 登录到相应的服务器,打开“计算机管理器”,然后启动下表中的应用程序池和程序:

    登录到承载此程序的服务器

    启动此组件

    应用层

    • Microsoft Team Foundation Server Application Pool

    Reporting Services

    • ReportServer 或 ReportServer$实例名称(应用程序池)

    • SQL Server Reporting Services(TFS 实例)

  2. 打开命令提示窗口,将目录切换到 %ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Tools,然后键入以下命令:

    TfsAdminUtil ConfigureConnections /view

  3. 检查 /ReportsURI 和 /ReportServerUri 的设置。如果 Reporting Services 的服务器已经从上面显示的信息进行更改,则必须键入以下命令来重新配置这些连接:

    **TfsAdminUtil ConfigureConnections /ReportsUri:新报表/ReportServerUri:**新报表服务器

    说明:

    如果您使用的是命名实例,则必须将它指定为“报表”和“报表服务器”的值的一部分。不要删去或更改命名实例的名称。

    例如,如果 Reporting Services 以前一直在旧应用层服务器上运行,并且已移至新应用层服务器,则需要为 /ReportsUri 和 /ReportServerUri 提供新的统一资源标识符 (URI)。有关更多信息,请参见 ConfigureConnections 命令

  4. (可选)在重新配置连接之后,请键入以下命令检查所做的更改并确保它们已经生效:

    TfsAdminUtil ConfigureConnections /view

  5. 在服务 web.config 文件中,将旧数据层服务器的名称替换为新数据层服务器的名称,如下所示:

    1. 在新应用层服务器上,打开“命令提示符”窗口,将目录更改为 %ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Web Services\Services

    2. 在记事本或任何其他基于文本的编辑器中打开该目录中的 Web.config 文件。

    3. 在 appSettings 节点下,找到连接字符串元素,并将 Source 参数的值更改为旧数据层服务器的名称。例如,您必须修改以下元素:

      Application Name=TeamFoundation;Data Source=新 TeamFoundation 数据层服务器名称;Initial Catalog=TfsIntegration;Integrated Security=True;Persist Security Info=False

      更改之后,元素将类似下面的字符串:

      Application Name=TeamFoundation;Data Source=旧 TeamFoundation 数据层服务器名称;Initial Catalog=TfsIntegration;Integrated Security=True;Persist Security Info=False

    4. 保存 web.config 文件并关闭记事本。

      说明:

      要使 TfsAdminUtil RenameDT 命令正确运行,服务 Web.config 文件中的连接字符串必须引用旧数据层服务器的名称。

  6. 打开命令提示窗口,将目录切换到 %ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Tools,然后键入以下命令:

    TfsAdminUtil RenameDT NewTeamFoundationDataTierServerName

    重要说明:

    若要使 RenameDT 命令成功,上一步中的应用程序池和程序必须正在运行。此要求是 Visual Studio Team System 2008 Team Foundation Server 中新增的。

  7. 在该命令完成之后,停止下面的应用程序池和程序:

    • Microsoft Team Foundation Server Application Pool

    • ReportServer 或 ReportServer$实例名称

    • SQL Server Reporting Services(TFS 实例)

    说明:

    在运行 RenameDT 命令之后,必须停止它所需的服务,才能继续执行后面的步骤。

  8. 如果新应用层服务器与旧应用层服务器的名称不同,请使用新服务器的名称更新 TFSIntegration 数据库。然后,在服务界面中更新注册项,以便应用层指向新服务器。

    1. 在新应用层服务器上打开“命令提示符”窗口。

    2. 将目录更改为 %ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Tools。

    3. 在命令提示处,键入下列命令:

      TfsAdminUtil ActivateAT 新 Team Foundation 应用层服务器名称

重新生成 Team System 多维数据集

配置连接并重命名数据层服务器之后,必须重新生成 Team Foundation 的 Team System 多维数据集。Team System 多维数据集支持 SQL Server Reporting Services 且包含 Team System 的数据仓库的关系数据库中的数据。有关更多信息,请参见了解数据仓库体系结构

在新部署中重新生成 Team System 多维数据集

删除版本控制缓存

重新生成 Team System 多维数据集之后,必须在应用层服务器(和所有代理服务器)上删除版本控制缓存,以强制与新的数据层服务器同步。

删除版本控制缓存

  1. 在应用层服务器上,打开 %ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Web Services\VersionControl 目录。

  2. 删除 Data 子目录的内容,但不要删除 Data 子目录本身。

    有关更多信息,请参见如何:在应用层服务器上删除版本控制缓存

  3. 对部署中运行 Team Foundation Server Proxy 的任何服务器重复此过程。

移动用户帐户和服务帐户

如果您要将部署从一个工作组移至另一个工作组,则必须重新创建服务帐户、用户帐户和所有本地帐户。如果要将部署移至某个不信任旧部署所属的域的域,也必须重新创建这些帐户。

说明:

在新部署中创建的帐户名必须与旧部署中的帐户名匹配。此要求既包括用户帐户也包括服务帐户。在移动过程中,这些帐户名用于标识和更新 Team Foundation Server 的数据库记录。

移动用户帐户和服务帐户

  1. 在运行 Reporting Services 的服务器上,打开“计算机管理器”,然后启动以下组件:

    • ReportServer 或 ReportServer$实例名称(应用程序池)

    • SQL Server Reporting Services(TFS 实例)

  2. 在新的应用层服务器上,打开“命令提示符”窗口,将目录切换到 %ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Tools。

  3. 在命令行处,键入下列命令:

    TfsAdminUtil ChangeAccount 旧的域或计算机名\旧的 TFS 服务帐户 新的域或计算机名\新的 TFS 服务帐户 新密码

    说明:

    忽略任何指示服务帐户不存在或帐户不是数据仓库角色成员的警告。

  4. 在命令行处,键入下列命令:

    TfsAdminUtil ChangeAccount/ra 旧的域或计算机名\旧的 TFS Reporting Service 帐户 新的域或计算机名\新的 TFS Reporting Service 帐户 新密码

    说明:

    忽略任何指出服务帐户不是数据仓库角色成员的警告,或者提示您将帐户添加到服务帐户组的警告。

  5. 在旧的应用层服务器上,打开“命令提示符”窗口,将目录切换到 %ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Tools。

  6. 在命令行处,键入下列命令:

    TfsAdminUtil Sid

  7. 记录或打印所显示的用户列表。

    您可能必须在新应用层服务器上重新创建该用户列表,作为本地帐户或域帐户。

  8. 在新应用层服务器上,创建为响应旧应用层服务器上的本地帐户所需的任何本地帐户。如果旧应用层服务器在新应用层服务器的域所不信任的域中,请打开 Active Directory,并创建与旧应用层服务器上的域帐户相对应的域帐户。

    有关更多信息,请参见 Microsoft 网站上的“Creating user and group accounts”(创建用户和组帐户)。

  9. 在新的应用层服务器上,打开“命令提示符”窗口,将目录切换到 %ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Tools。

  10. 在命令行处,键入下列命令:

    TfsAdminUtil Sid /Change 旧域或计算机名称新域或计算机名称

    此命令将更新使用新域或工作组 SID 的应用层服务器上的所有用户帐户。如果您必须使用来自多个来源的信息(例如,来自另一个域与来自本地帐户)来更新用户帐户,您需要指定其他参数。您可以多次运行 TfsAdminUtil SID,以更改新域不信任的不同源域中用户帐户的 SID。有关更多信息,请参见 Sid 命令

    重要说明:

    重新启动 Team Foundation Server 时,可能需要等待长达一个小时的时间,“组安全服务”才会重新与 Active Directory 同步,以更新 TFSIntegration 数据库中的用户帐户信息。同步该信息之前,不要将新应用层服务器投入使用。

重新启动服务

若要继续操作,必须重新启动 Team Foundation 所依赖的服务。

重新启动服务

  • 登录到相应服务器,打开“计算机管理器”,并按指定的顺序启动下表中的组件:

    登录到承载此程序的服务器

    启动此组件

    SharePoint 产品和技术

    • SharePoint 定时服务或 Windows SharePoint Services 定时

    应用层

    • Visual Studio Team Foundation Server 任务计划程序服务

    • Microsoft Team Foundation Server Application Pool

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

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

  • 使用“ClientService”Web 服务来强制客户端在下次连接到应用层服务器时更新跟踪工作项的缓存。若要更新版本控制缓存,每个用户必须使用 tf workspaces 命令更新客户端计算机。

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

后续步骤

根据您的 Team Foundation 部署,可能需要使用新的设置更新 TeamBuild.proj 文件。此外,可能还需要将 SharePoint 产品和技术和 Reporting Services 中的用户和组迁移到新的应用层服务器。最后,必须重新创建所有绑定查询的报表或文档,因为您将无法通过使用旧部署中的查询连接到新部署。

使用新的域设置更新生成计算机

  1. 如果要在新部署中使用运行 Team Foundation Build 的现有计算机,请在该计算机上打开 TeamBuild.proj 文件,更新新计算机的设置并提供一个新的放置位置。

    有关更多信息,请参见管理 Team Foundation Build

  2. 使用新设置更新生成计算机后,请启动一个测试生成以验证新配置。

迁移 SharePoint 产品和技术以及 Reporting Services 中的用户和组

  • 移动部署之后,您可能需要手动将 SharePoint 产品和技术和 Reporting Services 中的用户帐户、组和角色成员资格跨域迁移到新部署中。Active Directory 与旧部署的信任关系将确定您必须迁移的信息量。SharePoint 产品和技术和 Reporting Services 都将显示每个网站或报表文件夹的用户、组及其角色成员资格。有关更多信息,请参见管理权限有关 Team Foundation Server 的信任和目录林的注意事项

在 Microsoft Project 或 Microsoft Excel 中创建报表

  • 移动部署之后,请重新创建连接到 Team Foundation Server 的所有 Microsoft Project 或 Microsoft Excel 文件。有关更多信息,请参见 Team Foundation Server 报告

请参见

任务

如何:将 Team Foundation Server 从一个环境移到另一个环境

如何:从单服务器部署移到双服务器部署

概念

Team Foundation Server 移动类型

Team Foundation 的应用层服务器要求

Team Foundation 的数据层服务器要求

在工作组中管理 Team Foundation Server

Team Foundation Server 安全结构

其他资源

管理 Active Directory 域中的 Team Foundation Server