SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

WSFC で MSDTC の修復手順

leave a comment

ディスク署名の変更時の修復作業で MSDTC のリソースを使用して修復検証をしていたところ、
ディスクを再作成した際に MSDTC のリソースが起動しなくなりましたので、修復手順を
まとめてみたいと思います。

以下の 2 パターンで検証をしてみました。

  1. バックアップが存在しない
  2. Windows Server バックアップでバックアップが取得されている

[バックアップが存在しない]

ディスクを復旧しても MSDTC のリソースをオンラインにすることができません。
image

バックアップが存在しない場合は、復旧元のデータが存在しませんので、MSDTC のリソースのみを
再作成することでリソースをオンラインにすることができるようになります。

  1. MSDTC のリソースを [右クリック] → [削除] をクリックします。
    image
  2. [はい] をクリックします。
    image
  3. [操作] → [リソースの追加] → [その他のリソース] → [分散トランザクション コーディネータ の追加] を
    クリックします。
    image
  4. MSDTC のリソースが作成されます。
    この状態ではリソースの依存関係がなにも設定されていないのでオンラインにすることはできません。
    image
  5. MSDTC のリソースを [右クリック] → [プロパティ] をクリックします。
    image
  6. [依存関係] タブで、MSDTC で使用する [コンピュータ名] と [クラスタ ディスク] の依存関係を設定し、
    [OK] をクリックします。
    image

これでリソースをオンラインにすることができます。

image

コンピュータ名の再作成が発生すると AD 上のコンピュータアカウントに対しての作業が発生する可能性がありますので、
MSDTC のリソースだけを再作成してあげるのがシンプルではないかと思います。

[Windows Server バックアップでバックアップが取得されている]

続いて MSDTC で使用しているディスクを Windows Server バックアップで取得していた場合を検証してみます。

  1. [Windows Server バックアップ] で MSDTC で使用しているディスクの情報を復元します。
    image
  2. MSDTC のリソースをオンラインにします。
    image

バックアップが存在している場合は簡単にオンラインにすることができました。
[msdtc ?resetlog] は実行しなくてもエラーは発生しませんでした。

?

実際の運用ではバックアップを取得していない状態は基本的にない (と信じたいです…。) ので、
バックアップから復元してからオンラインにするパターンになると思いますが、バックアップがなくても
リソースの再作成だけで対応することができそうです。

Share

Written by Masayuki.Ozawa

10月 11th, 2009 at 5:44 am

Posted in MSCS/WSFC(MSFC)

Leave a Reply