使用中のデータを FRS でレプリケートするときにエラー "ERROR_SHARING_VIOLATION" が発生する

文書翻訳 文書翻訳
文書番号: 822300 - 対象製品
重要 : この資料には、レジストリの編集方法が記載されています。万一に備えて、編集の前には必ずレジストリをバックアップし、レジストリの復元方法を理解しておいてください。バックアップ、復元、および編集方法の詳細を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
256986 Microsoft Windows レジストリの説明
すべて展開する | すべて折りたたむ

目次

現象

SYSVOL レプリカ セットをホストしている分散ファイルシステム (DFS) レプリカ メンバまたはドメイン コントローラで、次のようなイベントがイベント ビューアのファイル レプリケーション サービス (FRS) 領域に表示されることがあります。

種類 : 警告
ソース : NtFrs
分類 : なし
イベント ID : 13573
日付 : date
時刻 : time
ユーザー : N/A
コンピュータ : ComputerName
説明 :
ファイル レプリケーション サービスによるファイルの更新が繰り返し失敗しています。

ファイル名 : Filename.txt
ファイル GUID : 97130a43-f134-4595-88cc6c87c3d41955

ファイルで共有違反が継続して起きていることが原因です。共有違反は、別のユーザーまたはアプリケーションがファイルを開いたままのときに起こり、FRS がファイルを更新できないようにします。共有違反のためにファイルの更新が失敗すると、レプリケートされたコンテンツが最新のコンテンツではなくなることがあります。FRS はこの更新を再試行し続けますが、共有違反が解消されるまでファイルは更新されません。


共有違反の原因として、対象のコンピュータにレプリケートするファイルが他のソースで開かれている可能性があります。共有違反が発生しているファイルの完全なパスを確認するには、compmgmt.msc で [コンピュータの管理]、[共有フォルダ]、[開いているファイル] の順に開き、問題のファイルおよびそのファイルを開いているユーザーを表示します。上記のイベントに表示されたファイルを探し、そのファイルを右クリックします。[開いているファイルを閉じる] オプションを選択し、強制的にファイルを閉じます。同じ名前の複数のファイルが開いている場合、すべてのファイルを閉じるか、またはサポート技術情報に記載されている詳細な手順を実行して、完全なパスがイベントで報告された GUID に一致するファイルを特定することが必要な場合があることに注意してください。

原因

次のいずれかの原因によって、この問題が発生することがあります。
  • 共有違反が発生したため、FRS がレプリケート先にファイルをインストールできない。
  • FRS で共有違反が発生したため、レプリケートするステージング ファイルを FRS が生成できない。
共有違反は、レプリケートするファイルへのハンドルが他のソースで開かれている場合に発生する可能性があります。通常、共有違反を引き起こす原因となる可能性があるのは以下のプログラムです。
  • ウイルス対策プログラム
  • ディスク最適化ツール
  • アクセス制御リスト (ACL) の変更を頻繁に適用するファイル システム ポリシー
  • レプリカ セットに含まれる、常時使用中になるユーザー プロファイルまたは個人データ
  • エンド ユーザー、プログラム、またはプロセスによって長時間開いたままにされるその他の種類のデータ

解決方法

この問題を解決するには、以下のいずれかの方法を使用します。

方法 1 : Install Override 機能を使用する

Windows Server 2003 の Install Override 機能を使用すると、ロックされているファイルの名前を変更できます。これによって、FRS がファイルをレプリケートできるようになります。 この機能を有効にする方法および使用する方法の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
816493 ファイル レプリケーション サービスを構成して、レプリケーションをブロックする共有違反を軽減する方法

方法 2 : ロックされているファイルを特定し、ハンドルを解放する

Windows Server 2003 を使用していない場合、または Install Override 機能を有効にしない場合、この問題の発生を防止する唯一の方法は、ロックされているファイルのハンドルを解放することです。ただし、13573 イベントの報告数は Max Sharing Violation Event 設定に指定されている 1 時間あたりの最大報告数に制限されているため、同じ状況のファイルでも報告されていないものがある場合があります。そのため、ロックされているすべてのファイルのハンドルを解放するには、最初に、開かれているファイルをすべて特定する必要があります。

Windows 2000 でこの問題を追跡するには、「サポート技術情報」 (Microsoft Knowledge Base ) の以下の資料に記載されている修正プログラムをダウンロードしてインストールします。
815473 ファイル レプリケーション サービスが共有違反のエラーをログに出力しない
この修正プログラムを使用すると、13573 イベントのログ出力を制御するオプションを設定できます。この修正プログラムには、Windows Server 2003 にある "Install Override 機能" は含まれていません。

INSTALL_RETRY 状態にあるすべてのファイルを特定するには、ntfrsutl.exe inlog コマンドを実行し、状態が IBCO_INSTALL_RETRY としてマークされているファイル エントリをすべて検索します。開かれているファイルの完全なパスを調べるには、次の手順を実行します。
  1. イベント ID の説明または取得した inlog データのいずれかからファイル GUID を調べます。inlog データの例を次に示します。
    Table Type : Inbound Log Table for DOMAIN SYSTEM VOLUME (SYSVOL SHARE) (1)
    Flags : 010000c6 Flags [VVAct Content Retry InstallInc CmpresStage ]
    IFlags : 00000001 Flags [IFlagVVRetireExec ]
    State : 0000000d CO STATE: IBCO_INSTALL_RETRY
    FileGuid : 36a42f7e-b3a9-494c-ae0cef2929771d6e
    EventTime : Thu May 29, 2003 19:13:40
    FileName : Filename.txt
  2. 利用可能なツールを使用するか、または IDTable エントリのデータを解析して、ファイル GUID を完全なパスに変換します。ntfrsutl idtable コマンドを使用して、このデータを抽出できます。

開かれたままのファイルのパスを調べる

開かれたままのファイルのパスを調べるには、次の手順を実行します。
  1. FRSDiag.exe を入手して実行します。FRSDiag.exe を入手するには、以下のマイクロソフト Web サイトにアクセスします。
    http://www.microsoft.com/downloads/details.aspx?FamilyId=43CB658E-8553-4DE7-811A-562563EB5EBF&displaylang=en
  2. エラーが発生している対象サーバーの名前を入力するか、または [Browse] をクリックしてサーバーを指定します。
  3. [Selections] メニューの [Uncheck All] をクリックします。
  4. [IDTable Parser] チェック ボックスをオンにします。
  5. [GO] をクリックします。

    %USERPROFILE%\Desktop\Logs フォルダの下に FRSDiag.txt という名前のファイルが作成されます。
  6. FRSDiag.txt で、ファイル GUID とファイルの日付を検索します。
開かれているファイルを確認したら、Sysinternals の Process Explorer を使用して、ファイルをロックしているプロセスを特定できます。Process Explorer をダウンロードするには、以下の Sysinternals Web サイトにアクセスします。
http://www.microsoft.com/technet/sysinternals/utilities/ProcessExplorer.mspx
Process Explorer を使用するには、次の手順を実行します。
  1. Process Explorer を起動し、すべてのプロセス情報が読み込まれるまで待ちます。
  2. [Find] メニューの [Find Handle or DLL] をクリックします。
  3. ファイルのパス (たとえば、scripts\filename.txt) を入力し、[Search] をクリックします。
  4. プロセスが見つかったら、そのプロセスをダブルクリックし、開かれたままになっているファイルの名前であることを確認します。
  5. 必要に応じてプロセスを終了します。
他社テクニカル サポートのお問い合わせ窓口は、ユーザーの便宜のために提供されているものであり、将来予告なしに変更されることがあります。マイクロソフトは、掲載している情報に対して、いかなる責任も負わないものとします。

この資料に記載されているサードパーティ製品は、マイクロソフトと関連のない他社の製品です。明示または黙示にかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。

使用している環境で、このファイルが開かれていることが正常な動作であると判断した場合は、このイベントのログ出力を無効にするか、1 時間あたりのイベント報告数を変更します。この操作を行うには、次の手順を実行して、指定されているレジストリ サブキーを編集します。

警告 : レジストリ エディタの使い方を誤ると、深刻な問題が発生することがあります。最悪の場合、オペレーティング システムの再インストールが必要になることがあります。マイクロソフトは、レジストリ エディタの誤用により発生した問題に関しては、一切責任を負わないものとします。レジストリ エディタは、自己の責任においてご使用ください。
  1. レジストリ エディタを起動します。
  2. 次のサブキーを見つけて変更します。
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters


    値の名前 : Enable Sharing Violation Logging
    値の種類 : DWORD
    値の範囲 : 0 または 1
    デフォルト値 : 0
    説明 : 共有違反のログ出力のオン/オフを切り替えます。
  3. 次のサブキーを見つけて変更します。
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters


    値の名前 : Max Sharing Violation Event
    値の種類 : DWORD
    値の範囲 : 1 〜 2000
    デフォルト値 : 10
    説明 : 期間ごとの共有違反イベントの最大報告数を指定します。
  4. 次のサブキーを見つけて変更します。
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters


    値の名前 : Sharing Violation Retry Count
    値の種類 : DWORD
    値の範囲 : 1 〜 2000
    デフォルト値 : 10
    説明 : 変更命令ごとの共有違反イベントの頻度を指定します。たとえば、値を 10 に設定すると、変更命令によって共有違反が 10 回発生するごとに、一度報告されます。

関連情報

関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
284947 ウイルス対策プログラムがセキュリティ記述子を変更することが原因で SYSVOL と DFS の FRS データが過度にレプリケートされる
279156 ファイル レプリケーション サービスによってレプリケートされたディスク ドライブまたはフォルダにファイル システム ポリシーを設定する効果
815263 ファイル レプリケーション サービスと互換性があるウイルス対策、バックアップ、およびディスク最適化プログラム

プロパティ

文書番号: 822300 - 最終更新日: 2007年12月3日 - リビジョン: 7.4
この資料は以下の製品について記述したものです。
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows Small Business Server 2003 Premium Edition
  • Microsoft Windows Small Business Server 2003 Standard Edition
キーワード:?
KB822300
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com