I have an old Installation of SQL Anywhere 5.5 on Windows Server 2003. This has to be upgraded to a newer Version of Windows. I copied the datafile and the logfile of the old server to a new server. I tried to attach the files to a SQL Anywhere 16 Installation and now to a SQL Anywhere 12 Installation. It says: "Unable to start specified database: 'd:\sybase\ksl.db' was created by a different version of the software" How can I move this old database to a new Server? |
SQL Anywhere version 10 and above cannot start databases build in earlier versions (i.e. version 9 or below). You must rebuild the database. See the documentation for more information on how to rebuild your database. |
I tested this command file on a version 5.5 database file in c:\sybase\ksl.db ...which is on a different drive because my D: drive is a DVD :) REM This command file runs unload-reload-all-in-one-dbunload-step, REM then starts dbeng16 and dbisql so you can make sure the new REM database is up and running. REM Be sure to stop *all* database engines on the computer you're using, REM before starting the upgrade. REM dbunload... REM -an ... where to put new database REM -ap ... new database page size REM -c ... old database startup connection string REM -o ... where to put unload console display text file REM -v verbose mode for console display PAUSE MAKE SURE YOU DO NOT HAVE ANY ENGINES RUNNING. CD /D c:\sybase "%SQLANY16%\bin64\dbunload.exe"^ -an kslnew.db^ -ap 4096^ -c "DBF=ksl.db; UID=dba; PWD=sql;"^ -o dbunload_ksl_messages.txt^ -v PAUSE ...dbunload/reload is done; start dbeng16 "%SQLANY16%\bin64\dbspawn.exe"^ -f "%SQLANY16%\bin64\dbeng16.exe"^ -o dbeng16_kslnew_messages.txt^ kslnew.db PAUSE ...dbeng16 is running; start dbisql "%SQLANY16%\bin64\dbisql.exe"^ -c "ENG=kslnew; DBN=kslnew; UID=dba; PWD=sql;" PAUSE ...dbisql is running Thanks a lot, Breck, I could unload the data. A view can't be compiled and a few triggers have to be created. But I'll deal with this later on. I can't start the DB engine and get the following error. D:\SYBASE12>"%SQLANY12%\Bin32\dbspawn.exe" -f ""%SQLANY12%\Bin32\dbeng12.exe" -o dbeng12_kslnew_messages.txt kslnew.db SQL Anywhere Start Server In Background Utility Version 12.0.1.4436 DBSPAWN ERROR: -80 Unable to start database server D:\SYBASE12>
(10 Aug '18, 03:55)
HP Fuchs
It works now! You really made my day I had an Apostrophe too much in the string, that's all. Server is running now. I'll now compare the new database to the old database. Thank you for your help! It's very much appreciated!
(10 Aug '18, 09:07)
HP Fuchs
Replies hidden
2
I didn't think there would be any apostrophe memes... and I was wrong! ...but, at least your puppy is safe :)
(10 Aug '18, 14:45)
Breck Carter
|
Thank you both. That means I copy the database and log files from the old server to the new server and use dbunload.exe on the new server? 1
Yes, the unload must be done with the new SQL Anywhere Version. Note, from 5.5 to 16 is a huge step, so there might be several behaviour changes to consider...
(09 Aug '18, 12:21)
Volker Barth
|