一、背景:        

公司已使用tfs2010很长时间,目前随着公司的发展,项目越来越少,而产品越来越多,采用的开发模式,也逐渐从瀑布式、迭代式转向敏捷开发。为了更好的支持产品研发,决定将tfs2010升级至tfs2013,目前已有200多G的数据量,升级时间也不是太长。

、升级方式:

       将tfs2010的sql2008数据库进行备份,tfs2013和sql2012安装在另一台全新的服务器上,将sql2008还原至新服务器上,然后再在新服务器上配置tfs应用层,最后通过tfs命令完成各种更新及配置操作。本指南将分两部分进行说明:1.TFS数据库及应用层的迁移   2.TFS的各项配置及更新。 (升级过程其实很简单,就是整个研究过程比较曲折,为了减少大家的时间,少走弯路,特编制本指南,算是提升大家的工作效率)

三、系统环境:

      TFS2010(旧):winserver2008 r2  、sql2008、tfs2010 sp1

TFS2013(新):winserver2008r2、sql2012、tfs2013

      四、升级步骤:

      1、准备工作

      (1)tfs2010中所有人员都不能有挂起操作,要么签入要么撤销,确保升级后的内容一致。

(2)所有工作项能处理的尽量处于关闭状态

(3)在新服务器上完成tfs2013和sql2012的安装(网上很多安装过程的说明,此处不单独说明)

     2、备份TFS2010

        将TFS2010所有文件备份出来,拷贝到TFS2013服务器上

     3、还原TFS2010

        在sql2012数据库中,还原备份的tfs2010数据库,在还原过程中请注意目录权限设置,这个问题困难了我一两天。 一定要把tfs2010备份数据库所在目录设置成everyone读写,这样在还原时,sql2012才能读取到tfs2010备份。

     4、应用层配置

        在TFS2013管理控制台上,点击根节点,在右侧界面点击“删除功能”,即可重新进行配置。在配置时选择“升级”即可。在升级过程中选择tfs2010config数据库即可。

    5、账号重建

       在完成应用层配置后,我们必须在tfs2013服务器上创建一套与tfs2010服务器上一样的访问账号。创建完后,我们需要使用tfsconfig  identities  命令进行账号列表的查看及校验,并加上/change 命令进行账号的转化。

TFSConfig Identities [/change /fromdomain:DomainName1 /todomain:DomainName2 [/account:AccountName] [/toaccount:AccountName]] [/sqlInstance:ServerName /databaseName:DatabaseName]              [/account:AccountName] [/usesqlalwayson]

    6、配置新功能

       tfs2013新增了很多新功能,这些功能都是基于过程模板,如果要在tfs2010老项目上启用新功能,必须对过程模板进行修改定制并调试修改。

主要使用witadmin    exportcategories   和importcategories命令,以及修改过程模板中的WorkItem Tracking并且逐个导入需要修改的项目中,另外还要使用过程模板导入命令进行最后的更新:

      witadmin importprocessconfig /collection:CollectionURL [/p:ProjectName] /f:FileName [/e:encoding] [/v]
问题1:在导入过程中,如果出现以下错误:
TF30170:   Microsoft.ProjectCreationWizard.TestManagement
C:\Windows\Microsoft.NET\Framework\v4.0.30319
则执行命令即可
ngen uninstall Microsoft.TeamFoundation.TestManagement.Client
ngen uninstall Microsoft.TeamFoundation.TestManagement.Common
问题2:TF400498: 尚未指定积压工作 (backlog)和 迭代路径
在网站里面启用,就要设置迭代和区域(选中即可)
 

  在管理控制台中,修改各个url的访问地址,改成tfs2013新服务器名即可。最后进行各个功能的测试及检查,根据具体报错进行修改。

参考资料:
https://www.visualstudio.com/zh-cn/docs/setup-admin/tfs/upgrade/upgrade-2013/upgrade-2013-requirements
https://msdn.microsoft.com/zh-cn/zh-us/library/ms252516(v=vs.100).aspx
https://msdn.microsoft.com/zh-cn/library/ms194972(v=vs.120).aspx
https://msdn.microsoft.com/zh-cn/library/jj920163(v=vs.120).aspx
https://www.visualstudio.com/zh-cn/docs/work/customize/add-features-manually#update-processconfig
https://msdn.microsoft.com/zh-tw/library/ms404883(v=vs.120).aspx

TFS2010升级至TFS2013完全指南(更换服务器)的更多相关文章

  1. TFS2010升级至TFS2013完全指南

    一.背景:         公司已使用tfs2010很长时间,目前随着公司的发展,项目越来越少,而产品越来越多,采用的开发模式,也逐渐从瀑布式.迭代式转向敏捷开发.为了更好的支持产品研发,决定将tfs ...

  2. WeiXin 验证成为开发者和更换服务器验证代码

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Da ...

  3. gitlab 更换服务器后访问 Integrations 出现 500 错误

    异常问题解决方案:问题:gitlab 更换服务器后访问 Integrations 出现 500 错误解决方案:从原服务器上将 /etc/gitlab/gitlab-secrets.json 复制过来覆 ...

  4. 网站更换服务器或IP对排名有影响吗

    http://www.wocaoseo.com/thread-287-1-1.html 网站更换服务器或IP对排名有影响吗 复制代码 百度官方观点:原则上是不会的.除非-新换的服务器太糟糕,三天两头访 ...

  5. zabbix中文配置指南(转)-服务器监控

    一.Zabbix简介 1.1 Zabbix简介 Zabbix是一个企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利.官方网站:htt ...

  6. Http权威指南(服务器、缓存)

    对于web服务器(软件)大家应该不会陌生,常见的web服务器有Apache.IIS.Tomcat.Nginx.Jetty等等. 1.基本功能 几乎所有的web服务器都会执行以下几项同样的任务: 1.建 ...

  7. vultr 更换服务器

    今天打算去p站看看电影 结果发现自己的vps被封了......记录一下换服务器的过程 首先去 https://www.17ce.com/ ping一下,发现只有国外的服务器能ping通 果然是被封了. ...

  8. vs2017 tfs服务器迁移更换服务器IP地址方法

    今天公司服务器换了IP地址,然后发现tfs的服务器删除不了,也添加不了.最后参考了其他vs版本提供的方法,找到了解决的方法. 一共需要修改两个地方: 1.找到项目的sln文件,使用其他文本编辑器打开, ...

  9. 网站更换服务器出现加载不了js css文件的问题

    原因是 里面加找不到.woff类型,后面把上面注释掉就可以了

随机推荐

  1. android.annotation.SuppressLint

    Lint是一个静态检查器,它围绕Android项目的正确性.安全性.性能.可用性以及可访问性进行分析.它检查的对象包括XML资源.位图.ProGuard配置文件.源文件甚至编译后的字节码. Lint包 ...

  2. ETL的考虑

    做数据仓库系统,ETL是关键的一环.说大了,ETL是数据整合解决方案,说小了,就是倒数据的工具.回忆一下工作这么些年来,处理数据迁移.转换的工作倒还真的不少.但是那些工作基本上是一次性工作或者很小数据 ...

  3. 书写优雅的shell脚本(插曲)- ed编辑器

    今天发现了一个灰常好用的unix/linux文本行编辑器:ed,对于进行面向行的文本编辑工作她真是太棒了,比vi操作简单.方便.功能强大.感兴趣的同仁可以尝试一下!

  4. VC++编译说明

    目录 第1章编译步骤    1 第2章编译源文件    2 2.1 编译器    2 2.2 包含头文件    3 2.3 重复包含    6 2.4 预编译头文件    7 2.4.1 创建     ...

  5. [Selenium] 测试机器上安装了多个Firefox,如何指定运行哪一个?

    可通过FirefoxBinary 来指定运行某个路径下的Firefox, 示例代码如下: public class testFirefoxBinary{ public static void main ...

  6. 高性能框架gevent和gunicorn在web上的应用及性能测试

    WSGI Server有哪些: 比如 Flask,webpy,Django.CherryPy 都带着 WSGI server .当然性能都不好,自带的web server 更多的是测试用途, 发布时则 ...

  7. public void与public static void区别

    我们换个简单易懂的说法,这两句的区别就在于,能不能直接用类名访问. 很好理解的不是吗? 假如,我有一个类,如下图所示: 接下来先实例化一个对象,ca,你会发现它不仅可以访问普通的方法,也可以访问静态的 ...

  8. Java泛型简明教程

    泛型是Java SE 5.0中引入的一项特征,自从这项语言特征出现多年来,我相信,几乎所有的Java程序员不仅听说过,而且使用过它.关于Java泛型的教程,免费的,不免费的,有很多.我遇到的最好的教材 ...

  9. 编写hadoop程序并打成jar包上传到hadoop集群运行

    准备工作: 1. hadoop集群(我用的是hadoop-2.7.3版本),这里hadoop有两种:1是编译好的hadoop-2.7.3:2是源代码hadoop-2.7.3-src: 2. 自己的机器 ...

  10. 算法练习--LeetCode--29. Divide Two Integers

    Divide Two Integers Given two integers dividend and divisor, divide two integers without using multi ...