原创地址: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. SpringMVC(二) SpringMVC Hello World

    准备条件: STS(集成了Spring相关工具的Eclipse) Spring软件包 spring-framework-4.3.3.RELEASE-dist.zip. 步骤: 加入jar包. Ecli ...

  2. retrofit2的get和post

    get: 例: @GET("room/question_focus") Call<BaseResponseEntity> followQuestion(@Query(& ...

  3. JavaScript高级程序设计-(3) 变量、作用域和内存问题

    传递参数 ECMAScript所有函数参数都是按值传递的,即使对象在函数内部修改了参数的值,原始的引用任然不变,局部对象在函数执行完毕后被销毁

  4. Orcale 数据库客户端PL/SQL中文乱码的问题

    http://jingyan.baidu.com/article/948f59242aa519d80ef5f96e.html

  5. mac composer 安装

    在命令行执行 curl -sS https://getcomposer.org/installer | php 如果没安装 curl 执行以下代码 php -r "readfile('htt ...

  6. 数组排序(java)

    代码如下: public class paixu{ public static void main(String []args){ int a[] = {78,23,56,34,12,45,67,89 ...

  7. GDB调试汇编堆栈

    GDB调试汇编堆栈 分析过程 C语言源代码 int g(int x) { return x+6; } int f(int x) { return g(x+1); } int main(void) { ...

  8. 如何发布付费WP8应用

    如何发布付费应用,听起来蛮简单的,事实上也确实如此,但是发布付费WP8应用前的资料填写却让我郁闷不已. 我打开仪表板,点击进入账户--账户摘要,填写税务资料和付款账户,发现付款账户保存成功了,税务资料 ...

  9. 干货!IT小伙伴们实用的网站及工具大集合!持续更新!

    1.Git 还在担心自己辛辛苦苦写的代码被误删了吗?还在担心自己改错了代码不能挽回吗?还在苦恼于多人开发合作找不到一个好的工具吗?那么用Git就对 了,Git是一个开源的分布式版本控制系统,用以有效. ...

  10. 自定义委托类型 - .Net自带委托类型

    委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递. 与其他的类不同,委托类具有一个签名,并且它只能对与其签名匹配的方法进行引用. 一.自定义委托类型 1.语法结构:访问修 ...