CRM 3.0 升级到4.0中遇到的问题
1. 升级前应该考虑的问题
a) 升级需要考虑问题列表 (https://blogs.msdn.com/b/crm/archive/2008/05/01/upgrading-to-crm-4-0.aspx )
备份已有的3.0数据库及其及其重要!!!!
c) 如果你有大量工作流需要升级务必参看https://support.microsoft.com/kb/958039 增加如下两个regkeys以加速升级:
WorkflowUpgradeThreadCount =《你的CRM机器CPU数》
WorkflowUpgradeTimeout=15
为使上述两注册表生效运行4.0安装CD时候要保证有internet相连,安装界面开始菜单上保证要选择下载最新的微软补丁。
另外2个常添加的注册表:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM
DWORD ExtendedTimeout = 1000000
DWORD OLEDBTimeout = 86400
2. 升级到一半的时候如果升级失败应该如何处理? 参看KB952105
(1) 如果因为升级失败你重新安装CRM 3.0碰到如下错误:
“The existing databases are not compatible with this installation of Microsoft CRM.”
解决方案:
915320 Error message when you try to select existing databases during an installation or an upgrade to Microsoft Dynamics CRM 3.0: "The existing databases are not compatible with this installation of Microsoft CRM"
https://mbs.microsoft.com/knowledgebase/KBDisplay.aspx?scid=kb;EN-US;915320
概括起来操作步骤如下:
a. 填写组织名称时候如果你已经忘记了当初使用的名字,可以使用如下方式找回:
use <org>_mscrm
select name, * from OrganizationBase
b. 安装文件的版本(setupserver.exe)必须和数据库里记载的revision保持一致:
select Revision from BuildVersion
如果不一致需要更新BuildVesion里的revision和setupserver.exe的文件修正版本3.0.5300. X一致
Update BuildVersion set Revision = X
c. 保证当前安装帐户有权限访问SQL上的CRM库。验证办法如下:
在CRM机器上创建一文件testsql.udl (可通过先创建一空的testsql.txt文件然后修改文件扩展名为udl保存),然后双击testsql.udl,这时候从弹出的对话框你可以按部就班的选择oledb sql provider和sql连接信息,测试当前登录帐户是否有权限访问连接crm库表。
(2) 重装过程中可能还会碰到如下错误:
Microsoft.Crm.Setup.Server.ConfigureServiceVirtualDirAction failed. ---> System.Runtime.InteropServices.COMException (0x800700B7): Cannot create a file when that file already exists.
这种类型问题根本原因是升级失败时候IIS metadata没有被干净完全清理掉。我个人推荐办法是新建的CRM网站使用不同的网络端口,比如原来安装在80端口你可以试建在5555端口上,升级成功后可以参照 KB947423 How to update the Microsoft Dynamics CRM Web site port after you install Microsoft Dynamics CRM 4.0 把端口从5555更改回80端口
thanks
张立岩 (Clifford)