zoukankan      html  css  js  c++  java
  • TFS2010迁移(转移到新服务器)简单步骤

    公司给我新换了一台开发服务器,破旧的原始服务器就不打算用了。装好了各种开发环境和数据库后,从昨天开始就研究了一下TFS迁移的问题。经历了一整天的各式各样的错误之后,今天上午终于完成了迁移。

            网上相关的资料太少了,能够给出的步骤也不够详细,基本上一半参照网上的资料,一半自己捅咕。

            现在说一下我的步骤(错误的步骤暂时不计,下边会说到)。

            首先,在新环境下安装SQL Server 2008(全部功能),然后配置报表服务器:服务账户为管理员用户,管理员密码,应用;web服务URL默认,应用;数据库更改,创建新的报表服务器数据库(如果源服务器也配置过报表服务器,那么就把原服务器上的ReportServer,ReportServerTempDB这两个库分离出来,附加到新服务器上,然后选择现有报表服务器数据库),一路默认下一步,最后全部完成的时候,报表服务器配置完毕。

            第二步,配置新服务器的TFS2010(高级配置向导),详细配置方法百度有的是。这里要注意一个问题:如果还想使用原来的项目集合,那么在“项目集合”这一步的时候,可以勾掉“创建新的团队项目集合”这一选项。其他的参照网上的说明。代理配置和生成配置都要配。如果为了方便,所有的账户均可以使用服务器管理员帐号和密码。

            第三歩,打开原服务器上的Team Foundation 管理控制台,选择应用层的“团队项目集合”,然后在常规里边分离集合,忽略所有警告。分离完毕后去SQL Server Management Studio里边分离团队项目集合对应的数据库。这个数据库一般是“Tfs_团队项目集合名称”这样的命名规范,只分离这个库就可以了。

            第四歩,复制这个数据库到新服务器上,附加。然后分别执行以下命令(来自网络):

    tfsservicecontrol quiesce    (这个是停止TFS服务)

    TFSConfig PrepSQL /SQLInstance:你的SQL Server实例名     (这一步是准备实例)

    TFSConfig Accounts /ResetOwner /SQLInstance:你的SQL Server实例名 /DatabaseName:TFS_Configuration    (这一步是配置数据库所有者)

    TfsConfig Accounts /add /AccountType:ApplicationTier /account:"账户名称,我用的管理员administrator" /SQLInstance:你的SQL Server实例名 /DatabaseName:TFS_Configuration                (这一步是向数据库中添加账户)

    TfsConfig registerDB /SQLInstance:你的SQL Server实例名  /DatabaseName:TFS_Configuration   (这一步是验证并更新数据库,执行完毕后,自动开启TFS服务)

            第五步,打开新服务器上的Team Foundation 管理控制台,选择应用层的“团队项目集合”,然后附加集合,在弹出窗口中点击“列出可用数据库”,就会发现下边列表中已经有了刚刚转移过来的集合数据库,一路默认下一步,验证完毕后执行就可以了,可能会出现几个警告,大致就是报表服务器的敬告,可以暂时忽略。

            第六歩,打开新服务器上的Team Foundation 管理控制台,选择应用层,右侧会有一些信息,点击“应用层摘要”的“重新应用账户”,走条,完毕,结束。“管理控制台用户”右侧的“重新应用”,也可以点一下。之后就是配置“组成员资格”了。在配置组成员资格之前,要保证新服务器上的tfs相关的用户和原服务器一致(如果没有,可以在计算机管理中添加)

            至此,TFS2010的迁移工作基本完成。

     

            以下为天杀的注意事项

            以上步骤仅适用于新旧服务器的机器名相同,TFS及SQL版本相同的情况。由于都在一个网络中,新服务器起名字基本上不会和原服务器重名,那么以下步骤就是针对新旧服务器不同名的情况。

            注:以下步骤都是在新服务器上进行操作。

           打开库:ReportServer

           更新表:ExecutionLogStorage

           更新字段:InstanceName,把所有数据都改成:新服务器数据库实例名\SQL服务名,可以对比以前的数据,修改实例名就可以。

           更新字段:UserName,把所有数据都改成:新服务器机器名\账户名

           更新表:Keys

           更新字段:MachineName,改为新服务器机器名

           更新表:Users

           更新字段:UserName,怎么更新你懂的。。。

     

           打开你项目集合的那个库:这个数据库一般是“Tfs_团队项目集合名称”这样的命名规范

           打开表:tbl_BuildServiceHost   修改字段:BaseUrl   最前边的那段改成新服务器的机器名。

           打开表:tbl_Command 修改字段:IdentityName 前边那段改成新服务器的机器名

           打开表:tbl_WorkspaceMapping 修改字段:WorkspaceName,Computer   找到对应原服务器的工作区名和计算机名(如果有的话),改为新服务器的机器名

           完成以上表数据的修改后,重复第六歩即可。

    至此TFS2010的迁移工作已经全部完成了。我试了一下,可以用,以前的变更集都没有问题。小兴奋了一下。

    以下是我遇到过的问题:

    1.做到第五歩的时候,点击列出可用服务器列表提示没有可选的数据库。这是因为我在原服务器上没有通过Team Foundation 管理控制台正确分离项目集合,而是直接从数据库中分离项目集合数据库。这样做可能出现以上情况。

    2.访问TFS web的时候出现503,网上找的原因都是修改了tfs账户的密码导致的。而我的原因是对应的应用程序池停止了,重新运行就好了。

    3.网上说可以通过Team Foundation 管理控制台的应用层专用设置来导入从前的团队项目,我试了,不好使,可能是因为机器名不同,按照上边改数据的步骤应该可以。

    4.端口冲突的问题,一般sql报表服务器就用默认的80,tfs就用默认的8080,代理服务器8081,一般没什么问题。

  • 相关阅读:
    私藏实用免费软件备份
    JavaScript03-基本概念一
    JavaScript02-js使用
    JavaScript第一回-来龙去脉
    初读时间简史的零星杂想
    读《死亡诗社》
    读《生死疲劳》
    js的预解析
    浏览器事件捕获冒泡以及阻止冒泡
    http初探
  • 原文地址:https://www.cnblogs.com/zjoch/p/2823045.html
Copyright © 2011-2022 走看看