Windows の クライアントから SMB 2.0 の通信で、共有フォルダに作成したファイルへのアクセスがエラーになる場合がある

現象
Windows Server 2008、Windows Server 2008 R2、Windows Server 2012、Windows Server 2012 R2、Windows Vista 、Windows 7 、Windows 8 または Windows 8.1 のクライアントから、SMB 2.0 の通信でサーバー上の共有フォルダにファイルを作成後、File.Exists、_access、GetFileAttributes、FindFirstFile、FindNextFile、または _stat などの関数で、作成直後のファイルにアクセスすると "ファイルが存在しない" というエラー (NO SUCH FILE など) が発生する場合があります。
原因
この現象は、SMB 2.0 の通信におけるクライアント側のキャッシュ機能が原因で発生します。

Windows Server 2008 または Windows Vista 以降の OS 間のファイル共有で使用される SMB 2.0 は、ネットワークの負荷を軽減させるためにクライアント キャッシュ機能が追加されました。クライアント サーバー間で SMB 2.0 のセッションが確立されると、クライアントはローカルのキャッシュを利用し、このクライアント側のキャッシュ内容は、デフォルト値では 10 秒おきにサーバーと同期されます。このため、サーバー側で新しいファイルが作成されても、クライアント側のキャッシュが同期されるまでは、そのファイルへの操作が失敗します。
解決方法
回避策
重要 : このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。レジストリを誤って変更すると、深刻な問題が発生することがあります。レジストリを編集する際には十分に注意してください。万一に備えて、編集の前にレジストリをバックアップしておくと、問題が発生した場合にレジストリを復元することができます。バックアップおよび復元方法の詳細を参照するには、以下のサポート技術情報をクリックしてください。 322756 (http://support.microsoft.com/kb/322756/ ) Windows でレジストリをバックアップおよび復元する方法
この現象を回避するには、SMB 2.0 クライアントのキャッシュの同期間隔のレジストリ値を変更してください。

また、 キャッシュ機能を無効化するには、クライアント側で以下のレジストリ値を、すべて 0 に設定してください。

キー : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters
タイプ : DWORD
値 :
FileInfoCacheLifetime
FileNotFoundCacheLifetime
DirectoryCacheLifetime各レジストリ値の詳細については、次のマイクロソフト Web サイトを参照してください。 SMB2 Client Redirector Caches Explained (英語情報)
http://technet.microsoft.com/ja-jp/library/ff686200(WS.10).aspx
状況
この動作は仕様です。
詳細
関連情報
注意 : これは、マイクロソフトのサポート組織内で直接作成された "緊急公開" の資料です。 この資料には、確認中の問題に関する現状ベースの情報が記載されています。 情報提供のスピードを優先するため、資料には誤植が含まれる可能性があり、予告なしに随時改定される場合があります。 その他の考慮事項については、使用条件を参照してください。
プロパティ

文書番号:3040578 - 最終更新日: 09/29/2016 12:31:00 - リビジョン: 4.0

Windows Server 2012 R2 Datacenter, Windows Server 2012 R2 Standard, Windows Server 2012 Datacenter, Windows Server 2012 Standard, Windows Server 2008 R2 Datacenter, Windows Server 2008 R2 Enterprise, Windows Server 2008 R2 Standard, Windows Server 2008 Datacenter, Windows Server 2008 Enterprise, Windows Server 2008 Standard, Windows 7 Enterprise, Windows 7 Home Basic, Windows 7 Home Premium, Windows 7 Professional, Windows 7 Ultimate, Windows 8, Windows 8.1, Windows Vista Business, Windows Vista Enterprise, Windows Vista Home Basic, Windows Vista Home Premium, Windows Vista Ultimate

  • KB3040578
フィードバック