実践 Dynamics CRM環境運用 (2) DBの復元

今回は復元である。

これに関してもDynamics CRMで特別であるという点は1つである。

バックアップを取得した単位を復元するということである。

つまり、同じタイミングで取得したMSCRM_CONFIGとXXX_MSCRMを

同じタイミングで復元しないと整合性がとれないケースが発生するためである。

この観点は実装ガイドにも記載が見当たらない一方で、注意が必要な事項である。

 

まずは、復元手順を記述する。

SQL Server Management Studioがインストールされているサーバにcrmdom\crmadminでログインし、

SQL Server Management Studioを起動する。

[MSCRM_CONFIG]を右クリック[タスク]>[復元]>[データベース]をクリック。

20140807_001

デフォルトのバックアップをしている場合はそのまま[OK]をクリック。

別サーバに保存していたバックアップファイルを復元するなどの場合はバックアップファイルなどを選択する。

[OK]をクリックし、完了すれば問題ないのだが、よく以下のエラーが発生する。

20140807_002

IIS関連サービスもしくはCRM関連サービスが起動していることが大半である。

下記のサービスを停止する。

・IIS Admin Service

・Microsoft Dynamicsで始まる6サービス

20140807_003

・World Wide Web Publishing service

20140807_004

再度、復元を実行すると下記のように成功する。

20140807_005

同じく、CRM_MSCRMにも実行する。

停止したサービスを再開する。

以上。

 

本投稿の最後に前段で触れた「整合性」に関する補足を行う。

そもそも、MSCRM_CONFIGとXXX_MSCRMはどのような位置づけであるかという点から記述する。

MSCRM_CONFIGはDynamics CRM環境に1つだけ存在し、名前のとおりコンフィグ的な位置づけである。

共通の一般設定情報に加え、一部のアカウント(ユーザー)情報を保持していると思われる。

一方、XXX_MSCRMはテナント毎に作成されるものである。

各テナントで作成したエンティティのデータが格納されている。当然アカウント(ユーザー)情報も保持している。

同じタイミングのバックアップアップファイルで復元をしないとそれぞれで格納されている

ユーザー情報の差異が発生するようなイメージである。

上記の考えに至ったテストのサマリが以下である。

20140807_007

実践的なシーンのイメージは下記である。

・バックアップを取る。

・(運用中に)ユーザーが作成される

・(あるテナントで問題があり、そのテナントだけの問題であったから)XXX_MSCRMの復元を行う

・(ユーザー作成後にリストアしたので、)ユーザーを再作成すると右下のエラーが発生し、以降追加できなくなる。

勘のよい方は、マルチテナントで実運用を行うことには潜在的なリスクがあると理解できるだろう。

次回はマルチテナント機能に関して投稿する。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中