20
Cannot change sortorder. Server shutting down. Restart to continue with sortorder unchanged.
When you restart a server after changing the server’s sort order, the recovery process must rebuild system tables in both master database and user databases, and rebuild indexes that are affected by the sort order change. Error 3434 occurs when recovery is unable to recreate a system index or table following the sort order change.
The error can be raised:
When you change from a case-sensitive sort order to a case-insensitive sort order, and conflicts arise between key values that are differentiated only by case. For example, key values ’Joe’ and ’joe’ will cause a conflict when rebuilding the index with a case-insensitive sort order.
Error 3436 (“Cannot rebuild index %d
for the ’%.*s’ table in the ’%.*s’ database.”
)
precedes error 3434 in this situation.
When one or more databases for load exist in the server. You cannot change sort order when the server contains a database that was created for load.
Error 3434 rolls back the transaction in progress, reverts to the original sort order, and shuts down the server.
Check the error log to obtain more information about the error. Actions depend on the likely cause of the error:
If the error is related to key value conflicts,
determine the table and index from the 3434 error message, and check
for “duplicate key
” messages in
the error log. Correct the reported conflict and retry the sort
order change.
If the server contains a database created for loading a dump (for load database), take the following steps to correct the problem:
Drop the for load databases.
Manually change the sort order on the server. See “Manually changing sort order or default character set” in the chapter “Server Recovery Tasks in the most recent version of the Troubleshooting and Disaster Recovery guide.
Restart the server.
After changing the sort order, refer to “Reconfiguring the character set, sort order, or message language” in the chapter “Configuring Character Sets, Sort Orders, and Languages” in the System Administration Guide: Volume 1 and perform the steps described there to guarantee the integrity of your data.
You can achieve similar results without changing the sort order to case-insensitive by using the upper or lower functions in your queries. For example, if tableX has col1 with values “sybase”, “Sybase”, and “SYBASE”, you could run the following isql statement:
select cols from tableX where lower(col1) = "sybase"
This treats all values as lowercase for the query.
In many cases, you cannot reload your data from a database dump after reconfiguring the sort order. Refer to “Reconfiguring the character set, sort order, or message language” in the System Administration Guide: Volume 1 for details.
All versions