Goldstar Logo
Your Source for Actian Zen and PSQL Database Products, Services and Training Since 1997 EMail: 
Phone: 1-708-647-7665 
Web Site Login 
Free PSQL Support
Quick Links
Database Engines
 Version Quick-Reference Chart
+ Actian Zen v16
+ Actian Zen v15
+ Actian Zen v14
+ Actian Zen/PSQL v13
+ Actian PSQL v12
+ Actian PSQL v11
+ Pervasive PSQL v10
+ Pervasive PSQL v9
+ Pervasive.SQL V8
+ Pervasive.SQL 2000i
+ Pervasive.SQL 7
+ Btrieve 12
+ Btrieve 6.15
+ Actian Vector

+ Protecting Your Data

+ Goldstar Services

+ Goldstar Tools

+ Developer Resources

+ Other Solutions

Using AMS? Status 7224 Fix My PSQL License Report Engine Crash Repair PSQL Files Get Support Now Join Our Mailing List

Navigation Background

  Utilities Quick Links
Complete Tools List
DXUtil Page
GSSync Page
KeyCheck Page
LogSplitter Page
PSConfig Page
SQLExec Page
Data File Recovery Toolkit
ViewUNF Page

Goldstar Software Utilities: KeyCheck

Pervasive Database File Key Checker & Reporting Tool
License Type
Price (USD)
Single User
Buy Now
Site License
Buy Now
30-Day Trial

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.)

Running KeyCheck with no parameters provides the syntax and documentation:

KeyCheck Version 3.37: 04/21 (C)2016 Goldstar Software Inc.

Usage: KEYCHECK Filename [/Option] [/Option] ...

This command scans the Btrieve file for corrupted keys.
*Use /B to identify Bad or missing (Status 2) records on a key path.
*Use /C to Check for unique value mismatches while scanning.
Use /D to enable Debug mode.
Use /E to Exit on the first error encountered.
Use /K# to specify a single Key to traverse (or -1).
Use /L to log results to a file (Default=KEYCHECK.LOG).
Use /O= to provide a database file owner name.
*Use /Q to enable QuickRead (4-Byte Record Reads).
Use /R to traverse records in Reverse order.
Use /S to disable Status reporting.
*Use /T for multi-Threaded processing.
*Use /U to export data to a UNF File.
Use /W to output statistics in CGI (Web) format.
A * above indicates that it works in Registered Mode ONLY.

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 withthe /K switch, 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)!

If you want KeyCheck to attempt to identify the Key Value of corrupted records, use the /B switch. 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 the ability 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. We can also provide licensing information for developers if you are interested in including KeyCheck within your application for use for monitoring data files.Contact us for details!

  Copyright © 1997-2024, Goldstar Software Inc., All rights reserved. PRODUCTS | SERVICES | TRAINING | SUPPORT | DOWNLOADS | ABOUT US  
Goldstar Software Inc. | 1945 Maplewood Ln | Munster IN 46321 Legal Statements | EULAs | Uninstall | Privacy Statements | Contact Us