通过数据库备份还原 TFS 到新服务器

适用对象:

配置管理员

作者:吴慧锋



1. 安装TFS并配置域服务器

1) 安装一台独立的TFS

第一步是安装一台独立的TFS单服务器服务端, 这个过程可以参照安装光盘中详细的安装手册Team Foundation 安装指南》进行, 这里需要安装单服务器的TFS.

2) 配置域服务器

在域服务器上为TFS建立一个OU两个用户, 如下:

OU: TFS;

User: TFSSERVICE, TFSSETUP.

TFSERVICE: 该账户功是用来运行TFS相关服务的账户,其中集成了Reporting Service的服务权限,如果需要也可以再建立一个REPORTSERVER的账户来作为Reporting Service的服务账户,其配置方法和TFSSERVICE相同;

TFSSETUP: 改账户是一个高权限的账户,TFS服务器加入域时就需要用这个账户登录并进行相关的所有迁移操作.

clip_image002[1]

配置TFSSERVICE用户的权限如下:

clip_image004[1]

接着到域服务器上, 在安全策略中将TFSSERVICE用户加入到”作为服务登陆”和”允许本地登陆”帐户列表中:

clip_image006[1]

clip_image008[1]

然后确保域服务器和TFS服务器在同一网段, 他们互相可以Ping通:

clip_image010[1]

3) 将TFS服务器加入到域

使用TFSSETUP帐户将TFS服务器加入域中:

clip_image012[1]

然后先不要重启, 先将域中的TFSSETUP用户加入到本地管理员组中:

clip_image014[1]

完成后重新启动计算机并用刚才的TFSSETUP域帐户登陆计算机:

clip_image016[1]

2. 还原TFS服务器

1) 准备原始 Team Foundation Server

使用我们提供的”数据库备份文件”以及Reporting Services 秘钥.

a) 在TFS服务器上,检索并保存 Reporting Service 安装 ID 的列表。

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

驱动器: \%ProgramFiles%\Microsoft SQL Server\90\Tools\binn\

运行: RSKeyMgmt -l

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

clip_image018[1]

b) 停止所有相关服务

依次单击“开始”、“管理工具”和“服务”,选择“Visual Studio Team Foundation Server Task Scheduler”服务,然后单击“停止

选择“Windows SharePoint Services Timer”,然后单击“停止”。

clip_image020[1]

clip_image022[1]

c) 停止IIS中相关应用程序池

依次单击“开始”、“管理工具”和“Internet 信息服务(IIS)管理器”。

在资源管理器窗格中,展开“应用程序池”节点,右击“Microsoft Team Foundation Server Application Pool”,再单击“停止”。

clip_image024[1]

在资源管理器窗格中,在“应用程序池”节点下,右击“ReportServer”,然后单击“停止”。

clip_image026[1]

d) 停止Reporting Service

依次单击“开始”、“程序”、“Microsoft SQL Server 2005”、“配置工具”和“Reporting Services 配置”。

clip_image028[1]

在“选择报表服务器安装实例”中,确保计算机名称是 Team Foundation 应用层服务器的名称,并且实例名称是 MSSQLSERVER,然后单击“连接”。

在资源管理器窗格中单击“服务器状态”。

在“报表服务器状态”窗格中的“实例属性”中单击“停止”。

clip_image030[1]

2) 还原数据库

a) 准备还原所有数据库

Team Foundation服务器上依次单击“开始”、“所有程序”、“Microsoft SQL Server”和“SQL Server Management Studio”。

为“服务器类型”选择“数据库引擎”。

为服务器选择合适的“服务器名”和“身份验证”方案,如果您的 SQL Server 需要,则提供有效的“用户名”和“密码”,然后单击“连接”。

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

clip_image032[1]

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

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

ReportServerTempDB

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

TfsBuild

TfsIntegration

TfsVersionControl

TfsWarehouse

TfsWorkItemTracking

TfsWorkItemTrackingAttachments

TfsActivityLogging(可选)

b) 还原数据库

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

clip_image034[1]

在“还原数据库”对话框中,在“还原源”区域中选择“源设备”,然后单击省略号按钮(“…”)。

clip_image036[1]

在“指定备份”对话框中,填写相应信息以指定备份文件的位置,然后单击“确定”。

clip_image038[1]

在“选择要还原的备份集”区域中,选择要还原的备份集。

clip_image040[1]

从左侧导航窗格中,选择“选项”,然后选中“覆盖现有数据库”框。

clip_image042[1]

确保“将数据库文件还原为”区域中指定的路径与当前的数据库路径匹配。

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

clip_image044[1]

还原这10个数据库.

注意: TfsWarehouse和TfsWorkItemTracking两个数据库选择第一个完整备份:

clip_image046[1]

clip_image048[1]

c) 重命名并激活Team Foundation 数据层服务器

还原 Team Foundation Server 数据库后,必须使用 TfsAdminUtil 命令行工具重命名TFS数据层。

从“命令提示符”窗口中,将目录更改为“驱动器:\%ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Tools”

clip_image050[1]

TfsAdminUtil RenameDT 新TFS服务器名

clip_image052[1]

clip_image054[1]

d) 重命名并激活Team Foundation 应用层服务器

在新的 Team Foundation 服务器上打开“命令提示符”窗口。

将目录更改为“驱动器:\%ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Tools”

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

TfsAdminUtil ActivateAT 新TFS服务器名称

clip_image056[1]

e) 删除版本控制缓存

在还原数据库并重新命名数据层后,必须删除版本控制的数据缓存。这个步骤可以确保在还原数据库后,应用层服务器上的版本控制缓存与数据层服务器重新同步。如果不执行此步骤,版本控制客户端可能会有一些文件未与最新的更改保持同步。

删除版本控制缓存

在新的应用层服务器上,打开 Windows 资源管理器,浏览到以下目录:

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

删除 Data 文件夹。

clip_image058[1]

f) 移动TFS服务帐户

在新 Team Foundation Server 上,打开一个“命令提示符”窗口,并将目录更改为“驱动器: \%ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Tools”

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

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

这里大家使用如下命令:

TfsAdminUtil ChangeAccount E2K3TEST\TFSSERVICE 您的域名\TFSSERVICE 密码

clip_image060[1]

g) 移动Reporting Service服务帐户

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

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

这里大家使用如下命令:

TfsAdminUtil ChangeAccount /ra E2K3TEST\TFSSERVICE 您的域名\TFSSERVICE 密码

h) 还原团队项目网站

在运行 Windows SharePoint Services 3.0 的服务器上依次单击“开始”、“管理工具”和“SharePoint 3.0 管理中心”。

在“管理中心”页上的“SharePoint Web 应用程序管理”部分中单击“内容数据库”。

在“管理内容数据库”页上单击“WSS_Content”。

在“管理内容数据库设置”页上选中“删除内容数据库”复选框,然后单击“确定”。

在“管理内容数据库”页上单击“添加内容数据库”。

在“添加内容数据库”页上,在“数据库信息”中单击“指定数据库服务器设置”,并在“数据库名称”中键入 WSS_Content。在“数据库容量设置”中,在“生成警告事件之前最多允许的网站数”中键入 9000,并在“此数据库中最多允许创建的网站数”中键入 15000,然后单击“确定”。

依次单击“开始”、“管理工具”、“服务”、“Windows SharePoint Services Timer”点击“启动”。

i) 还原Reporting Services

依次单击“开始”、“管理工具”和“Internet 信息服务(IIS)管理器”。

在资源管理器窗格中,在“应用程序池”节点下,右击“ReportServer”,然后单击“启动”。

在运行 SQL Server Reporting Services 的服务器上,依次单击“开始”、“程序”、“Microsoft SQL Server 2005”、“配置工具”和“Reporting Services 配置”。

在“选择报表服务器安装实例”中,确保计算机名称是新 Team Foundation 服务器的名称,并且实例名称是 MSSQLSERVER,然后单击“连接”。

在资源管理器窗格中单击“服务器状态”。

在“报表服务器状态”窗格中,在“实例属性”中单击“启动”。

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

在“数据库连接”窗格中,确保“服务器名称”中的 Team Foundation服务器的名称正确,然后单击“连接”。

在“SQL Server 连接”对话框上单击“确定”。

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

在“SQL Server 连接”对话框上单击“确定”。

通过执行下列操作之一,还原加密密钥并移除以前的报表服务器实例:

在“Reporting Services 配置”的资源管理器窗格中单击“加密密钥”。

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

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

在“加密密钥信息”页上,在“密码”中键入加密密钥文件的密码,在“密钥文件”中键入或选择备份加密密钥 .snk 文件的位置,然后单击“确定”。

“Reporting Services 配置”的资源管理器窗格中单击“初始化”。

在“初始化”页上选择与旧 Team Foundation 数据层服务器的名称相对应的实例 ID,单击“移除”,再单击“确定”。

打开 Internet Explorer,连接到 http://localhost/reports。在“内容”中单击“TfsReportDS”。

在“连接字符串”中,使用新 Team Foundation 数据层服务器的名称更新“数据源”参数。在“连接方式”中,选择“安全存储在报表服务器中的凭据”,更新用户名和密码为新的 Reporting Services 服务帐户,然后单击“应用”。

在“SQL Server Reporting Services”下单击“主文件夹”。

在“内容”中单击“TfsOlapReportsDS”。

在“连接字符串”中,使用新 Team Foundation 数据层服务器的名称更新“数据源”参数。在“连接方式”中,选择“安全存储在报表服务器中的凭据”,更新用户名和密码为新的 Reporting Services 服务帐户,然后单击“应用”。

j) 还原数据仓库

打开一个“命令提示符”窗口,将目录更改为“驱动器:\%ProgramFiles%\ Microsoft Visual Studio 2008 Team Foundation Server\Tools”。键入以下命令,其中,“新数据层服务器名称”是新 Team Foundation 服务器的名称,“新 Team Foundation 数据仓库名称”是数据仓库的名称,“TFS Report Service 帐户”是 Reporting Services 服务帐户的名称,“TFS 服务帐户”是 Team Foundation Server 服务帐户的名称:

SetupWarehouse.exe -o -s 新数据层服务器名称 -d 新 Team Foundation 数据仓库名称 -c warehouseschema.xml -ra TFS Report Service 帐户 -a TFS 服务帐户

这里可以使用下面类似命令:

SetupWarehouse.exe -o -s [TFS服务器名称] -d TfsWarehouse -c warehouseschema.xml -ra 域名\TFSSERVICE –a 域名\TFSSERVICE

在 Team Foundation 数据层服务器上依次单击“开始”、“程序”、“Microsoft SQL Server 2005”和“SQL Server Management Studio”。

在“连接到服务器”对话框的“服务器类型”中,选择“数据库引擎”,验证服务器名称和身份验证值是否正确,然后单击“连接”。

在对象资源管理器窗格中,依次展开“数据库”和“TFSWarehouse”,右击“dbo._WarehouseConfig”,然后单击“属性”。

在“表属性 - _WarehouseConfig”的“选择页”中,单击“权限”。

在“用户或角色”中单击“添加”。

在“选择用户或角色”中,添加 Reporting Services 服务帐户: 域名\TFSSERVICE,然后单击“确定”。

在“表属性 - _WarehouseConfig”中单击“确定”。

在对象资源管理器窗格中单击“连接”,然后选择“Analysis Services”。

在“连接到服务器”对话框中,确保服务器名和身份验证值正确,然后单击“连接”。

在对象资源管理器窗格中,展开“数据库”,右击“TFSWarehouse”,然后单击“处理”。

在“处理数据库 - TFSWarehouse”中单击“确定”。

在 Team Foundation 应用层服务器上,将目录更改为 http://localhost/reports

在“内容”中单击任一项目,再单击该项目中任何一个默认报表,然后验证其是否正确显示。

k) 重新启动服务并验证操作

在新 Team Foundation 应用层服务器上依次单击“开始”、“管理工具”和“Internet 信息服务(IIS)管理器”。

在资源管理器窗格中,展开“应用程序池”节点,右击“Microsoft Team Foundation Server Application Pool”,再单击“启动”。

在新的 Team Foundation 应用层服务器上依次单击“开始”、“管理工具”和“服务”,选择“Visual Studio Team Foundation Server 任务计划程序”服务,然后单击“启动”(如果该服务尚未启动)。单击“SharePoint 定时服务”,再单击“启动”。

在 Team Foundation 数据层服务器上,连接到 http://localhost:8080/WorkItemTracking/v1.0/ClientService.asmx

在“ClientService”中单击“StampWorkitemCache”。

在“StampWorkitemCache”中单击“调用”。(该方法没有返回数据)

3. 客户机上.连接TFS

在运行 Team Foundation 客户端、连接到此应用层服务器并且使用版本控制的每台计算机上执行以下步骤:

打开“命令提示符”窗口并将当前目录更改为“驱动器:\Program Files\Microsoft Visual Studio 9\Common7\IDE”

作为一种备选方法,可以打开“Visual Studio 2008 命令提示”。

在命令提示符处键入以下命令,其中服务器为应用层服务器的名称:

tf workspaces /s: 服务器

clip_image062[1]

posted @ 2008-10-14 10:57  WilsonWu  阅读(7793)  评论(10编辑  收藏  举报