Various database, key violation, index, or blob messages.

The Database Rebuild utility is used to repair a database table. It does this by doing the following:

  • Backs up the entire database (on DBRebuilder Ver 8.50.2005.09+).
  • Reads the existing table structure
  • Creates a new table with the same structure (fields, indexes, etc.)It was recently observed that the DBRebuild utility reverses the order of indexes in the new table. In theory, this should not matter. In practice, it seems to be linked to at least one of the bugs in Cyrstal Reports 8.5 with Paradox tables.
  • Opens the table without using any indexes, etc.
  • Copies all of the data to the new tables
  • Deletes the old table.
  • Renames/moves the new table to the old table file name.

This process requires exclusive access to the files, so the SMS and SSLIP and any other programs using the data must be closed.

Note:

  • All Users must be out of the system for this process.

High. During the rebuild process, if the old table is damaged beyond the ability to read parts, the data may be truncated or not copied into the new table. Also, if the structure is damaged, indexes are frequently lost and not found in the resulting files.

  1. Close all copies of SMS and the SSLIP
  2. Run Computer Management (Start | Run … CompMgmt.msc) to confirm that no files in the ..\Cyrious$\SMS hierarchy are open. If they are, close them. Refresh the screen after closing files to confirm no additional files appear.
  3. Confirm you have the correct Data folder by looking at the modified date of the files in the data folder.
  4. Make a backup of the Data folder before running the DBRebuild if older than DBRebuilder Ver 8.50.2005.09
  5. Run the DBRebuild utility in ..\\Cyrious$\SMS\Utilities\DBRebuild.
  6. If DBRebuild gives you an error running, see Troubleshooting DBRebuild below.
  7. Click on the Verify All Tables button. This will scan all the tables in the database for errors.
    • Note any tables with errors. This will need to be researched afterwards.
    • If all tables say “Could Not Verify”, reboot the server, close the SSLIP, and restart the process.
  8. If no tables could be verified, reboot the computer and start DBRebuild again.
  9. If any tables are found with errors, check those tables and click Rebuilt Checked.
  10. If any tables could not be rebuilt, elevate to Tier 2 support.
  11. Close DBRebuild
  12. Based on the issues found, additional verification steps should be undertaken such as:
    • Checking the indexes on any corrupted tables
    • Checking the validity of data on any corrupted tables
    • Checking for missing data on any corrupted tables.
  1. Ensure SMS.exe or SSLIP.exe is not running in the Processes tab in the Task Manager
  2. Remapped to the local drive rather than the universal path
  3. Reboot server
  • Last Updated: 2/16/2015
  • Created By: Michael Nolan
  • Verified By:
  • Applies to All Versions
You could leave a comment if you were logged in.