現在オフラインです。再接続するためにインターネットの接続を待っています

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

現象
Windows Server 2008、Windows Server 2008 R2、Windows Vista または Windows 7 のクライアントから、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 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
状況
この動作は仕様です。
プロパティ

文書番号:2467179 - 最終更新日: 10/04/2016 14:54:00 - リビジョン: 4.0

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 Starter, Windows 7 Ultimate, Windows Vista Business, Windows Vista Enterprise, Windows Vista Home Basic, Windows Vista Home Premium, Windows Vista Starter, Windows Vista Ultimate

  • kbharmony kbexpertiseinter kbexpertiseadvanced kbtshoot kbprb kberrmsg KB2467179
フィードバック
ment.getElementsByTagName("head")[0].appendChild(m); 0; var varClickTracking = 1; var varCustomerTracking = 1; var Route = "76500"; var Ctrl = ""; document.write("