当我尝试保存新实体时,我收到以下错误:
System.Data.SqlClient.SqlException:Microsoft Dynamics CRM遇到错误。错误代码 - -2147220970。
如何解决此错误?
感谢
答案 0 :(得分:0)
当查看SDK \ SampleCode \ CS \ HelperCode \目录中CRM 2015 SDK中的errorcodes.cs时,此错误对应于“public const int UnExpected = unchecked((int)0x80040216); // -2147220970”。话虽如此,正如一些评论中所提到的,这可能对应于Microsoft SQL超时和/或SQL死锁。您还应该查看Microsoft CRM服务器应用程序事件日志。 MSCRMPlatform源的事件ID 17972对应于花费超过10秒的CRM查询,并且将包括查询的全文。请注意,如果在创建新实体期间出现SQL死锁或长时间运行的SQL阻止,那些显示为长时间运行的查询可能不一定是昂贵的SQL查询,但恰好碰到阻止阻止阻止他们没有被迅速执行。
如果不了解SQL Server环境和自定义项的完整详细信息,我会增加Microsoft Dynamics CRM用于这些平台生成的查询的超时。如果您尚未更改默认值,则默认为CRM生成的SQL查询超时30秒。
我会通过在Microsoft CRM服务器上运行RegEdit并在下面添加注册表项(作为REG_DWORD KEY)将超时增加到 600 十进制值。请注意,如果增加更多,可以完成,因为它表示以秒为单位的超时值,但我通常绝不建议将此设置为远高于600十进制,除非您执行的操作类似于导入Microsoft CRM组织或从旧版本更新。如果Microsoft CRM查询的执行时间比执行的时间长,则需要识别和调整这些查询和/或调整Microsoft SQL Server的性能。这个答案需要比我更多的空间,但如果你想要一个好的工具和SQL Server数据收集和调优的参考,我会从SQLNexus工具和PSS Perf等待统计数据收集脚本开始,你可以阅读并从此链接下载:http://sqlnexus.codeplex.com/
HKLM \ SOFTWARE \微软\ MSCRM \ OLEDbTimeout