Troubleshooting flow chart + worksheet
How to troubleshoot damaged data
Causes of data damage
How to repair
How to export/import
Tips for preventing damaged data
Inside the database
While the Clients & Profits relational database is generally stable and
reliable, it does have an essential weak point in high-volume
For example, there is no server-side error-checking of the data, unlike
Oracle and SQL Server-based databases (such as the one used in Clients &
Profits X: Enterprise Edition). This means Clients & Profits relies on the user's PC to write data to the file server. Any problems on the client side, the network, or with the file server could cause lost or incomplete data, possibly corrupting the database.
The impression that the network is OK is not always correct, especially
in high-traffic situations. In these cases, many times corrupted packets
can slip through. More often than not, the cause of the corrupted datafile
is some network issue. There are several steps a system manager can take
to better bulletproof their Windows-based systems (the Mac
seems to be more immune to these kinds of problems). Consider the following
tips if you're regularly experiencing problems like these:
occurring"update or delete command without a read/write file" error
padlocks when starting or quitting Clients & Profits
are frequently not saved when editing jobs, estimates, traffic,
database becomes damaged often (i.e., weekly), especially
when many users are working together
users' PCs frequently freeze or crash when saving
Use caution with "optimization" utilities: Several popular system
optimization programs (e.g., First Aid, etc.) suggest to the user that
disabling "write-back caching" is bad, and will often re-enable
it. Since few computer technicians (and even fewer users) are familiar
with multi-user relational databases like Clients & Profits, be sure
that they're aware that write-back caching can be harmful.
To enable the VERIFY disk option in Windows 98/XP
The VERIFY control turns on the operating system's built-in disk error
detection and automatic correction. If VERIFY is off, your system cannot
detect disk "write" (i.e., saving) errors and will make no attempt
to correct them on-the-spot. If VERIFY is on, your system will automatically
check for errors every time it "writes" to the hard disk to ensure
it was accurate. VERIFY is disabled as a default setting because it slows
down Windows (which makes sense, since most PC users aren't using multi-user
relational databases over networks).
VERIFY is enabled by modifying the PC's AUTOEXEC.BAT file:
1 Open your C: drive, then find and select the AUTOEXEC.BAT file.
2 Click the right mouse button, then choose Edit from the pop-up
The AUTOEXEC file should be opened by the Notepad, a text editor in which
you can make changes.
Be very careful not to change any existing autoexec commands (if so, your
system may not run).
3 Add this as the first line of the AUTOEXEC file: VERIFY = ON
This is because this command should be located before any command which
may cause information to be written to disk.
4 Choose File > Save to save your changes.
5 Choose Start > Shut Down to restart your PC.
The change you made to AUTOEXEC file to enable disk verification won't
take affect until the computer is restarted.
6 Click the Close button then restart your PC.
Be sure to repeat these steps for every Windows-based PC that uses Clients
& Profits, including the file server.
To disable the "write-behind caching" in Windows 98/XP
Write-behind caching is a technique employed by Windows to improve a PC's
performance. Write-behind caching attempts to optimize how the hard drive
saves data from the computer's memory. This type of caching stores information
that needs to be written to the hard disk and sends it when the system
is idle or after a certain amount of time has elapsed. This is a built-in
feature of Windows 98/XP and makes the PC slightly faster by essentially
not double-checking that the data from memory was saved entirely to the
Single-user, document-based applications, such as Microsoft Word, Excel,
and PowerPoint, are saved in such a way that the write-behind cache isn't
needed. Database applications (especially multi-user programs like Clients & Profits)
expect that the data in memory is saved completely to the hard disk. When
the write-behind caching is enabled, it's possible for user's data to be
saved incompletely (or not at all). By disabling the write-behind cache,
the PC saves data slightly slower -- but much more reliably. In cases where
unexplained data problems are occurring regularly, the write-behind caching
should be disabled.
1 Select the My Computer icon, then press the right button
on your mouse and choose Properties from the pop-up menu.
2 From the System Properties window click on the Performance
3 Click on the File System button.
4 When the File System Properties window opens, click
on the Troubleshooting tab.
5 Select "disable write-behind caching for all
drives" then click OK.
6 Click the Close button, then restart your PC.
Be sure to repeat these steps for every Windows-based PC that uses Clients & Profits,
including your file server.
To disable "opportunistic locking" on the Windows NT server
Opportunistic locking is a technique used by Windows NT to increase the
file servers performance by performing read-ahead, write-behind,
and record lock caching. Opportunistic locking is a feature on Windows
NT 3.51, 4.0, and later versions. These instructions work with Windows
It works like this: if one client is accessing a block range in a file,
that range is marked for opportunistic locking and the client can perform
read-ahead, write-behind, and lock caching. If another user attempts to
write to that block range, the opportunistic locking has to be switched
off for the previous client and the data needs to be synchronized with the
file server before the second user can access the range.
The architecture of multi-user relational databases conflict with
opportunistic locking, since databases involve nearly constant reading,
writing, and locking of the data file. Disabling opportunistic locking
will improve the performance and reliability of the C&P database, but
makes the server slightly less responsive for non-Clients & Profits users.
WARNING: Opportunistic locking is disabled by editing the server's registry information. Incorrectly editing the Windows NT registry can cause server problems, including a loss of service. It should be performed only by an experienced Windows NT technician.
1 Choose Start > Run, enter the word regedit then
2 Click on the symbol next to HKEY_LOCAL_MACHINE to
expand the local computers settings.
3 Click on the symbol next to SYSTEM to expand the
4 Click on the symbol next to CurrentControlSet.
5 Click on the symbol next to Services.
6 Click on the heading Parameters.
7 Choose Edit > New > DWORD value.
8 Enter the Name field as EnableOplocks.
9 Choose Registry > Exit to quit the Windows Registry.
10 Restart the Windows NT server.
The changes you made take affect immediately once the server has restarted.
To set the "balanced" setting on the Windows NT server
The Windows NT server is optimized by default to maximize sharing files.
This setting makes copying documents to and from the server faster, but
isnt an efficient setting for relational databases like Clients & Profits.
A simple change to the servers network configuration will improve
the performance of Clients & Profits, especially on servers with lots
server must be restarted after changing this setting. Before making
this change, be sure that no one is currently connected to the server.
1 Choose Start > Settings > Control Panels
2 Double-click on the Network control panel.
3 Click on the Services tab.
4 Double-click on Server from the Services list.
5 Select the Balanced setting then click OK.
6 Click Close then restart Windows NT.