SMBWitnessClient のエラーについて

皆さま、こんにちは。Windows プラットフォームサポートの佐藤です。

 

Windows Server 2012 以降で SQL Server をクラスタ構成でご利用の環境にて、以下のイベントログが定期的に出力されるとのお問い合わせをいただくことがありますので、ご紹介させていただきます。

 

ソース: SMBWitnessClient

イベント ID: 8,9,16

 

本イベントは、Windows Server 2012 以降の OS バージョンで新たに導入された SMB Witness の機能において問題が発生したことを示すものです。

SMB Witness の機能は、ファイル共有のクラスター リソースと連携して動作し、フェールオーバー時の透過的なファイル共有アクセスを提供します。

これにより、クライアントはファイル サーバー側でフェールオーバーが発生した場合でも、これまでにアクセスしていたファイルを再度開きなおすことなく、処理を継続できることが期待されます。

エラーが発生した場合の影響としては、SMB Witness の機能が正常に利用できくなることが想定されます。

しかしながら、クラスターのフェールオーバー自体は SMB Witness とは別の仕組みで行われますので、フェールオーバーの正常動作に影響を与えるものではございません。

あくまでも、SMB Witness の機能による透過的なファイルアクセスが使用できなくなることが影響の範囲となります。

 

なお、このエラーは SQL Server のクラスター リソース名と DNS 名が異なるために発生します。

SQL Server のインストールを行うと、クラスタのリソース名は "SQL Network Name (<DNS 名>)" となるのが既定の動作であり、この動作をインストール時の指定等で変更することはできません。 

これを解消するためには、SQL Server のインストール後に、次の手順により、クラスタリソース名と DNS 名を同一の名前に統一してください。

 

1. クラスター マネージャーを起動します。

2. "役割" をクリックします。

3. 中央上画面にて該当の名前を選択します。

4. 中央下画面にて、"リソース" タブを選択します。

5. サーバー名を右クリックし、プロパティを開きます。

6. "全般" タブの DNS 名を一旦、任意の値に変更し、"適用" します。

7. 再度、DNS 名を元の正しい値に変更し、"適用" します。

 

DNS 名の変更により、"全般" タブの "名前" の項目が DNS 名と同一となることをご確認ください。

 

「コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。」