我一直在研究如何從MS Dynamics CRM 2011/3在線實例中提取數據,以便我可以在目標數據庫中複製整個CRM實體。從MS Dynamics CRM提取數據時如何獲得快照一致性?
我看了組織Web服務的RetrieveAll RetrieveAll操作。這些能夠從單個CRM實體(實體類型)提取數據。
另外還有FetchXML接口,可以使用一個複雜的查詢,從多個實體中檢索數據。
當沒有用戶或通過Web服務進行數據更改時,我可能會用不安靜的時間從數據中提取數據,以獲取數據的一致快照。
如果我能夠訪問SQL Server數據庫直接我就能夠設置事務隔離級別和事務中提取所有數據,並得到一致的數據視圖。
我覺得FetchXML會給我一個一致的快照,但只能通過每次調用它查詢的數據。
我可以使用FetchXML查詢所有我想複製,在一個單一的呼叫,然後renormalise數據,具有一定的ETL代碼,我的目標數據庫的實體。該查詢雖然不好(複雜且可能性不高,並影響系統性能)。
所以,基本上我的問題是這樣的:如果我依次從各實體提取,並且數據庫正在改變,而我解壓,我非常希望得到不一致的數據,我的目標數據庫中設置。
如何獲得一致的數據快照以訪問?
雖然我想每天運行extrat進程。外部流程真的沒有辦法讓CRM數據庫的一致快照從中讀取嗎? –
@ user976212您正在描述像Scribe這樣的公司如何保持在線crm數據庫的在線副本同步。如果訂閱第三方服務不是一種選擇,您將不得不復制它們的功能(這可能但更容易購買) – keerz
我沒有描述保持同步的副本。我正在描述一個讀取一致的CRM數據快照。複製工具(至少RSSBus,我試圖找出Scribe)似乎並沒有提供一致的數據,因爲它們依次從每個實體中提取數據,並且如果CRM數據庫正在更改,您將獲得不一致的數據視圖在目標數據庫中。 RSSBus正在爲我着想。看起來很瘋狂,在CRM Online中這是不可能的。 –