Goldstar Software Utilities
KeyCheck -- Database File Key Checker & Reporting Tool
This is the 32-Bit version of the older, but still useful DOS Utility (available for free HERE) that scans existing Btrieve or Pervasive.SQL database files looking for any index corruption.
Note to registered users of KeyCheck: If you do not have the latest version (see below), please send an Email with your COMPLETE version number (x.yy.zzzz) and a subject line of "KeyCheck Update" and we will send you the latest release.
KeyCheck starts by reading every record from the Btrieve file in physical order. It then proceeds to read every record via each defined key path. If no problems are found, the program exits with a return code of 0 -- success! If an error is found while working on the file, the error is displayed to the screen and returned as an exit code. (The exit code allows the creation of smart batch files to run KeyCheck.)
The KeyCheck command itself provides the syntax and documentation:
KEYCHECK Version 2.6: 07/28 (C)2005 Goldstar Software Inc.
*** Registered 32-Bit Version ***
Usage: KEYCHECK Filename [/K##] [/C] [/R] [/S] [/E] [/Q] [/W] [/O=Owner] [/D]
This command scans the Btrieve file for corrupted keys.
Use the /K option to specify a single Key to traverse (or -1).
Use the /C option to check for unique value mismatches while scanning.
Use the /R option to traverse records in Reverse order.
Use the /S option to disable Status reporting.
Use the /E option to exit on the first error encountered.
Use the /Q option to enable QuickRead (4-Byte Record Reads).
Use the /B option to identify missing (Status 2) records on each key path.
Use the /W option to output statistics in CGI format.
Use the /O= option to provide an owner name.
Use the /D option to enable DEBUG mode.
KeyCheck can be run in forward order (the default) or in backward order (/R switch). This allows you to validate both the forward index pointer chains and the reverse index pointer chains for the most accurate results. KeyCheck also has options to traverse a single key only, for spot-checking of a single index.
The Win32 version of KeyCheck has a special "QuickRead" option that reads only the first 4 bytes of each record, providing a faster way of verifying index structures only. Note that this will NOT verify all pages, especially variable-length pages used by variable and compressed records.
KeyCheck also has a"web" option to send output in formatted HTML -- making KeyCheck a CGI application capable of running checks across the internet (from a web server)!
A new feature in V2.5 even enables you to use KeyCheck to attempt to identify the Key Value of corrupted records. This can be an invaluable aid if the data page is damaged (or lost), yet the index information is still available. In this case, KeyCheck will attempt to re-read the record's index value and display it to the screen. You can then restore this record from backup!
Version 2.6 adds theability to compare the Unique Values shown in the STAT report against the actual data in the file. This can identify strange SQL optimization issues that require a database rebuild to correct.
KeyCheck can be purchased as a single-user license or as a LAN site license -- click for pricing. We can also provide licensing information for developers if you are interested in including KeyCheck within your application for use for monitoring datafiles. Contact us for details!
KeyCheck Bundles
KeyCheck is also available bundled with your favorite database engine! These bundles are ideal for running KeyCheck off-line on your own desktop (on your own copy of the files), away from your production server to avoid affecting the application environment in any way.
KeyCheck Standalone Bundle #1 includes the 32-bit Btrieve 6.15 Workstation Engine and is ideal for use with older applications that still use the Btrieve 6.15 database engine for maximum compatibility!
KeyCheck Standalone Bundle #2 includes the 32-bit Pervasive.SQL V7 Workstation Engine, useful if you have 7.x data files and want a true standalone engine!
KeyCheck Standalone Bundle #3 includes the 32-bit Pervasive.SQL 2000i Workstation Engine, a tried & true solution for newer applications!
KeyCheck Standalone Bundle #4 includes the 32-bit Pervasive.SQL 2000i Client/Server Engine in a small, 5-user license, and is ideal for setting up a small test server to handle running multiple KeyCheck tests at the same time!
KeyCheck Standalone Bundle #5 includes the 32-bit Pervasive.SQL V8 WorkGroup Engine -- perfect for sites with V8 file structures! A similar bundle (#6) includes the PSQLV8 Server Engine for 6 users.
KeyCheck Standalone Bundle #7 includes the newest 32-bit Pervasive PSQL v9 WorkGroup Engine -- perfect for sites with the cutting-edge V9 files, and Bundle #8 includes the PSQLv9 Server engine for 6 users. |