The Validate and Repair Database Form
This form allows you to validate and/or repair the database. Validation occurs when the database is idle; when no users have any forms open (other than the main menu).
The following aspects of the database are validated:
- Every field in every table is present.
- Every index in every table is present.
- Every record pointed to by every index can be found (you can speed up validation, at the cost of making this check less thorough, by setting the Random Seek Validation number to a non-zero value. The random seek validation number is the 'x' in 1 out of 'x' records are validated. The bigger the number, the less seeks are performed.
If a validation error occurs, you may choose to repair the database. A second validation is performed. Depending on the type of errors encountered, a compact and repair may be run; or a table may be restored from a previous version of the database. You create previous versions by using the Backup feature. Any erroneous tables are validated first, then the latest backup database with a good table is used.
NOTE: Move the cursor over the picture of the form. When you see the little hand thingy
appear, you can click on the item to get more information!
Status:
Some text describing what is going on in the validation.
Random Seek Validation:
This number, inverted, is the chance that any given record is validated in the seek test. Making this number larger causes the validation to run more rapidly, at the expense of not checking that the indexes are correct. A value in the neighborhood of 5 to 10 (depending on the performance of your system) is a good compromise between speed and safety.
Log:
The table by table results of the validation.
Clear Log:
Clear the results log.
Clear Reference Count:
Whenever a user opens the customer form, a reference count is incremented (1 is added to it). When a user closes the customer form, the reference count is decremented (1 is subtracted from it). Validation can only occur when the reference count is 0; that is when nobody has opened the customer form. Use this button when you wish to run the validation or repair no matter what the reference count is.
Repair:
Use repair when the program is not working correctly, or you notice a validation error in the log (from running Validate, below). Make sure everyone is off the system before repairing. Make the Random Seek Validation number 0 prior to running this check to guarantee that all indexed records are tested. If any serious errors have occurred in a table, the table is restored from the latest backup. You can see where each table came from in the error log.
Note: this 'repair' function is not the same as the built in compact/repair function in Microsoft Access. Use this feature to recover a database where one or more tables have been damaged; the built-in repair feature simply discards the damaged table; this feature recovers the damaged table from a backup.
Validate:
Run a continuous validation of the database. Run this on your server (or a machine not used for data entry). The validation described above is performed, continuously; pausing when someone is on the system.
Stop:Stop the current validation or repair. There are some places where it is not possible to stop, such as during the database reconstruction phase of a repair. It may take awhile to complete the current task, so please be patient.
Close:Closes this form.
Hand Thingy:
See? It really works!!
Copyright 2000, all rights reserved
Tuesday, July 18, 2000