CRM 4.0倒入组织(Import Organization)

 

952934    How to move the Microsoft Dynamics CRM 4.0 deployment
https://support.microsoft.com/default.aspx?scid=kb;EN-US;952934

 

KB952934: 如何移动动态 CRM 4.0 部署

 

1. 不同语言版本支持

你的组织库基语言(base language)是简体中文,后来因业务需要公司吞并了另外一家公司B,然后你试图通过Import Organization方式把B公司数据创建为一个子组织。B公司的库基础语言(base language)是英文。这种不同库语言的倒入CRM 4.0 Import Organization可能会出错,产品组不对此进行支持。

 

2.成功倒入组织前永远保留org_mscrm库备份

通常我们执行的步骤是备份旧库,然后到SQL Server中恢复备份,然后运行CRM的Import Organization,在倒入过程中会提示你输入新的Org的名称。注意: 即使你提供了一个新的不同于旧库的名字,CRM倒入过程中不会新建另外一个数据库,而是在恢复库上直接做数据转换! 如果转换过程中有错误发生,恢复的库数据将会处于不可信状态 -- 系统会提示你删除。所以在成功倒入组织以前你的SQL server 备份要放在一个安全地方!

 

3. 以下是倒入库推荐的步骤:

首先一定要保证备份你的SQL库(.bak),然后再恢复至SQL服务器上。出现任何失败时候系统都会提示你删除旧库后重新恢复备份库!!

另外在备份库前推荐删除那些不必要的数据以减小库大小 (关于日常维护删除不必要数据我会后面)

1) 至少安装Update Rollup 8 -- 否则对于几个GB的数据库会有倒入性能问题。然后参照KB977867 导入组织向导需要较长的时间要导入动态 CRM 4.0 中组织修改注册表:

     HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM

              DWORD OptimizeOrgImport=1

 

2) 参照KB918609 较大的自定义文件导入到 Microsoft 动态 CRM 时发生超时 延长OleDBTimeOut 和ExtendedTimeout 

     HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM

                  DWORD OLEDBTimeout=86400

                  DWORD ExtendedTimeout=1000000

 

3) 如果你的库很大(20GB)你需要保证SQL服务器有足够硬盘空间存储中间事务日志;否则我个人倾向把SQL的Recovery Mode改为Simple 模式以减少日志的大小。

RecoveryModel

 

4) 如果CRM License是专业版而非企业版,那么新倒入的组织会覆盖旧的组织 -- 因为专业版无法安装多组织;如果是企业版那么新倒入组织可以并存。

5) 如果在倒入过程中碰到如下警告可以忽略。该警告主要是因旧库安装的补丁版本和现在新机器上版本不一致导致的。

“The organization database selected for import is a different version than the organization database that is currently deployed.”

6) 倒入成功后需要重新再安装一便Update Rollup 8 --- 保证步骤5里的警告问题解决。

7) 删除步骤2中添加的注册表

 

 

4.其他常见问题

1) System.Data.SqlClient.SqlException: The transaction log for database 'XXX_MSCRM' is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases

解决办法:保证硬盘足够空间,Recovery Mode设为SImple, 同时日志文件增长速度放大 (比如从20%改到200),保证transaction log增长速度能否跟上倒入速度。

 

2) The Import Organization Wizard cannot connect to the SQL Server or cannot find an organization database on “SQL Server Name”. Verify that the server name in the SQL Server box is correct and that the computer is running Microsoft SQL Server where an organization database is stored

解决办法:

    有以下几方面原因

a. SQL服务没有在运行,或者因为网络原因确实无法连接。可以在CRM Deployment Manager那台机器上建立一个test.udl文件来验证是否有连接问题 (在桌面上创建一空的test.txt文件然后修改文件扩展名为UDL;保存后双击这个test.udl文件,弹出对话框后输入SQL连接信息)。

b.  运行CRM Import Organization的人没有权限。这个也可以通过建立test.udl文件来验证,看看是否能访问mscrm_config和crmorg_mscrm库。

c. 对于待倒入的库,Import Organization搜索如下信息判断该库是否为有效的4.0 MSCRM库:

  必须含有OrganizationBase 和 BuildVersion两张库表;BuildVersion 的 MajorVersion, MinorVersion, 和 BuildNumber 和CRM Server注册表中的 Database Version 必须一致。

  满足上述两个条件后该库就可以被Import Org的列表显示为待倒入库。

 

3) 在手动映射单向信任(one-way trust)跨域用户时候Import Organization 发生错误崩溃

解决办法: 安装Update Rollup 8

 

thanks

张立岩  (Clifford Zhang)