Дублирование контактов Exchange и CRM создано 500000 контактов
Здесь есть 2 вопроса,
Один решен, но я до сих пор не знаю, что вызвало его, а другой является побочным эффектом
Я создал один контакт в динамике CRM 2013, ничего особенного в этом процессе не было, он был таким же, как всегда, также обратите внимание, что в контактных формах нет пользовательских плагинов или их рабочий процесс стандартен с несколькими дополнительными полями,
Затем, вчера (3 апреля -15), я получаю звонок от пользователя со снимком экрана со списком контактов в outlook, и мой недавно созданный контакт там, тысячи его копий,
Таким образом, я проверяю в CRM, когда я ищу, я получаю сообщение об ошибке, в котором говорится о многих результатах, поэтому я проверяю непосредственно в БД, у меня 498 564 копии контакта,
Итак, сначала я отключил задачу массового удаления CRM, на это уходит 12 часов, но она устраняет ошибки в CRM,
Файлы журнала асинхронного сервера полны следующих
Crm Exception: Сообщение: Невозможно вставить дубликат ключа. ErrorCode: -2147220937, InnerException: Microsoft.Crm.BusinessEntities.CrmDuplicateRecordException: Невозможно вставить дубликат ключа. в Microsoft.Crm.BusinessEntities.BusinessProcessObject.DbCreate(сущность IBusinessEntity, контекст ExecutionContext) в Microsoft.Crm.BusinessEntities.BusinessProcessObject.DoCreate(сущность IBusinessEntity, контекст ExecutionContext) [2015-04-02 01:57:38.950] Процесс:CrmAsynSc Организация:3752a286-0922-e411-80e2-00505693281b | Поток: 105 | Категория: Платформа | Пользователь: 9af6ba29-6522-4900-9235-61db6f0ca810 | Уровень: Ошибка |ReqId: a2c4d9df-8cf6-44e8-a93a-690e847b MessageProcessor.Execute ilOffset = 0x1C5
MessageProcessor не удалось обработать сообщение "Создать" для "exchangesyncidmapping". [2015-04-02 01:57:38.982] Процесс:CrmAsyncService | Организация:3752a286-0922-e411-80e2-00505693281b | Тема: 105 | Категория: Platform.Sql | Пользователь: 9af6ba29-6522-4900-9235-61db6f0ca810 | Уровень: Ошибка |ReqId: a2c4d9df-8cf6-44e8-a93a-690e847b6580 | BusinessProcessObject.ExecuteNonQuery ilOffset = 0x34
Исключительная ситуация при выполнении незапрошенного запроса: вставка в [ExchangeSyncIdMappingBase]([ObjectId], [ToCrmChangeType], [LastSyncErrorCode], [IsUnlinkedInCRM], [FromCrmChangeType], [ExchangeEntryId], [OwnerIeIdTyTyTyDyTyTy]] UserDecision], [Повторы], [ExchangeSyncIdmappingId], [OwnerId], [OwningBusinessUnit]) значения ('6efce4a2-5bd5-e411-8101-00505693281e', 0, 0, 0, 0, "AAMkADIxNjdlMmIyLTM1MTctNGM5Ny1hMjUzLTJkNmYwNDVhZGJhZQBGAAAAAABTsYsrMJx3TJCdfGJteVkFBwBkWoS7TTKcR6FU7CToX++gAAAAorXRAABkWoS7TTKcR6FU7CToX++gAAAEKU86AAA=', 8, 0, 2, -1, -1, 'f2d412de-cad8-e411-8101-00505693281e', 'bdc484ff-cebc-e411-80f6-00505693281b', '7f7cda54-6e71-e411-80ee-00505693281b') Исключение: System.Data.SqlClient.SqlException (0x80131904): Невозможно вставить повторяющуюся ключевую строку в объект 'dbo.ExchangeSyncIdMappingBase' с уникальным индексом 'ndx_uniqueobjectidmapping'. Значение дубликата ключа (6efce4a2-5bd5-e411-8101-00505693281e, bdc484ff-cebc-e411-80f6-00505693281b). Заявление было прекращено.
Однако мы также используем синхронизацию на стороне сервера, так что теперь у меня есть 4 пользователя, включая меня, с почтовым ящиком по 500 000 контрактов каждый. Попытка просмотреть их в клиенте Outlook, убивает клиента Outlook, в OWA я могу удалить только, может быть, 200 одновременно, поэтому Это займет слишком много времени, чтобы разобраться, придется ли мне делать это вручную.
Итак, мои вопросы Кто-нибудь знает, что могло быть причиной этого в CRM?
Кто-нибудь знает, как я могу быстро удалить эти контакты?
1 ответ
В конце концов, я получил образец EWS с веб-сайта MS и немного изменил его, чтобы удалить контакты, что заняло около 3 дней, чтобы полностью удалить их, но это сработало