Visual Studio Team System
如何还原 Team Foundation Server 数据
本主题介绍如何还原 Team Foundation Server 数据层服务器的数据部分。例如,您可能希望将数据层工作服务器从损坏状态还原为已知的最后良好状态。此过程假定该服务器本身工作正常。如果必须将数据还原到其他数据层服务器,请参见如何:将 Team Foundation Server 数据还原到其他服务器。
注意 |
您可以假定必须同时还原团队项目门户页的数据库和网站。但是,Windows SharePoint Services 从数据库动态生成网站。因此,在还原数据库时,视为网站的团队项目部分也会同时还原。 |
要还原 Team Foundation Server 数据,必须执行以下过程:
· 停止在 Team Foundation 应用层服务器上运行的服务。
· 还原 Team Foundation 数据库。
· 生成数据仓库。
· 重新启动服务器。
· 强制客户端更新其缓存。
Team Foundation 数据层服务器包含一组 SQL Server 数据库,其中某些数据库提供数据驱动的团队项目门户站点。下表列出了 Team Foundation Server 数据库:
数据库 |
说明 |
||
ReportServer |
Reporting Services 数据库包含 Reporting Services 的报告和报告设置。 |
||
ReportServerTempDB |
Reporting Services 临时数据库用于暂时存放运行 Reporting Services 特定报告所用的信息。 |
||
STS_Config_TFS |
Windows SharePoint 配置数据库包含团队项目 Windows SharePoint 站点的 Team Foundation Server 设置和配置信息。
|
||
STS_Content_TFS |
SharePoint 内容数据库包含团队 SharePoint 站点中的实际内容。 |
||
TfsBuild |
生成数据库包含生成数据 (Team Foundation Build) 和已发布的测试结果。 |
||
TfsIntegration |
注册数据库包含有关项目、区域、迭代和其他注册数据的信息。该注册数据库还包含权限和组成员资格数据。 |
||
TfsVersionControl |
Team Foundation 源代码管理 数据库。 |
||
TFSWarehouse |
Analysis Services 数据库,其中包含用于生成 Reporting Services 所用的仓库的数据。 |
||
TfsWorkItemTracking |
Team Foundation 工作项跟踪 数据库。 |
||
TfsWorkItemTrackingAttachments |
Team Foundation 工作项跟踪 附件数据库。 |
||
TfsActivityLogging |
该历史记录数据库包含过去七 (7) 天内进行的所有 Team Foundation Server Web 服务请求的日志。
|
下面的过程假定您有一台数据层工作服务器并对其进行了备份。有关更多信息,请参见如何:备份 Team Foundation Server。
注意 |
如果系统部署在双服务器上,请确保每一步都登录到适当的服务器。所有与数据相关的步骤都必须在 Team Foundation 数据层服务器上完成。所有与服务相关的步骤(如启动和停止 IIS)都必须在 Team Foundation 应用层服务器上完成。Reporting Services 位于 Team Foundation 应用层服务器上。对于单服务器部署,Team Foundation 应用层服务器和 Team Foundation 数据层服务器都在同一台服务器上,因此无需分别登录到每一层。 |
过程
停止 Team Foundation 应用层服务器的服务
1. 在 Team Foundation 应用层服务器上,打开“Reporting Services 配置”工具,单击“服务器状态”,然后单击“停止”。
2. 在 Team Foundation 应用层服务器上,依次单击“开始”、“程序”、“管理工具”和“服务”。在资源管理器窗格中,右击“SQL Server Reporting Services”服务,然后对以下每个服务单击“停止”:
· SharePoint Timer
· TFSServerScheduler
3. 在 Team Foundation 应用层服务器上,依次单击“开始”、“程序”、“管理工具”和“Internet 信息服务(IIS)管理器”。在资源管理器窗格中,展开“应用程序池”,右击下列每个应用程序池组,然后单击“停止”:
· ReportServer
· StsAdminAppPool
· TFS AppPool
· TFSWSS
· TFSWSSADMIN
注意 |
如果不需要继续运行其他服务,通过打开“命令提示符”窗口并使用 IISReset 命令行工具的 /stop 命令,可以停止 Internet 信息服务 (IIS)。例如,使用命令 iisreset /stop。 |
还原数据
停止服务后,使用 SQL Server 2005 提供的还原工具,可以还原 Team Foundation Server 数据。
警告 |
必须使用备份从同一时间点还原所有数据库,否则这些数据库将损坏。 |
打开“还原数据库”对话框
1. 在 Team Foundation 数据层服务器上,依次单击“开始”、“所有程序”、“Microsoft SQL Server”和“SQL Server Management Studio”。
注意 |
有关如何还原数据库的更多信息,请参见实现 SQL Server 数据库还原方案。 |
2. 为“服务器类型”选择“数据库引擎”。为服务器选择适当的“服务器名称”和“身份验证”方案。根据 SQL Server 要求,提供有效的“用户名”和“密码”,然后单击“连接”。
3. 展开“数据库”节点,以显示构成 Team Foundation 数据层服务器的数据库列表。
对下列每个数据库执行“还原数据库”过程:
· ReportServer
· ReportServerTempDB
· STS_Config_TFS
· STS_Content_TFS
· TfsBuild
· TfsIntegration
· TfsVersionControl
· TfsWarehouse
· TfsWorkItemTracking
· TfsWorkItemTrackingAttachments
· TfsActivityLogging(可选)
还原数据库
1. 右击要还原的数据库,依次指向“任务”和“还原”,然后单击“数据库”。
2. 在“还原数据库”对话框中,在“还原源”区域中选择“源设备”,然后单击省略号按钮(“…”)。
3. 在“指定备份”对话框中,填写相应信息以指定备份文件的位置,然后单击“确定”。
应用的第一个备份必须是完全备份,随后按照创建顺序依次应用事务日志备份。
4. 在“选择要还原的备份集”区域中,选择要还原的备份集。
5. 从左侧导航窗格中,选择“选项”,然后选中“改写现有数据库”框。
6. 确保“将数据库文件还原为”区域中指定的路径与当前的数据库路径匹配。如果将数据库还原到不同的驱动器,这很重要。
7. 从“恢复状态”区域中选择适当的状态。
8. 如果不准备应用其他事务日志,请选择“数据库随时可用”。
如果准备应用其他事务日志,请选择“数据库尚不可用”。
9. 单击“确定”关闭“还原数据库”对话框并还原数据库。
10. 如果准备还原其他事务日志,请根据每个日志备份的创建顺序,从完整备份后创建的第一个日志备份开始,对它们执行该过程。有关更多信息,请参见 应用事务日志备份。
生成数据仓库
还原数据库后,必须生成数据仓库。数据仓库是 Analysis Services 从基础 TfsWarehouse 数据库填充的多维数据集。数据仓库提供 Reporting Services。
生成数据仓库
1. 在 Team Foundation 应用层服务器上,打开“命令提示符”窗口,然后找到 Team Foundation 的 Tools 目录。
例如,可以使用以下命令找到工具的默认目录。
cd Microsoft Visual Studio 2005 Team Foundation Server/Tools
2. 在“命令提示符”窗口中键入以下命令,生成数据仓库。
setupwarehouse -o -s 数据层服务器名称 -d TfsWarehouse -c warehouseschema.xml -ra TFS 报告帐户 -a TFS 服务帐户
3. 在 Team Foundation 数据层服务器上,依次单击“开始”、“所有程序”、“Microsoft SQL Server”和“SQL Server Management Studio”。
4. 为“服务器类型”选择“分析服务器”。为服务器选择适当的“服务器名称”和“身份验证”方案。根据 SQL Server 要求,提供有效的“用户名”和“密码”,然后单击“连接”。
5. 展开“数据库”节点,以查看构成 Team Foundation 数据层服务器的数据库列表。
6. 右击“TFSWarehouse”,然后单击“处理”。
7. 在“处理数据库”对话框中,单击“确定”以处理仓库。
注意 |
如果必须还原备份的其他数据,请按照数据还原的相应步骤进行操作。例如,您可能需要还原其他 SQL 数据库或 Windows SharePoint 站点。 |
重新启动服务器
还原数据后,只要不是还原到原始服务器之外的服务器,便可重新启动服务。
警告 |
如果准备将数据还原到不同的服务器,不要立即重新启动服务器。重新启动数据服务器之前,必须执行一些附加步骤。有关这些步骤的更多信息,请参见如何:将 Team Foundation Server 数据还原到其他服务器。 |
重新启动服务器
1. 在 Team Foundation 应用层服务器上,依次单击“开始”、“程序”、“管理工具”和“Internet 信息服务(IIS)管理器”。在资源管理器窗格中,展开“应用程序池”,右击下列每个应用程序池组,然后单击“启动”:
· ReportServer
· StsAdminAppPool
· TFS AppPool
· TFSWSS
· TFSWSSADMIN
注意 |
如果通过打开“命令提示符”窗口并使用 IISReset 命令行工具的 /stop 命令停止 Internet 信息服务 (IIS),则应使用 IISReset 命令行工具的 /start 命令重新启动 IIS。例如,使用命令 iisreset /start。 |
2. 在 Team Foundation 应用层服务器上,重新启动 Reporting Services。依次单击“开始”、“程序”、“Microsoft SQL Server 2005”、“配置工具”、“Reporting Services 配置”。“Reporting Services 配置”工具打开。在该配置工具中,单击“服务器状态”,然后单击“启动”。
3. 在 Team Foundation 应用层服务器上,依次单击“开始”、“程序”、“管理工具”和“服务”。在资源管理器窗格中,右击“SQL Server Reporting Services”服务,然后对以下每个服务单击“启动”:
· TFSServerScheduler
· SharePoint Timer
更新 Team Foundation Server 服务帐户的系统 ID (SID)
如果要在重新格式化计算机和重新安装 Team Foundation Server 之后将数据还原到 Team Foundation Server,则必须使用 TFSAdminUtil 命令行实用工具更新服务帐户的 SID。在重新格式化计算机和重新安装 Team Foundation Server 时,服务帐户的 SID 会发生更改,但是此更改不会传递到还原的 Team Foundation Server 数据。若要用服务帐户的新 SID 更新数据,必须删除该帐户的 SQL Server 登录对象,然后使用 TFSAdminUtil 命令行实用工具。
注意 |
如果没有重新格式化计算机也没有重新安装 Team Foundation Server,则无需执行这一过程。 |
更新 Team Foundation Server 服务帐户的 SID
1. 依次单击“开始”、“所有程序”、“Microsoft SQL Server”和“SQL Server Management Studio”。
2. 在“对象资源管理器”中,单击“安全”,然后单击“登录”。
3. 在“摘要”页上,右击服务帐户的登录名,然后单击“删除”。
4. 在“删除对象”对话框中,单击“确定”。
5. 出现提示“删除服务器登录名并不会删除与该登录名关联的数据库用户。若要完成此过程,请在每个数据库中删除用户。在第一次将架构所有权转移到新用户时,这可能是必需的。”时,单击“确定”。
6. 从“开始”菜单打开“命令提示符”窗口,将目录更改为 Team Foundation Tools 目录。例如:
cd 驱动器 :/Program Files/Microsoft Visual Studio 2005 Team Foundation Server/Tools
7. 在“命令提示符”窗口中键入以下命令,其中 OldTFSSVC 是重新格式化计算机之前的 Team Foundation Server 服务帐户的名称,NewTFSSVC 是要使用的 Team Foundation Server 服务帐户的名称,TFSPassword 是服务帐户的密码:
TFSAdminUtil ChangeAccount OldTFSSVC NewTFSSVC TFSPassword
提示 |
要避免可能出现的权限问题,请对还原的部署使用与以前部署相同的服务帐户。如果要使用不同于以前部署的帐户,请使用旧帐户执行此步骤,然后执行如何:将新帐户分配给 Team Foundation Server 服务中的步骤。 |
更新 Windows SharePoint Services 的 SID
如果要在重新格式化计算机和重新安装 Team Foundation Server 之后将数据还原到 Team Foundation Server,则创建项目的用户的 SID 会发生更改,但这些更改不能传递到还原的 Team Foundation Server 数据。要使用用户帐户的新 SID 更新数据,必须在 Windows SharePoint Services 中移除并重新添加这些用户帐户。
注意 |
如果没有重新格式化计算机也没有重新安装 Team Foundation Server,则无需执行这一过程。 |
在 Windows SharePoint Services 中更新用户帐户的 SID
1. 用属于“Local Administrators”组的成员的计算机帐户登录到 Team Foundation 应用层。
2. 在 Team Foundation 应用层上,单击“开始”,指向“管理工具”,然后单击“SharePoint 管理中心”。
3. 在“管理中心”中,单击“设置 SharePoint Administration 组”。
4. 在“设置 SharePoint Administration 组”中,键入不同于以前的 SharePoint Administration 组的其他组的组帐户名和域(如果需要)。单击“确定”。
5. 在“管理中心”中,单击“设置 SharePoint Administration 组”。
6. 在“设置 SharePoint Administration 组”中,键入要用于 SharePoint Administration 组的某个组的组帐户名和域(如果需要)。单击“确定”。
注意 |
只能向“SharePoint Administration”组添加一个域组或用户。不能添加本地组。然而,服务器上的“Local Administrators”组的成员同样可以对 Windows SharePoint Services 产品和技术执行管理任务。 |
7. 在“管理中心”中,单击“管理网站用户”。
8. 在“管理网站用户”的“站点的 URL”中,键入某一团队项目门户的 URL。
9. 在“管理网站用户”的“添加用户”中,添加一个新用户帐户作为管理员。请确保提供该新用户帐户的电子邮件地址。
10. 对每个团队项目门户重复步骤 8 和 9。
11. 在资源管理器窗格中,单击“Windows SharePoint Services”。
12. 在“管理中心”中,单击“管理网站集所有者”。
13. 在“管理网站集所有者”的“站点的 URL”中,键入某一团队项目门户的 URL,然后单击“查看”。站点集所有者的名称将显示在“网站集所有者”的“用户名”字段中。
14. 在“网站集所有者”中,为作为管理员添加到团队项目门户的用户键入域名和帐户名,然后单击“确定”。
15. 对每个团队项目门户重复步骤 13 和 14。
16. 各团队项目门户的信息更新完毕之后,关闭浏览器窗口。
刷新客户端计算机上的数据缓存
还原数据之后,必须刷新缓存才能使用还原的数据。通过使用 Team Foundation 应用层服务器上的 Web 服务,可以强制客户端在下次连接时重新初始化工作项跟踪缓存。
使客户端更新工作项的缓存数据
1. 在 Team Foundation 应用层服务器上,打开 Internet Explorer。
2. 在地址栏中,键入下面的地址以连接到“ClientService”Web 服务。
http:// 应用层服务器名称 :8080/WorkItemTracking/v1.0/ClientService.asmx
3. 选择“StampWorkitemCache”Web 方法,然后单击“调用”。
安全性
若要执行这些过程,您必须是 Team Foundation 数据层服务器和 Team Foundation 应用层服务器上“Administrators”安全组的成员、Windows SharePoint Services 站点“Administrator”安全组的成员以及 Team Foundation 数据层服务器上 SQL Server“Administrator”安全组的成员。
若要执行还原数据和服务的过程,您必须是“Local Administrators”组的成员。要执行本主题中介绍的任务,必须具有还原数据库以及停止和启动 IIS 的权限。若要清除客户端缓存,您必须是“Team Foundation Administrators”组的成员。有关更多信息,请参见 Team Foundation Server 权限。