Shared File Access Delayed If File Is Open

Last reviewed: November 13, 1997
Article ID: Q150384
The information in this article applies to:
  • Microsoft Windows NT Workstation versions 3.51 and 4.0
  • Microsoft Windows NT Server versions 3.51 and 4.0

SYMPTOMS

When you try to open a file on a Windows NT-based computer over the network and the file is open on another client computer with sharing restrictions, there is a delay of approximately one second before the sharing violation error message is returned. If the client application is accessing a number of files on the server, then this delay may become significant.

NOTE: This behavior is not observed when accessing files on LAN Manager or Windows for Workgroups shares.

CAUSE

There is an optimization in the Windows NT Server service which delays returning a status to the client while it attempts to resolve the sharing violation internally.

RESOLUTION

Sometimes it may be preferable to disable this optimization. In order to do this it is necessary to make two registry additions which are detailed below.

WARNING: Using Registry Editor incorrectly can cause serious, system-wide problems that may require you to reinstall Windows NT to correct them. Microsoft cannot guarantee that any problems resulting from the use of Registry Editor can be solved. Use this tool at your own risk.

  1. Start Registry Editor (Regedt32.exe.)

  2. Go to the following key:

          HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
    
             \LanmanServer\Parameters
    
    

  3. Add the following:

          Value Name: SharingViolationDelay
          Data Type:  REG_DWORD
    
          Data:       0 (Default: 200)
    
       and:
    
          Value Name: SharingViolationRetries
          Data Type:  REG_DWORD
          Data:       0 (Default: 5)
    
    

  4. Shut down and restart Windows NT.

MORE INFORMATION

When the Server service receives a request for an already open file, it receives a sharing violation from the local server. It then waits for a short period before trying to access the file again. This process is repeated a number of times, internally to the server, in an attempt to resolve the problem before returning to the client.

This feature is controlled by two registry values which are detailed below.

  • SharingViolationDelay

    Default 200 (msec)

    This is the time the server waits between retries. If too low, the server receives multiple sharing violations. If too high, the Server Message Block (SMB) response to the client might be delayed more than is necessary, thus reducing performance.

  • SharingViolationRetries

    Default 5

    This is the number of times the server retries an SMB requested operation when it receives a sharing violation from the local server's file system. Operations affected include open, rename, and delete. This minimizes network traffic because if the server can resolve the sharing violation locally, the remote client need not retry the operation.

100


Additional query words: 4.00 prodnt
Keywords : ntnetserv NTSrvWkst kbnetwork
Version : 4.0
Platform : winnt


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: November 13, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.