Dynamics CRM レコード削除時の動作の変更について

みなさん、こんにちは。

今回は管理者向けに、 Dynamics CRM 4.0 と Dynamics CRM 2011 について
ユーザーが UI からレコードを削除した場合の内部動作の違いを紹介します。

Dynamics CRM 4.0 のレコード削除

ユーザーが取引先企業や活動等のレコードをアプリケーションの画面から
削除した場合、データベース上ではすぐにデータは削除されず、代わりに
削除フラグが設定されます。削除フラグが設定されたレコードは、UI から
レコードを検索したり、フィルター化されたビューの結果には出力されません。

その後削除サービスと呼ばれる非同期サービスのジョブが、フラグが設定
されたレコードを一定周期でまとめて削除するようになっています。

既定では削除サービスは 24 時間に 1 度実行され、実行時間は Dynamics
CRM サーバーのインストール時刻です。よって日中にサーバーをインストール
した場合、削除サービスも日中に流れるため、全体のパフォーマンスに影響
する可能性があります。その場合は、以下のツールで実行時間の確認や
変更が可能です。

CRM 4 Deployment Job Editor
https://archive.msdn.microsoft.com/ScaleGroupJobEditor/Release/ProjectReleases.aspx?ReleaseId=3251

※注意※
Job Editor からは複数の組織のジョブが確認できますが、異なる組織に
対する同一サービスの実行時間を、必ず異なる時間を指定してください。
秒単位まで同じ時刻を指定すると、不要に重複してサービスが実行される
ことがあります。

この動作は、ユーザーが画面からデータを削除した場合、比較的早く
処理が終わる一方で、削除サービスがそれらのデータを改めて削除
する必要があります。

Dynamics CRM 2011 のレコード削除

Dynamics CRM 2011 においては、ユーザーが取引先企業や活動等の
レコードをアプリケーションの画面から削除した場合、データベース上
からもリアルタイムにデータが削除されます。

この場合、リアルタイムの応答性は下がる可能性がありますが、削除
サービスを利用したデータの削除が不要となります。

ただし、全てのレコードがリアルタイムに削除されるわけではなく、一部の
データは依然として削除サービスを利用しています。以下のツールで
削除サービスの実行時間の確認や変更が可能です。

CRM 2011 Maintenance Job Editor
https://crmjobeditor.codeplex.com/releases/view/69166

※注意※
Job Editor からは複数の組織のジョブが確認できますが、異なる組織に
対する同一サービスの実行時間を、必ず異なる時間を指定してください。
秒単位まで同じ時刻を指定すると、不要に重複してサービスが実行される
ことがあります。

まとめ

今回は、製品のバージョンによって削除サービスの動作の違いを
紹介しました。今後もバージョン間で大きく異なる動作が有る場合は
別途紹介していきます。

- Dynamics CRM サポート 中村 憲一郎