原创地址:http://www.cnblogs.com/jfzhu/p/4018153.html

转载请注明出处

(一)检查Customizations

从2011升级到2013有一些legacy feature是不再支持的了:

  • CRM 4.0 plugin-ins
  • CRM 4.0 client-side scripting
  • CRM 4.0 custom workflow activities
  • 2007 web service endpoint
  • ISV folder support for custom web applications
  • Solution Down Level tool

微软提供了Legacy Feature Check tool来帮助检查你的系统是否使用了这些legacy feature,另外还提供了Dynamics CRM 2011 Custom Code Validation Tool来帮助你检查系统中是否有不再支持的客户端代码。

(二)检查你的软硬件件是否支持Dynamics CRM 2013

具体参见Planning Guide for Microsoft Dynamics CRM 2013

(三)其他需要了解的事情

从CRM 4.0无法直接升级到2013,2011必须是从Rollup 6到Rollup 14+才可以升级到2013。

参见《Microsoft Dynamics CRM 2013 and 2011 Update Rollups and Service Packs》

升级后的数据库结构会有改变,Base table和Extension table将会合并,所以如果在2011里你有一些直接对数据库的操作,升级后这部分工作可能会失败,但是微软也为你推迟合并的升级方式,本文后面也会介绍到。

(四)升级测试

先做一次升级测试,以来检验一下升级过程之中和之后是否会出现问题,二来对升级所需要的时间(系统停止的时间)做到心中有数。

(五)升级方法

有三种方法:

  1. 使用一个新的SQL实例(推荐方法):也有一些文章管它叫Side-by-Side的升级方法,这种方法需要最短的system downtime,如果升级发生问题,可以最快速的恢复到旧的环境。
  2. 使用原来的SQL实例
  3. In-place upgrade(最慢,最不安全)

下面我们演示第一种升级方法

(六)Side-by-Side升级

1. 备份CRM 2011的数据库

2. 恢复数据库

演示环境有一台CRM服务器,一台SQL Server服务器,一台Report服务器。

CRM 服务器要先安装Dynamics CRM 2013,如何安装请参考《Step by step Dynamics CRM 2013安装》

在SQL Server上恢复数据库备份文件。

3. 在CRM服务器上使用Deployment Manager来导入组织

打开数据库发现Base table和Extension table已经合并为一张表了。

(七)升级但推迟数据库表合并

1. 停用并删除刚才升级的组织

2. 删除数据库

勾选Close existing connections

3.重新恢复2011的数据库

4. 在CRM服务器修改注册表

CRM服务器上的一个注册表键值会决定升级时是否合并Base与Extension Table。

Location: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM\MergeBaseAndExtensionTables

Type: DWORD (32-bit)

Value: 0表示不合并,1表示合并

如果存在该键值,就修改它为0,否则创建一个。

5. 在CRM服务器上使用Deployment Manager来导入组织

导入成功后,在SQL Server上看一下数据库结构,发现Base table和Extension table确实没有合并。

6. 使用CrmMergeBaseAndExtensionTableTool来合并双表

先将注册表中的MergeBaseAndExtensionTables的值改为1:

然后,可以使用CRM提供的一个工具来合并这两张表

(八)总结

  1. 升级前检查一下系统中是否有CRM 2013不支持的定制开发
  2. 检查2013的环境是否满足软硬件的要求
  3. 默认的升级过程会合并Base table和Extension table
  4. 最好在测试环境先做一下升级
  5. 推荐使用side-by-side的升级方法
  6. 如果想要推迟base和extension表的合并,可以通过修改注册表来实现,微软也提供了一个工具来帮助后期单独完成合并表的工作。

Step by step Dynamics CRM 2011升级到Dynamics CRM 2013的更多相关文章

  1. Microsoft Dynamics CRM 2011 相关-摘自网络

    Microsoft Dynamics CRM Server 2011硬件需求: 组件 *最低要求 *推荐配置 处理器 x64 体系结构或兼容的双核 1.5 GHz 处理器 四核 x64 体系结构 2 ...

  2. 转:JavaScript Reference for Microsoft Dynamics CRM 2011 / 2013

    JavaScript Reference for Microsoft Dynamics CRM 2011 / 2013 98 Replies Here’s a quick reference guid ...

  3. MS CRM 2011的自定义和开发(11)——插件(plugin)开发(一)

    http://www.cnblogs.com/StoneGarden/archive/2012/02/02/2336147.html MS CRM 2011的自定义和开发(11)——插件(plugin ...

  4. Step by Step 创建一个新的Dynamics CRM Organization

    原创地址:http://www.cnblogs.com/jfzhu/p/4012833.html 转载请注明出处 前面演示过如何安装Dynamics CRM 2013,参见<Step by st ...

  5. Step by step Dynamics CRM 2013安装

    原创地址:http://www.cnblogs.com/jfzhu/p/4008391.html 转载请注明出处   SQL Server可以与CRM装在同一台计算机上,也可安装在不同的计算机上.演示 ...

  6. Step by Step 开发dynamics CRM

    这里是作为开发贴的总结. 现在plugin和workflow系列已经终结. 希望这些教程能给想入坑的小伙伴一些帮忙. CRM中文教材不多, 我会不断努力为大家提供更优质的教程. Plugin 开发系列 ...

  7. Dynamics CRM 2013 SP1 升级到Dynamics CRM 2015

     首先截图一下我要升级的Dynamics CRM 2013版本如下图,可以看到是打了SP1后的CRM 2013.         运行CRM 2015简体中文版的安装文件CRM2015-Server- ...

  8. How to control PrincipalObjectAccess table growth in Microsoft Dynamics CRM 2011

    https://support.microsoft.com/en-us/kb/2664150 How to control PrincipalObjectAccess table growth in ...

  9. Dynamics CRM 2011 权限管理(转)

    http://www.cnblogs.com/LeoTang/p/3344265.html Dynamics CRM 2011 权限管理 CRM系统基于角色的权限主要通过部门.角色.用户.团队来 进行 ...

随机推荐

  1. vue-cli

    vue-cli 脚手架   vue-loader 作用:提供基本项目结构 本身集成了很多项目模板:simple,webpack ,webpack-simple; simple:几乎没什么用: webp ...

  2. java后台获取Access_token的工具方法

    本方法主要通过java后台控制来获取Access_token,需要你已经知道自己的ID跟密码 因为微信的权限设置大概每天可以获取两千条,每条有效时间为2小时 /** * 输入自己的id跟密码,获取微信 ...

  3. Spring事务

    1.@Transactional 只能被应用到public方法上, 对于其它非public的方法,如果标记了@Transactional也不会报错,但方法没有事务功能.@Transactional 的 ...

  4. 【NuGet】打包上传一条龙服务

    昨天写了搭建自己的NuGet程序源,但是领导不满意之前的打包上传~~,无奈只能去爬点思路了,这里参考的其他博文,但是还是想写下来. 第一步.建立一个批处理文件 在文件里,有三条命令: nuget pa ...

  5. C#解析json文件的方法

    C# 解析 json JSON(全称为JavaScript Object Notation) 是一种轻量级的数据交换格式.它是基于JavaScript语法标准的一个子集. JSON采用完全独立于语言的 ...

  6. Theano 学习笔记(一)

    Theano 学习笔记(一) theano 为什么要定义共享变量? 定义共享变量的原因在于GPU的使用,如果不定义共享的话,那么当GPU调用这些变量时,遇到一次就要调用一次,这样就会花费大量时间在数据 ...

  7. Android Studio Lambda Config

    lambda虽然不能让我们应用性能更加优良,但是在代码提高整洁,方便阅读上,还是不错的选择.目前android studio对lambda的原生支持并不是很友好,可以使用第三方配置实现完美支持.配置如 ...

  8. svn客户端重新设置用户名和密码

    在第一次使用TortoiseSVN从服务器CheckOut的时候,会要求输入用户名和密码,这时输入框下面有个选项是保存认证信息,如果选了这个选项,那么以后就不用每次都输入一遍用户名密码了. 不过,如果 ...

  9. 如何使CEF支持Flash

    方法一:复制Chrome浏览器下的pepperFlash,通过cef命令行参数设置路径. public Form1() { InitializeComponent(); InitializeChrom ...

  10. 2-Sat问题

    二分+2-Sat 判断是否可行 输出字典序最小的解 输出字典序可行解 其实这些都是小问题,最重要的是建图,请看论文. 特殊的建边方式,如果a b是一对,a必须选,那么就是b->a建边. HDU ...