====== DBRebuild ====== ===== How To: ===== How to perform a Database Rebuild to repair corruption in your tables, table indexes, and resolve various error messages you may be receiving. ===== Common Errors Resolved By Database Rebuild ===== * Index out of Date * Corrupt Table Other Than Header * Cannot perform action on Closed Dataset * Unknown Internal OS Error Bad File Number * Unable to Purge Contact table * Crystal 534 Error when printing * Stream Read Error * Table is full * Could not find record ===== Summary of Rebuild Steps ===== This summary helps to provide a basic guide of what steps you'll need to perform to complete the database rebuild. If you need a step-by-step walk-through please see the section below this for a detailed walk-through. * Close **Cyrious SMS** on all computers. * Shutdown the **Cyrious SSLIP** on the server. * **REBOOT** the server. * Launch the **DBRebuild.exe** utility located in the C:\Program Files\Cyrious\SMS\Utilities\ folder. * **Verify** all the tables and **Rebuild** any with errors. * Start the **Cyrious SSLIP**. * You may now re-open **Cyrious SMS** on all computers and resume working.
==== Preparing for the Rebuild ==== These are critical steps that should be performed before making any change to the database. - Make a backup of the SMS database. See [[backup_database]]. - Close Cyrious SMS on all systems including the server for Cyrious SMS. - Shut down the SSLIP by right-clicking the white SSLIP icon in the system tray of the server and choosing Shut Down. {{::sslipshutdown.jpg?nolink&|}} ===== Detailed Walk-through Rebuild Steps ===== Now that we've finished the preparation steps we are ready to proceed with the database rebuild. The rebuild process itself is pretty straightforward after the first time you've used the utility. - The **DBRebuild.exe** utility is located in the **Utilities** folder for the Cyrious SMS program. By default the full path to this folder is __**C:\Program Files\Cyrious\SMS\Utilities**__ * **Note:** If you can not locate the DBRebuild.exe utility or you have a version that will not allow you to open it without a password you can download the latest version by clicking the button below.
{{ :dbrebuild.zip|}}
* Once you have downloaded the **DBRebuild.zip** file, extract the contents to the
__**C:\Program Files\Cyrious\SMS\Utilities**__ folder on your server for Cyrious SMS or to your desired location.
* Locate the file **UtilityDataPath.reg** within the **C:\Program Files\Cyrious\SMS\Utilities** folder and double-click to insert the registry key. Click **Yes**to confirm any prompts that appear that you wish to allow this change to the registry. This registry key is necessary for the DBRebuild.exe utility to open properly. * Right click and choose **Save Target As** or **Save Link As** to download the UtilityDataPath.reg file. Once downloaded, double click on it to install the registry key on your system. If prompted for authorization please allow the change to occur. If you do not install this registry entry you will not be able to select the Data to rebuild.
> {{ :utilitydatapath.reg|}}
- Now that we have located where the **DBRebuild.exe** utility is located, it is now time to run the utility so we can repair the database. **Double-click** the **DBRebuild.exe** file to open it. {{::dbrebuild1.jpg?nolink&342|}} - Upon opening the DBRebuild utility you will be prompted to confirm the database you wish to rebuild. The default database you would want to rebuild is located in the **C:\Program Files\Cyrious\SMS\Data** folder. If you elected to install the program to a different path then the database shown may be different than the path shown above, you should browse to select the proper path.
- Once the DBRebuild utility opens, you'll want to verify the tables to ensure there is not any corruption in the tables. * Click on the **Verify All** button to begin the verification process. * The DBRebuild utility will go through all the databases and look for errors{{::dbrebuild3.jpg?nolink&|}}
- **Important:**If all tables say "Unable to Verify", you must reboot the computer and start over. Be sure to shutdown the SSLIP before attempting to run the DBRebuild utility as it will automatically load on Windows startup. * If you still see "Unable to Verify" the table, you will need to remove the lock files as the database tables are in a locked state and will not allow you to verify or rebuild them. See this page on how to remove the lock files [[sms_error_-_directory_is_controlled_by_other_.net_file]] .
- Once the **Verify All** completes, put a check in any table that does not show **Table OK! No errors found.** then click on **Rebuild Checked**. If you are unsure which tables you should rebuild you may click the Rebuild All option however this will generally take longer to complete since the utility rebuilds each table. The rebuild of the tables typically takes between 2 to 10 minutes however can take longer depending on the speed of your computer and the size of your database. * **Note:** If your server computer has a Windows Vista or Windows 7 operating system and you receive the message "Rebuild unsuccessful" rebuilding, you need to close the DBRebuild utility and re-open it with administrator rights. To do so, **left-click** on the **DBRebuild.exe** file and select **Run as administrator**. - Once the Rebuild completes, click **OK** to the close the **Rebuild Complete!** popup notification. Now click the **Verify All** button to re-run the verification of the tables. Once the verification completes ensure all tables now show as **Table OK! No errors found.** * **Note:** If you are still getting errors, you will need to contact Cyrious Technical Support for assistance. - If all the tables look OK then close the DBRebuild utility and any other windows you opened in this process. **Restart the Cyrious SSLIP** by clicking on the **Cyrious SSLIP** shortcut located under **Start** (Or the Windows Orb), click on **All Programs** and locate the **Cyrious Software** folder.
- Open Cyrious SMS and verify that you are now able to perform the task you could not complete prior to rebuilding the database. ===== Related Errors ===== * [[unable_to_find_the_data_path_when_doing_a_rebuild]]