Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

Shared file access is delayed if the file is open on another computer


View products that this article applies to.

Symptoms

If you try to open a file on a computer that is running Windows NT over the network and the file is open on another client computer that has 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, this delay may become significant. These symptoms can be easily seen with any multi-user, file-based application, such as the Jet database engine that has shared database files.

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

↑ Back to the top


Cause

This issues occurs because an optimization in the Windows NT Server service delays returning a status to the client while it tries to internally resolve the sharing violation.

↑ Back to the top


Resolution

To resolve this issue, it may be best to turn off this optimization. To do so, you must make the following two registry additions.

WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.
  1. Start Registry Editor.
  2. Locate the following registry key:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
  3. Add the following information:
    Value Name: SharingViolationDelay
    Data Type: REG_DWORD
    Data: 0 (Default: 200)
    Value Name: SharingViolationRetries
    Data Type: REG_DWORD
    Data: 0 (Default: 5)
  4. Quit Registry Editor, and then restart the computer.

↑ Back to the top


More information

If the Server service receives a request for file that is already open, it receives a sharing violation from the local server. The service 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, to try to resolve the problem before returning to the client.

This feature is controlled by the following two registry values:
  • SharingViolationDelay

    Default 200 (msec)

    This is the period of time that the server waits between retries. If it is set too low, the server receives multiple sharing violations. If it is set too high, the Server Message Block (SMB) response to the client might be delayed, thereby reducing performance.
  • SharingViolationRetries

    Default 5

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

↑ Back to the top


Keywords: kbnetwork, KB150384

↑ Back to the top

Article Info
Article ID : 150384
Revision : 7
Created on : 2/21/2007
Published on : 2/21/2007
Exists online : False
Views : 891