zoukankan      html  css  js  c++  java
  • TFS迁移

      之前从网上搜了些TFS备份、还原的资料,经实验效果不是很好,现又从网上搜了些资料,同事找的资料,我现在就借花献佛整理出来给大家一起分享一下。

      简单地说下,这篇文章的基本思想是一个集合一个集合的迁移,值得的说明的是sharepoint没有迁移过来。

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

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

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

        第四歩,复制这个数据库到新服务器上,附加。如果新旧服务器的名字不一样,则需要执行第五步。否则,直接进行第六步

      第五步,以下步骤都是在新服务器上进行操作。

           打开库:ReportServer

           更新表:ExecutionLogStorage

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

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

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

           更新表:Users

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

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

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

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

       可以使用以下sql实现:

      update Tfs_ITSupportCollection.dbo.tbl_Command 
      set IdentityName=replace(convert(varchar(8000),IdentityName),'oldName','newName')

      where IdentityName like 'oldName\%';

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

      第六步,dos下进入C:Program FilesMicrosoft Team Foundation Server 2010Tools这个目录,然后分别执行以下命令(来自网络):

      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服务)

    (保险起见执行一下tfsservicecontrol unquiesce命令,启动TFS服务)

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

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

      

    以下是原作者遇到过的问题:

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

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

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

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

  • 相关阅读:
    网络流24题-[CTSC1999]家园
    网络流24题-孤岛营救问题
    汽车加油行驶问题(分层图最短路)
    送外卖(可重复点的哈密顿路径)
    信与信封问题
    最小完全图(最小生成树加边成完全图)
    校园网(有向图加边变成强连通图)
    玩具装箱
    MSTest、NUnit、xUnit对照表
    .NET Core学习 笔记索引
  • 原文地址:https://www.cnblogs.com/huhu-xiaomaomi/p/3792305.html
Copyright © 2011-2022 走看看