Dynamics CRM 2014 年春/SP1 SDK の新機能 Configuration Migration ツール前編

みなさん、こんにちは。

今回は Microsoft Dynamics CRM Online 2014 年春バージョン及び設置型用
サービスパック 1 で提供される SDK の新しいツールより Configuration
Migration Tool を紹介します。今回は概要を紹介し、次回で実際の動作を
確認していきます。今回は文字ばかりで次回は画面ショットばかりですが
いずれも重要な情報ですので、是非ご覧ください。

概要

Microsoft Dynamics CRM 用のカスタムのソリューション開発を行う場合、
ソリューション機能を利用することでカスタマイズ情報やシステム設定の
情報、カスタムレポートやワークフロー、プラグインなどは容易に他環境
に移行できますが、独自の設定をカスタムエンティティのレコードとして
持たせている場合、レコードは別途エクスポート/インポート機能などを
利用して移行する必要があります。ただし複雑な関連がある場合は、容易
なタスクではありませんでした。

Configuration Migration Tool は上記のタスクを容易に行えるツールとして
提供されます。つまり異なる Microsoft Dynamics CRM 組織間でレコードを
容易に移行することが可能です。

機能

Configuration Migration ツールには以下の機能があります。

・ エクスポートしたいエンティティとフィールドを指定できます。
・ 複数のフィールドを利用してレコードの一意性を指定できます。これに
より重複レコードの作成を避けれます。特に指定がない場合は、プライマリ
フィールドの値を持って重複の確認をおこないます。
・ プラグインの無効/自動を制御できます。
・ インポート前に移行先組織に必要なカスタマイズが適用されていることを
自動で確認します。
・ 既存のスキーマ利用して、移行元の組織からデータをエクスポートします。
・ ツールでエクスポートしたデータを他のプログラムに含めて利用する。
こちらは後日詳細を紹介します。

尚、Configuration Migration ツールでデータをエクスポートする際には、
フィルターを行うことはできず、対象エンティティのすべてのデータを
エクスポートします。

動作

以下に Configuration Migration ツールが動作するフローを紹介します。

 

Configuration migration process flow diagram

1. 移行元組織からエクスポートするデータのスキーマを生成します。
スキーマ情報にはエンティティやフィールド、関連などの情報の他にも
一意となるフィールドの組み合わせや、プラグインを無効にするべきか
などの情報を含みます。

2. スキーマ情報を元にデータをエクスポートします。エクスポートした
データはスキーマと一緒に .zip ファイルに圧縮されます。

3. .zip に含まれるスキーマとデータを利用して、移行先組織にデータを
インポートします。インポート処理はデータの依存関係を把握した上で
何度かのプロセスを経て行われます。

トラブルシューティング

万が一ツールがうまく動作しない場合にも、ツールはログを出力することが
可能なため、容易にトラブルシューティングを行えます。ログは以下パスに
出力されます。

c:\Users\ <UserName> \AppData\Roaming\Microsoft\DataMigrationUtility\ <Version>

Login_ErrorLog.log

Microsoft Dynamics CRM 組織へのログインに失敗した場合に出力されます。

DataMigrationUtility.log

ツールで行う各タスクにおけるエラーの詳細を含みます。ツールのログメニュー
からも表示可能です。

ImportDataDetail.log

インポートされたデータの詳細を含みます。ツールでデータをインポートする
度に以前のログは ImportDataDetail._old.log ファイルに移動されるため、常に
最後に実行した情報が含まれます。

ベストプラクティス

・データのエクスポートをする際、一意となるフィールドの組み合わせを明示
的に指定する。

・データのインポートは一旦テスト環境に行い、意図した通りの動作である事
を確認してから本番環境でのインポートを行う。

・本番環境のデータはバックアップしておく。

次回は上記の情報を踏まえて実際のツールの使い方を紹介します。

- 中村 憲一郎