一、背景:        

公司已使用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. TFS2013 升级至TFS2015及项目的创建

    TFS2015已发布想体验下新特性 由于现有数据库已经是SQLSERVER2012 SP1 开发工具VS2013 都符合升级要求 现在体验下吧 1.先下载TFS2015 运行安装向导一路NEXT 直至 ...

  3. 企业IT管理员IE11升级指南【10】—— 如何阻止IE11的安装

    企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...

  4. 使用VS2013、TFS2013和Git进行分布式团队协作

    题记:呵呵,首先声明,题目起的有点大,其实我只想介绍下VS2013和TFS2013新加入的Git功能,也不是在VS中使用Git的详细向导(以后有空再详细分享给大家).这篇文章虽然在写这篇文章<V ...

  5. App Store 审核指南(最新)

    简介 App 正在改变世界,丰富人们的生活,并为像您一样的开发者提供前所未有的创新机会.因此,App Store 已成长为一个激动人心且充满活力的生态系统,正为数百万的开发者和超过十亿的用户提供服务. ...

  6. 苹果应用商店AppStore审核规则指南

    http://www.zesmob.com/blog/40161.html 新应用上架苹果AppStore或重大版本更新时,往往会被拒多次,造成审核不通过的原因,主要是因为对苹果应用商店AppStor ...

  7. Kafka平滑滚动升级2.4.0指南

    今天测试了下kafka从2.0.0滚动升级至2.4.0,下面做一下记录.这个链接是Kafka官网对升级2.4.0的指南,可以参考  http://kafka.apache.org/24/documen ...

  8. JavaScript权威指南 - 函数

    函数本身就是一段JavaScript代码,定义一次但可能被调用任意次.如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法.用于初始化一个新创建的对象的函数被称作构造函数. 相对 ...

  9. UE4新手之编程指南

    虚幻引擎4为程序员提供了两套工具集,可共同使用来加速开发的工作流程. 新的游戏类.Slate和Canvas用户接口元素以及编辑器功能可以使用C++语言来编写,并且在使用Visual Studio 或 ...

随机推荐

  1. LintCode 面试题 旋转字符串

    1.题目描述 题目链接:http://www.lintcode.com/zh-cn/problem/rotate-string/ 给定一个字符串和一个偏移量,根据偏移量旋转字符串(从左向右旋转) 2. ...

  2. SQLite Lemon 语法分析器学习与使用

    本文是浙江大学出版社的<LEMON语法分析生成器(LALR 1类型)源代码情景分析>学习笔记. 用到的Windows下的编译器介绍MinGW(http://www.mingw.org/): ...

  3. mysql 二级索引

    mysql中每个表都有一个聚簇索引(clustered index ),除此之外的表上的每个非聚簇索引都是二级索引,又叫辅助索引(secondary indexes). 以InnoDB来说,每个Inn ...

  4. (简单) POJ 2502 Subway,Dijkstra。

    Description You have just moved from a quiet Waterloo neighbourhood to a big, noisy city. Instead of ...

  5. 《算法导论》Problem 2-4 Inversions

    在Merge Sort的基础上改改就好了. public class Inversions { public static int inversions(int [] A,int p, int r) ...

  6. Run Loop简介

    做了一年多的IOS开发,对IOS和Objective-C深层次的了解还十分有限,大多还停留在会用API的级别,这是件挺可悲的事情.想学好一门语言还是需要深层次的了解它,这样才能在使用的时候得心应手,出 ...

  7. 【转】101个MySQL调试和优化技巧

    MySQL是一个功能强大的开源数据库.随着越来越多的数据库驱动的应用程序,人们一直在推动MySQL发展到它的极限.这里是101条调节和优化MySQL安装的技巧.一些技巧是针对特定的安装环境的,但这些思 ...

  8. jQuery-ui datepicker的使用演示代码

    这两天使用jquery做一个web端展示的工具,遇到了不少问题也学到了不少知识.其中有一个就是在页面中显示日期选择器的功能,通过百度直接使用的是jquery datepicker 看到一篇使用说明很不 ...

  9. YII 1.0 分页类

    在控制器中 方法1 $criteria = new CDbCriteria();//AR的另一种写法 $model = Article::model(); $total = $model->co ...

  10. Java经典案例之-判断兔子的数量(斐波那契数列)

    /** * 描述:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子, * 假如兔子都不死,问每个兔子总数为多少? * 分析:根据题目条件可以推断 * 兔子的规律 ...