2

我有一个数据库已损坏的 Dynamics CRM 2011 实例。损坏的数据似乎与几个表(例如 PrincipalObjectAccess)隔离,并且该实例在所有外观上仍然正常运行。数据无法恢复(所有形式的 DBCC CHECKDB 等都已运行)并且备份不可用(对备份宣讲无助于解决问题)。

我尝试过使用 dbForge 和 Red-Gate 提供的模式和数据同步工具,模式同步有效,但数据同步似乎总是不一致。

在这个时刻,我认为我最好的方法可能是从 Dynamics CRM 2011 中导出所有数据,然后将其导入到 Dynamics CRM 2011 的新实例中。关于实现此目的的最佳方法有什么想法吗?或者改正这种情况的替代方法?

4

4 回答 4

4

导出所有数据并将其导入新组织可能会产生更多错误,除非其他一切都失败,否则我不会真正选择该选项。

您说数据同步失败:您是否尝试过先从新实例中删除所有数据,然后再运行数据同步。当数据已经存在时,它应该比同步更简单。

您是否尝试过使用ApexSQL Data Diff同步数据?

您可以尝试的另一个不需要创建新组织的选项是读取 SQL Server 事务日志并检查是否可以在其中找到损坏的数据。如果您可以检索数据,那么您可以使用有效数据重新创建表,一切都会好起来的。不幸的是,这只能使用ApexSQL Log等第三派工具

于 2013-02-03T13:36:00.490 回答
3

我建议查看 CRM 2011 实例适配器

与 Scribe 不同,它是免费的。

微软博文:http: //blogs.msdn.com/b/crm/archive/2012/10/24/the-microsoft-dynamics-crm-2011-instance-adapter-has-released.aspx

PowerObjects 也写了一篇关于它的文章: http ://www.powerobjects.com/blog/2012/10/26/introduction-microsoft-dynamics-crm-2011-instance-adapter/

彼得

于 2013-01-25T15:13:03.947 回答
2

如果可以,导出到 Excel 并从那里导入。
优点:简单、快速、易掌握

如果不能,请设计一个控制台应用程序来连接到服务器、查询它、获取数据并将其推送到另一个实例中。
优点:完全控制、可重复性、可配置性、凉爽因素,您可以输入一些代码

于 2013-01-24T20:49:37.447 回答
1

这实际上取决于您的数据范围。您是在谈论具有大量实体列表的数百万条记录,还是在谈论具有大约一千条记录的几个实体?

如果它很小,您可以随时尝试通过 excel 导出,然后导入到新组织中。

SSIS、CozyRoc 或 Scribe 可以解决问题。如果是关键任务情况,我会选择 Scribe 并逐个实体进行。

于 2013-01-24T15:52:41.353 回答