将TFS2008迁移至TFS2010(在包含域控制器的Windows 2003 Server上)

公司自2009年中开始使用TFS2008,用来进行项目管理跟踪和代码版本控制,由于测试工作的需要,围绕TFS所开发的部分测试工具无法在TFS2008上安装使用,为了更好的配合团队工作,决定将TFS升级到2010版本。

计划目标:将现有的TFS2008迁移到TFS2010。
开发部门有两台服务器,一台叫233,现有的TFS2008就安装在这台机器上。为了防止迁移升级过程出错,而导致已有数据丢失,计划决定将TFS2010安装到另一台232机器,并将旧的安装TFS2008机器(233)上的所有数据迁移到TFS2010机器上(232)。

步骤1.备份数据

备份以下数据库:【参考 如何:备份 Team Foundation Server

ReportServer
ReportServerTempDB
WSS_Config
WSS_Content

TfsBuild
TfsIntegration
TfsVersionControl
TfsWarehouse
TfsWorkItemTracking
TfsWorkItemTrackingAttachments
TfsActivityLogging


因为TFS2008安装使用的是2005数据库服务器,TFS2010需要安装SQL Server2008数据库服务器,所以先安装SQL Server2008数据库服务器,并将备份好的数据库还原到新安装的SQL Server2008数据库服务器上。

!!重要:由于以前的TFS2008是采用域模式安装的,且232为域控制器,在安装SQL Server2008的过程中,提示并警告我SQL Server2008不建议安装在域控制器上,列举了包括用户权限在内容的可能引起的问题,由于只有两台机器,一台想保留TFS2008的现场,以防止可能出现问题面丢失数据。不得已,只得选择这个机器,这也成为我后来痛苦、折腾、兴奋(问题解决)的根源了。

步骤2.安装TFS2010

在232机器上安装TFS2010。232机器上安装有VS2008,安装过程中提示说“早期的VS2008版本要安装SP1之后才能继续安装”,无奈,卸之(在TFS2010安装包里有VS90SP1补丁,这是我后来寻找SharePoint的时候才偶然看到的)。继续安装TFS2010。过程顺利。

步骤3.升级TFS

在安装好TFS2010之后,打开“Team Foundation 管理控制台”选择“升级”,启动向导。这一部分,网上有不少同学已经做了,可参考的经验比较多,就是在选择的时候要注意,如果安装的数据库不是默认数据库实例,在每一步中要注意填写正确的数据库实例。

在升级的过程中,我发现232机器没有安装SharePoint Services,无奈,下之,安装。我安装的是3.0版本(77.8M),然后启动升级向导,步骤较多,出错的机率也比较高。下面就列举下我升级过程中出现的错误:

3.1.应用层错误

看到这个之后,有点纳闷了,网上看到别人的安装经验中,都没有这个错误,不过,仔细一看原来是FrongPage扩展错误。删之。

3.2.报表错误

提示未能访问“http://…….asmx”服务,可以参考这个

 

解决的方法是:
编辑以下文件:
C:/Program Files/Microsoft SQL Server/MSRS10.<ServerInstance>/Reporting Services/ReportServer/rsreportserver.config
修改
<Add Key="SecureConnectionLevel" Value="2"/>  (将值修改为0)

 

3.3.SharePoint警告

TF255361:未能在指定的SharePoint Web应用程序上找到一个或多个团队项目门户网站……

纠结的地方到了,项目门户网站的数据我已经备份到新的数据库服务器上了,可却找不到。网站里有不少内容,包括一些比较重要的文档。而且,最怕的是现有项目无法再建立门户网站,这样对项目维护很不利,因此,当时是想办法把网站建立起来,要将SharePoint警告消除。

在网上找呀找,找呀找,能找到的升级迁移方案中,都是不包含SharePoint的,难道是我们的用SharePoint的错?不过,在寻找过程中,也发现了一些SharePoint网站的备份还原方法,包括同机和多个机器之间的备份迁移。大喜!决定通过SharePoint管理中心,把当前的门户网站全都备份了,还原到232机器上。备份过程顺利(我只备份了其中的涉及WSS_Content的内容)。不过,还原过程不顺利,出现了各种各样的错误,最后都归结为一个错误:

对象 WSS_Content1 (原名称: WSS_Content) 的 OnRestore 事件失败。有关详细信息,请参阅备份目录中的错误日志。
SqlException: 在数据库 'master' 中拒绝了 CREATE DATABASE 权限。其中我使用的是 域\administrator用户。

不管是权限分配、文件读写权限都已经分配了,就是建立不起,administrator是管理员权限,出现这个问题真是难办呀,在CSDN上也找到类似的一个帖子,也是没能解决,有的说是SQL Server2008在域控制器下安装的问题,不可解。认了,安装的时候已经提示了。

3.4.开始升级计划执行

执行结果很顺利,中间没有再弹出“X”。安装完成后,以前的旧项目也已经移植过来了,包括源代码和工作区以及映射关系,也就是说,客户端只需要更改下TFS服务器的地址就可以了,其它的都不用更改。算是比较完美了。

步骤4:再次建立并关联门户网站

虽然无法将旧的门户网站备份迁移过程,不过可以在232上的SharePoint服务上建立新的网站集,并且可以重新将项目与此网站绑定(项目上点击右键->团队项目设置->门户网站设置<要有相应权限才可以>),将其设置为当前门户网站。如果使用同样的网站名称(与项目名称一致),那么绑定后,其和旧的门户网站一致,终端用户也不会感觉到其它不一样的地方。当然,TFS2010的新变化,包括WebAccess等,都是比较方便的,特别是工作项目和管理非常方便。


总结

整个升级过程,花费了几乎两天的时间。仔细分析下,一是由于SQL Server2008数据库服务器的安装、数据备份与还原,二则是由于安装机器是域控制器,中间出现了很多意想不到的地方。特别是在SharePoint网站备份上,尝试了不少方法,包括更改用户、使用旧(233机器上)的SharePoint Services(这就包括安装SharePoint Services扩展)、将SQL Server2008安装到233上(逃离域控制器的魔咒),甚至想把232上的一切推翻,在233机器上实现,等等。整个过程确实是有点焦虑。

不过,迁移完成后,再回头想想,一个问题,两天时间也算是解决了。值得!就事写下了,如果以后大家在升级过程中可以参考一下微笑

posted @ 2012-02-10 22:44  Ritchie(乞戈)  阅读(2488)  评论(2编辑  收藏  举报