理解CRM 4.0异步服务的数据结构AsyncOperationBase ( part 2)

在理解CRM 4.0异步服务的数据结构AsyncOperationBase ( part 1)中我们有张表格介绍了异步服务更种System Job的状态。这些状态通常在界面上通过登录CRM后检查系统工作列表能够看到。大家是否注意到有些jobs被现显示为失败,有些允许手动重试resume/cancel,有些可以自动恢复执行? Gonzalo Ruiz的博客解释了背后的逻辑: Gonzalo Ruiz: When do asynchronous jobs fail, suspend or retry?   本文概要翻译一下作为参考。   当StateCode=1时候,根据错误严重级别AsyncService有如下三种逻辑决定下一步处理办法: Fail: 该错误致命的,本job将不会被继续执行或者重试 Retry: 该错误严重级别低,系统将在一定时间内自动重试执行 Suspend: 该错误严重级别中等 – 将导致job被挂起,管理人员必须通过界面手动干预重新执行激活该job   那么错误严重级别如何决定呢?可以参看下表: 注意:AsyncOperationBase表格的ErrorCode和Message列记录了详细的错误信息.表格中工作流作为一种特殊的job,由于有人机交互的机会干预更改错误,所以很多情况下系统倾向为挂起工作流job。本表格仅是示例的一部分供参考,实际代码要复杂的多。 Scenario Async job result action Workflow result action ErrorCode An SDK call fails: Infinite loop detected fail fail 80044182 An SDK call…


理解CRM 4.0异步服务的数据结构AsyncOperationBase ( part 1)

AsyncOperationBase库表随着时间和业务量增长可能会增长到很大程度,从而影响到CRM AsyncService的性能。 如果安装了CRM 4.0 Update Rollup 3 (或更高版本), AsyncOperationBase表格可以有自动清空类型为AsyncOperationType=1 和 10的记录。 – http://support.microsoft.com/kb/957871/ 自动清空AsyncOperationType=1记录 (需手动添加注册表DWORD AsyncRemoveCompletedJobs=1方能生效) – http://support.microsoft.com/kb/968755/ 自动清空已经完成的工作流中间记录 (需手动添加注册表DWORD AsyncRemoveCompletedWorkflows=1方能生效) 下面文章有手动SQL脚本定向清除某些记录。  http://support.microsoft.com/kb/968520   表1: Asyncoperationbase table – operationtype, status code and state code AsyncOperationType Name Description 1 Event    系统事件,比如WorkflowExpansion Task 2 BulkEmail     3 Parse      4 Transform      5 Import      6 ActivityPropagation…


CRM 3.0 升级到4.0中遇到的问题

1. 升级前应该考虑的问题 a) 升级需要考虑问题列表 (http://blogs.msdn.com/b/crm/archive/2008/05/01/upgrading-to-crm-4-0.aspx )     备份已有的3.0数据库及其及其重要!!!! b) 哪些定制无法自动升级必须手动进行 c) 如果你有大量工作流需要升级务必参看http://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 KB952105 How to revert to Microsoft Dynamics CRM 3.0 if you cannot upgrade to Microsoft Dynamics CRM 4.0  …


Microsoft Office 2010 和 CRM 4.0

1.CRM产品组只承诺CRM 4.0支持32位的Office 2010; 对于64位的Office 2010目前没有计划出任何补丁修复兼容性问题。所以碰到问题联系微软售后服务部门前请检查确认你的Outlook 2010/Office 2010不是64位的系统。当然WIndows 操作系统可以运行64位或者32位。   2. 在Outlook 2010下安装至少需要UR7或者UR10的安装盘,不能使用RTM的安装盘。带有UR7/UR10的安装盘可以在下面这个地方下载:   UR10版CRM Addin独立安装盘: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=60c4a6cc-59d7-416e-9f44-0ae8ff249768  注意Overview段: “This version includes Microsoft Dynamics CRM 4.0 Update Rollup 10 slipstreamed into the download.”   如果你不使用UR7/UR10版的安装盘安装过程中会报告错误。另外你可以试验使用IgnoreChecks来绕过版本检查: 946739  Internal Only: How to use the IgnoreChecks registry sub key to bypass errors in the System Requirements Checks for Microsoft Dynamics…


新的BLOG

最近美国发起建立一个新的BLOG,博文主要是由一线长期和客户打交道的部门撰写 (MCS 顾问部, PFE 大客户现场服务部,  CTS 产品售后服务部) http://blogs.msdn.com/crminthefield    该新的blog和之前CRM产品部提供的产品blog互为补充,提供了更多的从客户角度的问题反馈和解决办法。 http://blogs.msdn.com/crm   目前博客上内容不多,处于刚开始建立阶段。敬请关注!   thanks Clifford (张立岩)


CRM 2011 测试版

美国东部时间7/12日(周一)微软Worldwide Partner Conference 2010 (WPC 2010)上Dynamics 产品部门宣布了CRM 5.0 (code-named CRM5)的命名和相关产品发布时间表. 新闻稿原件参看 Microsoft Demonstrates Next-Generation CRM Release at Worldwide Partner Conference   这里概要介绍说明新闻稿内容:   1. 测试版发布时间表: 大家拭目以待的CRM 5.0将正式被命名为 Microsoft Dynamics CRM 2011,其Beta测试版将在今年9月份发布,用户可订阅http://crm.dynamics.com/crm2011beta 第一时间获得beta版下载相关信息。Beta版本将包括OnPremise和Online,届时CRM Online在北美,欧洲和亚太的数据中心将试运行CRM Online. 正式版: CRM Online预计在2010年底前发布上市; OnPremise估计要等到Online之后发布 MileStones Timeline 下载信息 Community Technical Preview 3 (CTP3) 2010/03/25 CTP3发布 需要参加CTP 注册partner才能下载软件。约有400家合作伙伴参与这一活动中 CRM 2011 Beta 2010/9 在这里订阅http://crm.dynamics.com/crm2011beta…


IPV6 和 CRM 4.0

CRM 4.0 在安装UR3补丁之前是无法兼容IPV6的,具体碰到的错误为: "Request IP Address has different address family from network address" http://support.microsoft.com/default.aspx?scid=kb;EN-US;954313 安装完UR3以后CRM 4.0是允许IPV6运行的,但是本质上CRM 4.0内部连接(SDK, Discovery, Deployment service以及异步服务)都还是使用IPV4的。 换句话说 – CRM 4.0至少必须要有IPV4!安装了UR3后可以和IPV6共存,和平共处。   CRM 4.0并不要求把IPV6 给禁掉,万一需要禁掉IPV6你可以参照http://support.microsoft.com/kb/929852  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\ DisabledComponents=0x20 需要重启机器才能生效   我个人比较喜欢设置 DisabledComponents=0x20,这样IPV4会被优先选择 (这个决定了PrefixPolicy — IPV4优先)。 查看PrefixPolicy的命令是:       c:/>netsh interface ipv6 show prefixpolicies 下图是个IPV6优先的Ping命令结果.可以看到localhost返回地址为IPV6地址。 通常每台机器在DNS里面都会有2条Host记录对应到IPV4和IPV6上去:   另外在本机的hosts文件中也可指定诸如localhost等的IP地址。 C:\Windows\System32\drivers\etc\hosts   参考文档:   http://srvcore.wordpress.com/2010/01/06/how-to-disable-ipv6-in-windows-2008-full-and-core-editions/ http://www.ipv6day.org/action.php?n=En.Configuration-WindowsVista http://support.microsoft.com/kb/929852…


Outlook 配置向导 (Outlook Configuration Wizard)

你是否发生运行Outlook配置向导时报错,但相同条件下(同机器同登录帐户)从IE中打开CRM页面没有问题? 本文试图分享一些排错经验。   本文首先解释一下Outlook配置向导和CRM服务器通信机制。 CRM Outlook客户端的发布分为2步: 安装和配置。CRM的安装CD安装完后此时CRM客户端数据库等信息都尚未建立起来,你必须使用配置向导设置诸如CRM服务器地址,用户帐户(每个Outlook客户端同时只能登录到一个组织中–即使你的帐号属于多个组织)等等信息。 运行配置向导前的注册表:   配置向导是调用CRM的CrmDiscoveryService.asmx来验证用户所属的组织。注意到CrmDiscoveryService.asmx有3个实现版本: AD, Passport,和SPLA. 那么配置向导如何决定要调用哪个版本的CrmDiscoveryService.asmx呢?答案是你通过页面指定   我的公司 (My Company): AD目录下的版本 联机服务提供商(An Online service provider): SPLA目录下的版本 当配置好后这个认证方法会被写到ClientAuthenMethod注册表中。 HKEY_CURRENT_USER\Software\Microsoft\MSCRMClient REG_DWORD ClientAuthMethod 健值说明:            0:  ActiveDirectory            1: Passport            2: SPLA (也作ClearText)   那么下个问题就是:何时决定选用我的公司还是联机服务提供商?是否我服务器端配置了IFD我哪个选项都可以用呢? 答案是: 查看CRM服务器上HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM\IfdInternalNetworkAddress,判断Outlook客户机的IP是否属于IfdInternalNetworkAddress指定的范围。如果你的Outlook IP 不属于IfdInternalNetworkAddress那么必须使用联机服务提供商(An Online service provider);否则必须使用我的公司(My Company)选项。关于IFD方面的信息强烈推荐你访问 How to configure an Internet-Facing Deployment for…


"Microsoft Dynamics CRM for Outlook with Offline Access has already been configured for a user on this computer. Only one use can be configured per computer for Microsoft CRM for Outlook with Offline Access."

如果你在运行CRM 4.0 Outlook Configuration Wizard碰到如上错误,那么说明SQL Express中MSCRM_MSDE数据库已经存在了。重新安装CRM Outlook 客户端是无法解决问题的。比较简单的办法是:   1.当前登录帐户有本地管理员权限,然后命令行下运行:       c:\>osql –E –S localhost\CRM       1> drop database mscrm_msde       2> go       1> quit   2. 另外如果是你的测试开发机器推荐安装独立下载的 Microsoft SQL Server Management Studio Express (大小约40MB左右)。使用该图形管理工具能很容易的看到OUtlook Client端CRM数据库的信息。   thanks Clifford


CRM 4.0 数据删除维护(data deletion) Part 1

CRM 4.0里90%以上的实体数据删除需要通过2阶段删除的: 物理删除(“硬”删除)和逻辑删除(“软”删除). 软删除是指在CRM的界面上通过菜单删除数据记录 (此动作CRM平台通常设置CRM数据库对应记录的删除标志位 DeletionStateCode=2,当然有少数实体是通过设置别的标志位的,这些是系统实现细节,后续版本可能会改变的),具体的实际数据库删除动作(硬删除)是有4.0中Deletion Service来做的。Deletion Service是作为CRM Async Service的一部分来运行的,没有单独的可执行操作系统进程。Deletion Service 是每24小时循环运行一次的。我们可以使用 CRM 4 Deployment Job Editor 来修改循环运行间隔。     小窍门:如果是调试目的希望Deletion Service能运行一次,简单的办法是把Job Next Run设置为某一过去的时间,比如当前为6:02:11 PM,我们修改为5:02:11 PM,然后点击Update按钮更新数据库 (其他的都不需要改动)。等待大概5分钟Deletion Service一定会运行起来的。 由于Deletion Service运行时候要删除记录,所以推荐循环间隔选择在午夜等非业务繁忙时间执行,以期对系统性能影响最小。   Deletion Service 运行结果: 很不方便的是,没有用户界面查看结果,只能直接执行SQL语句 select LastResultCode, LastRunTime from ScaleGroupOrganizationMaintenanceJobs where OperationType=14   LastResultCode:  0 代表成功执行; 1代表上次执行失败。 LastRunTime: 上次运行时刻 (GMT格式)   如果上次执行失败,详细地错误信息只能查看Windows事件查看器。如果还是没有线索,那么如下排错步骤: 1. 打开CRM Trace日志…