Skip to Content

Upgrading SQL Anywhere DB Previous to v9

Nov 12, 2016 at 02:55 PM


avatar image
Former Member

Have a DB and LOG pair from some version previous to v9, so SQLAnywhere v16 can't unload or upgrad.

I don't own a version of SQLAny previous to v9.

What to do...especially if I don't have an active S id?

Thank you.

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

3 Answers

Best Answer
avatar image
Former Member Apr 03, 2017 at 08:37 PM

Thank you both.

I ended up using Sybase Central 12's gui to unload.

I then created a new db using SQLAnywhere 16's gui and ran/loaded the SQL output from the unload.

Show 1 Share
10 |10000 characters needed characters left characters exceeded

FWIW, that should have been possible with the v16's Sybase Central tool, too, as others have noted, i.e. without the use of v12.

avatar image
Former Member Nov 14, 2016 at 12:44 PM

The SQL Anywhere 16 dbunload.exe utility can indeed to an unload-and-reload-in-place. Here is a sample Windows command file for upgrading a v5.5 database file...

REM If you're a command-line kinda guy, here is my template Windows 
REM batch file run_dbunload_upgrade_v5_to_v16.bat. It does the 
REM unload-reload-all-in-one-dbunload-step, then starts dbeng16 
REM and dbisql so you can make sure the new 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


  -an ddd16.db^
  -ap 4096^
  -c "DBF=sademo.db;UID=dba;PWD=sql"^
  -o dbunload_log_sademo.txt^

PAUSE dbunload/reload done...

  -f "%SQLANY16%\bin64\dbeng16.exe"^
  -o dbeng16_log_ddd16.txt^

PAUSE dbeng16 started...

  -c "ENG=ddd16;DBN=ddd16;UID=dba;PWD=sql" 

PAUSE dbisql running...

10 |10000 characters needed characters left characters exceeded
Atsushi Asano
Nov 14, 2016 at 01:45 AM

Hi John,

Can you confirm the following document?

The rebuild process for version 9 and earlier databases


Show 2 Share
10 |10000 characters needed characters left characters exceeded

Just to add a general note from the docs:

If you are upgrading to version 16 from version 9 or earlier, you must rebuild the database, which consists of unloading the old database, and reloading it into a new version 16 database. Attempting to start version 9 or earlier databases results in an error on database startup.

So you do need to rebuild the v9 database with the v16 software to make it accessable via v16.


I was able to rebuild version 9 databases by version 16 in the following procedures.

1.Click Start » Programs » SQL Anywhere 16 » Administration Tools » Sybase Central.
2.Click Tools » SQL Anywhere 16 » Unload Database.
3.Read the introductory page of the Unload Database Wizard, and click Next.
4.Click Unload a database running on an earlier version of the server, or a database that is not running. Specify the connection information for the database. Click Next.
5.Click Unload and reload into a new database. Click Next.
6.Specify a new file name for the database. Click Next.
7.Choose to unload structure and data. Click Next.
8.Specify whether you want to connect to the new database when the rebuild is complete.
9.Click Finish. Examine the new database to confirm that the rebuild completed properly.