Dynamics CRM 4.0 のバックアップとリストア方法を掲載します。リポーティングサービスやIISの構成まで含めたバックアップ、リストア手順は掲載していません。サンプルでは、CRMアプリケーションで使用するデータベースやユーザ情報のバックアップとリストア方法を掲載します。

バックアップ手順はオールインワン構成(一つのOSにDC, DB, Crm がインストール)の環境で確認しています。開発者が開発用に構築した環境に対して行う手順を適用できると思います。

商用環境では、掲載する方法だけではADの復元などはできないと思いますので、きちんとした手順でバックアップ、リストア手順を確立するようにしてください。

1. Dynamnics CRM のバックアップを取る

CRM の設定、状態を復元できるようにするためには、CRMの設定が保存された MSCRM_CONFIG データベースと、 組織ごとに作成される 組織名_MSCRM データベースを保存します。レポーティングサービス用の構成もリストア対象とする場合は、リポーティングサービスで使用される2つのデータベースもバックアップをとります。

CRMユーザを追加した場合や有効無効化した場合にユーザの所属グループの変更が行われるため、CRMユーザの有効化、無効化および新規登録される可能性がある場合は、システム状態もバックアップを取ります。

1.1 CRMデータベースのバックアップ

SQL Server Management Studio 上でデータベースを右クリック→タスク→バックアップでCRM設定用のデータベースのバックアップを取得します。バックアップ先デバイスにファイルを設定し、ファイルを選択してOKボタンをクリックします。

次に組織ごとに 組織名 + "_MSCRM" という名前で作成されるデータベースを Management Studio からバックアップします。

レポーティングサービスで使用しているデータベースReportも必要があればバックアップを行ってください。

1.2 システム状態のバックアップ

CRMユーザの登録や、有効、無効化する場合はADのユーザの所属するグループの変更も発生します。ADユーザの状態も含めてリストアする場合はシステム状態もバックアップします。下図では、ntbackup ユーティリティを使用してシステム状態のバックアップを作成しています。ntbackup は スタート→すべてのプログラム→アクセサリ→システムツール→バックアップ から起動します。

2. リストアを行う

バックアップを取得したシステム状態とCRMのデータベースを復元します。

2.1 システム状態をリストアする

システムの状態も含めてリストアする場合はシステム状態を復元します。Windows を再起動して、起動中に F8 ボタンを押して、拡張オプションメニューを表示します。 ディレクトリサービス復元モード を選択して、復元モードで起動します。

 Windows が起動した バックアップと同様にntbackup を起動して復元を行います。

2.2 CRMデータベースをリストアする

データベースをリストアする前に、IIS と 非同期サービスを停止させる必要があります。停止していない場合、リストア中に下図のような"データベースは使用中なので、排他アクセスを獲得できませんでした。" というメッセージが表示されることがあります。

コマンドプロンプトを起動して、IIS を停止します。 iisreset /stop と入力して実行します。

続いて、 Microsoft CRM 非同期処理サービスを停止します。 net stop MSCRMAsyncService と入力して実行します。

サービスの停止は下図のようにサービスの停止スナップインからも行えます。管理ツール→サービスを選択してサービスのスナップインを表示し、Microsoft CRM 非同期処理サービスを停止させてください。

サービスを停止した後はデータベースの復元を行います。復元するデータベースはバックアップを取った MSCRM_CONFIG データベースと組織ごとに作成される 組織名_MSCRM というデータベースを復元します。レポーティングサービスなどで使用しているデータベースなどもあれば必要に応じて復元してください。

SQL Server Management Studio を起動し、データベースを右クリック→タスク→復元でデータベースを復元します。復元先データベースにMSCRM_CONFIGを選択します。デバイスから復元でバックアップしたファイルを選択し、復元するバックアップセットを選択します。

左ペインのオプションを選択して、既存のデータベースを上書きする復元オプションを選択して、OKボタンをクリックしてリストアを行います。復元中にエラーダイアログが表示される場合は、 非同期サービスやIIS サービスが停止していることを確認してください。それでもうまくいかない場合は、 SQL Server を再起動して同様の復元処理を行ってください。

次に組織ごとに作成されるCRMのデータベースを復元します。下図では、crmorg02という組織のデータベースcrmorg02_MSCRMをリストアしています。MSCRM_CONFIG データベースを復元したときと同様に、復元するファイルを選択し、復元するバックアップセットを選択します。そして左ペインのオプションを選択し、復元オプションに、既存のデータベースを上書きするを選択します。OKボタンをクリックして復元を行います。

復元中に排他アクセス関連のエラーが発生する場合は、 IISサービスと非同期サービスが停止していることを確認し、SQL Server を再起動してからリストアをサイド実行してください。

リストア作業が完了後、停止していたサービスを開始します。

コマンドプロンプトから、 iisreset /start と入力して、 IIS サービスを開始します。

次に、 net start MSCRMAsyncService を入力して、Microsoft CRM 非同期処理サービスを開始します。GUI上で操作を行う場合は、管理ツール→サービスから開始するサービスを選択してサービスを開始します。

以上でリストア作業は完了です。

3. まとめ

今回の説明は以上です。商用環境ではデータベースの構成が複雑であったり、IISのバックアップや復元方法も手順として確立する必要があると思います。

開発用に使用している環境の場合などでは掲載したバックアップとリストア方法でが役に立つと思います。

間違い、指摘点などがあればご連絡ください。では。