次の方法で共有


COM+ CRM の起動と回復

サーバー アプリケーションで [補正リソース マネージャーを有効にする] チェックボックスが選択されている場合 (COM+ アプリケーションのプロパティ ページの [詳細設定] タブでコンポーネント サービス管理ツールを使用)、最初の起動時に、そのサーバー アプリケーション プロセス内のすべての CRM によって使用される CRM ログ ファイルが作成されます。 (CRM の構成に関する詳細な手順については、「COM+ CRM コンポーネントの構成」を参照してください。)

サーバー アプリケーション用に作成された CRM ログ ファイルの名前は、サーバー アプリケーションの AppId (GUID) に基づいており、CRM ログ ファイルは DTC ログ ファイルと同じディレクトリ (通常は %SystemRoot%\winnt\system32\DtcLog ディレクトリ) に配置されます。 CRM ログ ファイルの拡張子は .crmlog です。

Note

パフォーマンス上の理由 (DTC ログ ファイルを CRM ログ ファイルとは異なるディスクに配置するため) や、クラスター環境での CRM の使用が原因で、CRM ログ ファイルの既定の場所を変更することが必要な場合があります。 CRM ログ ファイルの場所は、COM+ 管理 SDK を使用して変更することができます。 プロパティ名は CRMLogFile で、Applications コレクション オブジェクトに存在します。

 

サーバー アプリケーション (CRM 対応) が起動し、そのサーバー アプリケーションに対して CRM ログ ファイルが既に存在することが検出されると、その CRM ログ ファイルに対して復旧が実行されます。 復旧は、障害によって中断されたトランザクションを完了するプロセスです。このプロセスでは、CRM インフラス トラクチャが CRM ログファイルを読み込んで、完全に完了しなかったトランザクションを探します。 検出された場合は、DTC に連絡してそのトランザクションの結果を判断します。 次に、CRM コンペンセータを作成し、必要に応じて、関連付けられたログ レコードと共にコミットの通知または中止の通知を渡します。

復旧中は、CRM コンペンセータは準備通知を受け取りません。 CRM コンペンセータには、通常の操作中に呼び出されているか、復旧中に呼び出されているかを区別するためのフラグがあります。

通常、サーバー アプリケーション プロセスのクラッシュまたはコンピューターのクラッシュが原因で、サーバー アプリケーションが異常終了した場合にのみ、復旧によって未完了のトランザクションが検出されます。 アイドル タイムアウトまたはコンポーネント サービス管理ツールを使用した手動シャットダウンにより、サーバー アプリケーションが正常にシャットダウンされた場合は、ログ ファイルには記録されません。

復旧のための CRM サーバー アプリケーションの起動は、自動的には開始されません。 復旧が必要な CRM サーバー アプリケーションを起動するには、何らかの外部からのアクションを実行する必要があります。 通常の場合は、そのサーバー アプリケーションにコンポーネントを作成します。

COM+ 補正リソース マネージャーの概念

COM+ CRM の運用プロセス