2

我有一個數據庫已損壞的Dynamics CRM 2011實例。損壞的數據似乎被隔離到幾個表(例如PrincipalObjectAccess),並且該實例對所有外觀仍然正常工作。數據是不可挽回的(所有形式的DBCC CHECKDB等都已經運行),並且備份不可用(在備份上傳播無助於解決問題)。在Dynamics CRM 2011實例之間遷移數據?

我試過使用模式和數據同步工具,如dbForge和Red-Gate提供的工具,模式同步工作,但數據同步似乎總是出現不一致。

在這個時候,我認爲我的最佳途徑可能是從Dynamics CRM 2011中導出所有數據,然後將其導入到Dynamics CRM 2011的新實例中。有關完成此任務的最佳方法的任何想法?或者糾正這種情況的其他方法?

回答

1

這真的取決於您的數據範圍。你是在談論數以百萬計的記錄與一個巨大的實體列表,或者你是在談論一對夫婦實體有一千個左右的記錄?

如果它很小,可以嘗試通過excel導出,然後導入到新的組織中。

SSIS,CozyRoc或Scribe將做的伎倆。如果它是一個任務危急的情況,我會選擇Scribe並按實體進行實體化。

+0

感謝您的建議。這是一些實體,一些有10萬-500萬條記錄。 – davemackey

2

如果可以,導出到Excel並從那裏導入。
優點:方便,快捷,可握

如果不能,設計一個連接到服務器,查詢它,獲取數據,並猛推到另一個實例的控制檯應用程序。
優勢:完全控制,重複性,可配置性,冷靜的因素,你會得到鍵入一些代碼

4

導出所有數據,將它導入到新的組織將有可能創造更多的錯誤,我不會除非一切都失敗,否則不會採用該選項。

您說數據同步失敗:您是否嘗試先刪除新實例中的所有數據,然後再運行數據同步。當數據已經存在那裏時,它應該比同步更簡單。

您是否嘗試過使用ApexSQL Data Diff同步數據?

另一個可以嘗試的方法是不需要創建新組織就是讀取SQL Server事務日誌並檢查是否可以在其中找到損壞的數據。如果您可以檢索數據,那麼您可以使用有效數據重新創建表格,這樣你就會很好。不幸的是,這是唯一可能使用第三pary工具,如ApexSQL Log