如何:将 Team Foundation Server 数据还原到其他服务器

更新:2007 年 11 月

可以将 Team Foundation 数据从一台数据层服务器还原到另一台服务器,但保持应用层服务器不变。例如,在升级数据层服务器的硬件时,您可能希望移动数据层。而且,在原来的服务器意外发生故障时,您可能需要创建一台数据层服务器。此过程不同于将所部署的整个 Team Foundation Server(应用层和数据层)从一组硬件移动到另一组硬件。有关更多信息,请参见 Team Foundation Server 移动类型

必需的权限

若要执行这些过程,您必须是下列组的成员:

  • 数据层和应用层服务器上的“Administrators”组

  • “Team Foundation Administrators”组

  • “Windows SharePoint Services 站点”“管理员”组

  • 数据层服务器上的“SQL Server”“Administrator”组

有关更多信息,请参见 Team Foundation Server 权限

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

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

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

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

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

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

若要将 Team Foundation 数据还原到另一台数据层服务器,必须按照列出的顺序完成以下各节中的过程:

  1. 备份数据

  2. 在新硬件上安装和配置 SQL Server

  3. 还原数据库

  4. 为团队项目重定向网站

  5. 重新连接管理数据库和配置数据库

  6. 重定向并测试 SQL Server Reporting Services 和默认报表

  7. 将应用层服务器重定向到新的数据层服务器

  8. 重新生成 Team System 多维数据集

  9. 删除版本控制缓存

  10. 更新服务帐户

  11. 重新启动服务

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

备份数据

若要从最初部署的 Team Foundation Server 还原数据,必须拥有 SQL Server 数据库的一整套数据备份。如果数据经过加密,则还需要加密密钥和加密密码。

为 Team Foundation 备份数据

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

    说明:

    如果 SharePoint 产品和技术装在应用层上,而且您希望将 SharePoint 产品和技术数据库移动到要在其上还原 Team Foundation 数据库的数据层,请确保对 SharePoint 产品和技术管理数据库 (SharePoint_AdminContent_ID)、内容数据库和配置数据库进行备份。

在新硬件上安装和配置 SQL Server

若要还原 Team Foundation 数据,必须在作为 SQL Server 数据移动目标的计算机上安装 Team Foundation Server。您所安装的 SQL Server 的版本必须与原始数据层服务器上的版本(包括 Service Pack 级别、排序规则设置和语言版本)完全一致。如果不完全一致,您将无法还原数据。

为了还原 Team Foundation 数据而安装和准备 SQL Server

  1. 在新环境中安装 SQL Server,并确保其正常运行。

    有关更多信息,可以从 Microsoft 网站下载最新版本的 Team Foundation 安装指南。在该指南中,可以找到有关在双服务器部署中安装 SQL Server 的主题。您所安装的版本必须与最初安装的 Team Foundation Server 中使用的版本相同。

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

    说明:

    即使您是以管理凭据登录的,也必须使用提升的权限打开命令提示符窗口,才能在运行 Windows Server 2008 的服务器上执行此功能。若要使用提升的权限打开命令提示符窗口,请单击“开始”,右击“命令提示符”,然后单击“以管理员身份运行”。有关更多信息,请参见 Microsoft 网站

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

    TfsDB.exe install /server:"新 SQL Server 名称" /property:"TFS_SERVICE_ACCOUNT=TFS 服务帐户;TFS_REPORTING_ACCOUNT=TFS Reporting Services 帐户;LCID=LCID 编号;VSTF_AS_INSTANCE=Analysis Services 服务器名称;VSTF_AS_DATABASE=Team Foundation 数据仓库名称;VSTF_AS_ACCOUNT="

    • 新 SQL Server 名称 是刚安装了 SQL Server 并且打算在其上还原数据的服务器的名称。如果您使用的是命名实例,则不但要包括服务器名称,而且还要包括相应的实例名。

    • TFS 服务帐户 是采用域\帐户 或计算机\帐户 格式的 Team Foundation Server。如果您使用的是系统帐户,则必须使用系统\帐户 格式指定该帐户。例如,如果要使用 Network Service,则应将它指定为 NT Authority\Network Service

    • TFS Reporting Services 帐户 是采用域\帐户 或计算机\帐户 格式的 Reporting Services 数据源帐户。

    • LCID 编号 是您所用语言版本的 SQL Server 语言排序规则 ID 号。例如,英语的 LCID 为 1033

    • Analysis Services 服务器名称 是装有 SQL Server Analysis Services 的服务器的名称。默认情况下,Analysis Services 安装在您为新 SQL Server 名称 指定的服务器上。

    • Team Foundation 数据仓库名称 是 Team Foundation 的原始数据仓库的名称。默认情况下,此值为 TfsWarehouse

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

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

    停止此组件

    SharePoint 产品和技术

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

    应用层

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

    • Microsoft Team Foundation Server Application Pool

    Reporting Services

    • SQL Server Reporting Services (TFS 实例)(服务)

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

      说明:

      对于 SQL Server 2005,可以在 Internet 信息服务 (IIS) 中管理 ReportServer,但对于 SQL Server 2008 则不可以。

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

    重要说明:

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

还原数据库

停止服务后,可以使用随 SQL Server 一起提供的还原工具来还原 Team Foundation 数据。有关更多信息,请参见 Microsoft 网站上的“实现 SQL Server 数据库还原方案”(SQL Server 2005SQL Server 2008)。

警告:

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

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

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

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

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

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

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

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

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

针对以下列表中的每个数据库完成下一个过程(即“还原各个数据库”):

  • ReportServer

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

  • ReportServerTempDB

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

  • SharePoint 产品和技术的配置数据库(STS_Config_TFS 或 WSS_Config)

    重要说明:

    只有当 SharePoint 产品和技术安装在应用层服务器上,而且您未更改此位置时,才应当还原此数据库。如果您在另一台计算机上使用新安装的 SharePoint 产品和技术,或者 SharePoint 产品和技术安装在应用层中的另一台服务器上,则不应当将该数据库还原到新数据层。

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

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

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

    重要说明:

    只有当 SharePoint 产品和技术安装在应用层服务器上,而且您未更改此位置时,才应当还原此数据库。如果您在另一台计算机上使用新安装的 SharePoint 产品和技术,或者 SharePoint 产品和技术安装在应用层中的另一台服务器上,则不应当将该数据库还原到新数据层。

  • TfsBuild

  • TfsIntegration

  • TfsVersionControl

  • TfsWarehouse

  • TfsWorkItemTracking

  • TfsWorkItemTrackingAttachments

  • TfsActivityLogging(可选)

说明:

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

还原各个数据库

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

    重要说明:

    在大多数部署中,SQL Server 数据库和 SharePoint 产品和技术数据库都不会出现在“数据库”节点下面的数据库列表中。若要还原任何未出现的数据库,请右击“数据库”节点,单击“还原数据库”,并指定任何未出现的数据库。

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

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

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

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

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

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

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

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

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

  9. 执行以下步骤之一:

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

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

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

  11. 如果准备应用其他事务日志,请根据每组日志备份的创建顺序,从完整备份后创建的第一个日志备份开始,对这些日志备份执行该过程。

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

为团队项目重定向网站

必须将团队项目的任何网站重定向到新的 Team Foundation 数据层服务器上的内容数据库。如果要移动所有的 SharePoint 产品和技术数据库,则可以跳过此过程,前移到本主题稍后部分中的“重新连接管理数据库和配置数据库”过程。

重定向项目站点以使用新数据层服务器上的内容数据库

重新连接管理数据库和配置数据库

在您部署的 Team Foundation Server 中,如果原来的数据层服务器上还承载了 SharePoint 产品和技术数据库,而且您希望将这些数据库还原到新服务器,则必须执行以下过程。但是,如果 SharePoint 产品和技术安装在另一台服务器上,或者您希望原来的数据层继续充当 SharePoint 产品和技术的数据层,则不应当执行此过程。

重新连接 SharePoint 产品和技术的管理数据库和配置数据库

  1. 登录到承载 SharePoint 产品和技术的服务器,打开命令提示符窗口,然后将目录切换到 %PROGRAMFILES%\common files\microsoft shared\web server extensions\12\bin

  2. 键入以下命令:

    stsadm –o renameserver –oldservername 原来的数据层服务器的名称 -newserver 新数据层服务器的名称

    有关还原 SharePoint 产品和技术的更多信息,请参见 Microsoft 网站上的“White paper: Backing up, restoring, high availability, and disaster recovery for Office SharePoint Server farms”(白皮书:Office SharePoint Server 场的备份、还原、高可用性和灾难恢复)。

重定向并测试 SQL Server Reporting Services 和默认报表

在将 SharePoint 产品和技术重定向到新的内容数据库之后,必须重定向 Reporting Services,以使用新数据库。除非您执行此过程,否则,默认报表和自定义报表将对于任何团队项目不可用。

重定向 Reporting Services 以连接到新的数据层服务器

将应用层服务器重定向到新的数据层服务器

在重定向 Reporting Services 之后,必须使用 TfsAdminUtil 命令将应用层服务器重定向到新的数据层服务器。

将应用层服务器重定向到新的服务器资源

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

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

    启动此组件

    应用层

    • Microsoft Team Foundation Server Application Pool

    • 默认网站或团队网站

    Reporting Services

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

      说明:

      对于 SQL Server 2005,可以在 IIS 中以应用程序池的形式管理 ReportServer,但对于 SQL Server 2008 则不可以。

    • SQL Server Reporting Services (TFS 实例)

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

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

    TfsAdminUtil RenameDT newTeamFoundationDataTierServerName

    重要说明:

    若要使 RenameDT 命令成功,上一步中的应用程序池和程序必须正在运行。此要求是 Visual Studio Team System 2008 Team Foundation Server 中新增的。另外,服务 Web.config 文件中的连接字符串必须引用旧数据层服务器的名称。如果该字符串引用新服务器,则该命令将失败。您必须还原原始服务器的名称,才能使该命令正确运行。

重新生成 Team System 多维数据集

在重定向应用层服务器以使用新的数据层服务器之后,必须重新生成 Team System 多维数据集。Team System 多维数据集支持 SQL Server Reporting Services,其中包含 Team System 数据仓库的关系数据库中的数据。有关更多信息,请参见了解数据仓库体系结构

重新生成 Team System 多维数据集

删除版本控制缓存

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

删除版本控制缓存

  1. 在应用层服务器上,打开以下目录:

    驱动器:\Program Files\Microsoft Visual Studio 2008 Team Foundation Server\Web Services\VersionControl

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

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

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

更新服务帐户

必须更新要用作部署中服务帐户的任何系统帐户(如 Network Service)。可以使用相同的系统帐户,但是必须更新该信息,以便与新数据层服务器上的适当 SID 相关联。

说明:

为新部署创建的帐户名必须与原始部署中的帐户名匹配。

更新服务帐户

  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 ReportingService 帐户 新域或新计算机的名称\新 TFS Reporting Service 帐户 新密码

    说明:

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

重新启动服务

重新启动服务

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

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

    启动此组件

    SharePoint 产品和技术

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

    应用层

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

    • Microsoft Team Foundation Server Application Pool

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

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

请参见

任务

如何:备份 Team Foundation Server

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

其他资源

管理数据

管理 Team Foundation Server 数据层服务器

管理 Team Foundation Server