Dynamics crm 2011 在CRM 2011中,处理AssociateRequest时出现SQL超时/锁定问题

Dynamics crm 2011 在CRM 2011中,处理AssociateRequest时出现SQL超时/锁定问题,dynamics-crm-2011,dynamics-crm,crm,Dynamics Crm 2011,Dynamics Crm,Crm,我有一个插件,我想作为后期处理同步运行,因为如果它发出的任何请求失败,我想在一个事务中回滚所有内容。我遇到了一个问题,如果我尝试运行AssociateRequest将另一条记录与触发插件的记录相关联,它将返回SQL超时。我知道我的代码是正确的,因为我使用相同的代码关联其他记录(没有触发插件),它们执行得很好 var referencedEntityRelationship = new Relationship(ReferencedEntityRelationshipName);

我有一个插件,我想作为后期处理同步运行,因为如果它发出的任何请求失败,我想在一个事务中回滚所有内容。我遇到了一个问题,如果我尝试运行AssociateRequest将另一条记录与触发插件的记录相关联,它将返回SQL超时。我知道我的代码是正确的,因为我使用相同的代码关联其他记录(没有触发插件),它们执行得很好

        var referencedEntityRelationship = new Relationship(ReferencedEntityRelationshipName);
        var referencedEntityEntities = new EntityReferenceCollection(new EntityReference[] { new EntityReference(ReferencedEntityLogicalName, new Guid(receivedRequest.ReferencingEntityId)) });
        var rtn = new AssociateRequest() { RelatedEntities = referencedEntityEntities, Relationship = referencedEntityRelationship };
        rtn.Target = new EntityReference() { Id = responseId, LogicalName = dataEntityLogicalName };

我知道我可以通过异步运行插件来避免锁定。但是,如果由于某种原因出现故障,我将无法回滚启动插件的初始请求,并通知用户他们需要修复某些东西。对于如何根据触发插件的记录在插件内执行关联请求的任何建议,我们都将不胜感激。

您使用的是哪个汇总?我以前也处理过类似的问题,其中一些问题是在rollup 16-18(我不记得哪个sql发生了哪些更改)前后解决的。我将回顾一些汇总。汇总16(他们有)说“在调用关联请求向团队添加用户时SQL死锁。”我在后面的汇总中没有找到任何关于关联请求或死锁的信息。好主意。目前,我只能使用异步插件,但对于这种特殊需求来说,这是一个非常糟糕的解决方案。任何关于您以前如何处理它的建议都将非常好。我想说的是,在17或18中可能有其他一些SQL更改-不确定它们是否有这样的文档记录。也就是说,如果它们是一对多的,那么我只是使用
Update
方法在适当的记录上设置外键-不要认为这样做有问题。我不记得我是否曾经有过多对多的问题。如果在服务器上进行跟踪,则可以跟踪生成超时的特定调用。是说SQL超时还是一般SQL错误-一般SQL错误更符合我所看到的死锁。