COM+ CRM 啟動和復原

如果伺服器應用程式已選取 [ 啟用補償資源管理員 ] 複選框(使用元件服務系統管理工具,在 COM+ 應用程式屬性頁的 [進階 ] 索引卷標上),第一次啟動時,它會建立 CRM 記錄檔,供該伺服器應用程式程式中的所有 CMS 使用。 (如需設定CRM的詳細指示,請參閱 設定 COM+ CRM 元件。)

為伺服器應用程式建立的CRM記錄檔名稱是以伺服器應用程式的AppId(GUID) 為基礎,而CRM記錄檔會放在與 DTC 記錄檔相同的目錄中(通常是您的 %SystemRoot%\winnt\system32\DtcLog 目錄)。 CRM 記錄檔的擴展名為 .crmlog。

注意

基於效能考慮,可能需要變更CRM記錄檔的預設位置(讓 DTC 記錄檔位於與CRM記錄檔不同的磁碟上),或可能是因為在叢集環境中使用CRM。 您可以使用 COM+ 系統管理 SDK 來變更 CRM 記錄檔的位置。 屬性名稱為CRMLogFile,且存在於Applications集合物件上

 

當伺服器應用程式 (已啟用 CRM) 啟動時,並發現該伺服器應用程式已經存在 CRM 記錄檔時,它會在該 CRM 記錄檔上執行復原。 復原 是完成任何因失敗中斷之交易的程式,並牽涉到CRM基礎結構讀取未完全完成之任何交易的CRM記錄檔。 如果找到任何專案,它會連絡 DTC 以判斷交易結果。 然後它會建立CRM補償器,並視需要傳遞認可或中止通知,以及相關聯的記錄檔記錄。

復原期間,CRM Compensator 不會收到準備通知。 CRM Compensator 具有旗標,可區分在正常作業期間或復原期間呼叫它。

復原通常只會在伺服器應用程式因伺服器應用程式當機或計算機當機而異常關機時,才會發現未完成的交易。 如果允許伺服器應用程式正常關閉,因為閑置逾時或透過元件服務系統管理工具手動關機,記錄檔將會清除。

不會自動起始 CRM 伺服器應用程式以進行復原。 必須採取一些外部動作,才能啟動需要復原的CRM伺服器應用程式。 這通常是在該伺服器應用程式中建立元件。

COM+ 補償 Resource Manager 概念

COM+ CRM 作業程式