Write Behind Caching & Data Loss -- Peter Norton, of Norton Utilities fame:
"Data loss on network drives is a major headache for most administrators at one time or another. Windows 95/98 uses a write-behind caching scheme to improve workstation performance. This same feature can actually cause data loss, especially with networked database managers. If you find you have records that don’t get written or other forms of data loss, you might want to check this box. Even though checking this box will most certainly reduce local workstation performance, it might improve overall network performance by forcing the workstation to write shared data faster."

Write-Behind Caching

It is imperative that you Turn Off write-behind caching on all drives (Windows only)

Explanation

Windows 95 & 98

  1. Right mouse click on "My Computer" select Properties.
  2. Click on Performance tab.
  3. Under Advanced Settings click on File System button.
  4. Click on Troubleshooting tab.
  5. Check the box "Disable write-behind caching for all drives"
  6. Click on Apply. Then Click OK.
  7. Then Reboot your computer.

Windows 2000

  1. Log in as Administrator.
  2. In the Explorer windows, right click your hard disk, select Properties.
  3. On the Properties windows, select the Hardware tab, select your drive (again..)
  4. Click on the button named (again..) Properties.
  5. Check the box "Disable write-behind caching for all drives"
  6. Click on Apply. Then Click OK.
  7. Then Reboot your computer.

Windows 2000 - Alternate instructions for later versions of 2000

  1. Right click on My Computer
  2. Select Properties
  3. Select Hardware
  4. Click on Device Manager
  5. Expand Disk drives
  6. Right click on the icon Properties
  7. Disk Properties
  8. There should not be a tick in the box, if there is, remove it.
  9. Re-boot your computer.

Windows XP

  1. Go to the Control Panel.
  2. Select Administration Tools.
  3. Select Computer Management
  4. Select Device Manager, and expand the Disk drives item
  5. Right-hand click on each Disk drive and select the Properties Option.
  6. Goto the Policies Tab and ensure that the Enable write caching on the disk is disabled.
  7. Press the OK.
  8. Re-boot your computer.

It is imperative, too, to always keep to strict back-up schedule of your data, so if you do have a data corruption, you can revert to a back-up.


Opportunistic Locking

It is imperative you disable opportunistic locking on all drives.

Opportunistic locking is a mechanism that Microsoft has chosen to make things faster in single-user mode but in multi-user mode it creates locks on data records that are longer to release. And solving those issues depends on which one of the four configurations you have :

  1. Windows 95/98/Me workstations accessing a Netware Server (w/wo Client 32)
  2. Windows 95/98/Me workstations accessing a Windows NT/2000 Server
  3. Windows NT/2000/XP workstations accessing a Netware Server (w/wo Client 32)
  4. Windows NT/2000/XP workstations accessing a Windows NT/2000 Server

Technotes available

Microsoft has acknowledged the problems and has issued a technote that explains some of the problems in its technical note regarding opportunistic locking.
http://support.microsoft.com/support/kb/articles/q129/2/02.asp
Novell has also released documents about such problems and solutions in its Knowledge Base under
2936919 http://support.novell.com/cgi-bin/search/searchtid.cgi?/2936919.htm
10068051. http://support.novell.com/cgi-bin/search/searchtid.cgi?/10068051.htm
Finally for all workstations using Netware Client 32 (or IntraNetWare Client), You should refer to Novell Knowledge base to turn off local caching and opportunistic locking.

Opportunistic Locking

In All Windows O/S including NT, 2000, XP must be disabled to prevent data loss.

see http://support.microsoft.com/default.aspx?scid=kb;en-us;q296264

Microsoft has admitted Win 2K and XP have problems due to Opportunistic locking. It is causing datafile problems with MS Excel as well.

http://support.microsoft.com/default.aspx?scid=kb;en-us;812937&Product=winx

Patches are available from Microsoft for both Win XP and W2K Server.

users with Windows XP should update with Service Pack 2 that contains a fix for this.

users with Windows W2K Server should update with Service Pack 4 that contains a fix for this.

Windows NT/2000/XP

Verify (and correct if neccesary) these NT Server parameters

EnableOpLockForceClose REG_DWORD set to 1 (default=0)

EnableOplocks REG_DWORD set to 0 (default=1)

This is done by starting the program:

...\WINNT35\System32\Regedt32.exe

Choose: HKey_Local_Machine -> System -> Current Control Set -> Servuces -> Lanman Server -> Parameters ->

If the Value EnableOpLockForceClose exists ->

Double-click on it OR Select it, then pull down "Edit" and choose DWORD ->

In DWORD Editor, Hex selected, enter the value 1

If it does not exist, pull down "Edit" and choose Add value ->

Value name: EnableOpLockForceClose -> Data type : REG_DWORD -> press OK ->

In DWORD Editior, Hex selected, enter the value 1

If Value EnableOplocks exists ->

Double-click on it OR select it, the pull down "Edit" and choose DWORD -> in DWORD editor, Hex selected, enter the value 0

If it does not exist, pull down "Edit" and choose Add value ->

Value name: EnableOplocks -> Data type : REG_DWORD -> press OK ->

In DWORD Editor, Hex selected, enter the value 0

Windows 2000

MORE INFORMATION
The location of the client registry entry for opportunistic locking has changed in Windows 2000
from the earlier location in Microsoft Windows NT.

In Windows 2000, opportunistic locking is disabled by setting the following registry entry to 1:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MRXSmb\Parameters\
OplocksDisabled REG_DWORD 0 or 1
Default: 0 (not disabled)

NOTE: The OplocksDisabled registry value configures Windows 2000 clients to either request or
not request opportunistic locks on a remote file. You can also set Windows 2000 to deny the
granting of opportunistic locks by setting the following registry entry to 0:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
EnableOplocks REG_DWORD 0 or 1
Default: 1 (Enabled by Default)

see http://support.microsoft.com/default.aspx?scid=kb;en-us;q296264

and http://support.microsoft.com/support/kb/articles/q129/2/02.asp

Bust Omnis Locks on Win32 networks

This freeware Win32 executable updates the registry (it doesn't do so without asking you) with the appropriate keys depending on the platform (NT/2000 server, NT/2000/XP workstation and Windows 95/98). Note that it should be given to the network administrator of the customer site in order to be done properly.

Down load from here. This product is not supported by JACSoft, and is downloaded directly from the Smartway web site.