Dynamics CRM 2011 メンテナンスジョブの再スケジュール
みなさん、こんにちは。
ゴールデンウィークはいかがお過ごしでしょうか。世間は休みでもシステム
管理者の方は、普段できない管理タスクがあるので忙しいのではないでしょうか。
そんな管理者の皆様向けに、本日は Microsoft Dynamics CRM 2011 のメンテナンス
ジョブのスケジューリングに関して情報をお届けします。
情報元 : Avoid Performance Issues by Rescheduling CRM 2011 Maintenance Jobs
既定で Microsoft Dynamics CRM 2011 は、毎日デイリーで実行されるメンテナンス
ジョブを 6 つ作成します。これらのジョブは Microsoft Dynamics CRM Asynchronous
Processing Service (maintenance) サービスにより実行されます。しかしスケジュール
の時刻は組織が作成された時刻になるため、日中に組織を作成した場合、これらの
ジョブも日中に実行されることになります。そのためユーザーがシステムを利用中に
パフォーマンスが低下していると感じるかもしれません。
よってメンテナンスジョブのスケジュールを、ユーザーの利用が少ない時間帯に変更
することをお勧めします。
メンテナンスジョブのスケジュール変更方法
メンテナンスジョブは、CRM 2011 Maintenance Job Editor Tool を利用して変更
が行えます。以下に手順を紹介します。
1. まず CRM 2011 Maintenance Job Editor Tool をダウンロードします。
https://crmjobeditor.codeplex.com/
2. 展開したツールを C:\Program Files\Microsoft Dynamics CRM\tools に
コピーします。
3. CRM2011JobEditor.exe をダブルクリックして実行します。
4. スケジュールを変更したい組織を選択します。
5. 既定ではそれぞれのジョブが同時に実行されないように、微妙に時刻をずらして
います。手動でスケジュールを変更する際も全てのジョブの実行時間が同時にならない
ように、分の部分はそのままにしておくことをお勧めします。StartingAt で時刻を変更
したら、Update をクリックします。
Reindex All ジョブの無効化
Reindex All ジョブは必要に応じてインデックスを最適化すると同時にデータベースを
圧縮します。しかしデータベースの圧縮を避けたいお客様は多く、またインデックスの
メンテナンスも、既にジョブを作成している場合があります。このような場合には、この
Reindex All ジョブを無効にしたいと考えるでしょう。
メンテナンスジョブを無効にする機能はありませんが、Next Run Time を 2099年等に
設定することで、実質的に無効にすることが可能です。
他にもこのジョブの実行に時間を要する場合には、以下のエラーがイベントログに
記録される場合があります。この場にも Reindex All ジョブの実行時間を変更して
SQL Server のメンテナンスプランを利用したい場合があります。
Query execution time of x seconds exceeded the threshold of 10 seconds. Thread: 13; Database: <database_name); Query: exec p_ShrinkMirroredDatabase <database name>
Query execution time of x seconds exceeded the threshold of 10 seconds. Thread: 20; Database: <database_name); Query: exec p_ReindexAll <database name>
Host <CRMServerName>.MSCRMAsyncService$maintenance.8b60c4b9-0879-4a1d-96c0-eada4e3cbc91: Job Scheduler has executed tasktype=30, organizationid=<OrganizationID>, starttime=5/9/2011 3:25:23 PM, endtime=3/9/2012 3:55:23 PM, resultcode=1, errormessage=System.Data.SqlClient.SqlException (0x80131904): Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
まとめ
メンテナンスジョブは Microsoft Dynamics CRM 2011 システムにおいてとても
重要な役割を果たしますが、一方で実行時間などで管理者の方がある程度
コントロールすることも可能です。是非一度お手元の環境でメンテナンスジョブの
実行時間を確認してみてください。
‐ Dynamics CRM サポート 中村 憲一郎