cancel
Showing results for 
Search instead for 
Did you mean: 

Backup of v16 database fails on v17 Restore

Former Member
0 Kudos

Backed up a customers v16 database with sybase central.

Used MS windows send to -> compressed file.

Customer emailed me the file.

Extracted the file to my computer.

Used v17 sybase central to execute a restore on the file.

Get the following error:

The database archive 'C:\XXXXXXXXXXX' could not be restored on the server '_sc985027341'.

Backup file format is invalid

[SAP][ODBC Driver][SQL Anywhere]Backup file format is invalid

SQLCODE: -716

SQLSTATE: HY000

SQL Statement: RESTORE DATABASE 'C:\test.db' FROM 'C:\XXXXXXXXXXX'

Reason?

Accepted Solutions (1)

Accepted Solutions (1)

former_member188493
Contributor
0 Kudos

The file could be corrupt, or...

There are two kinds of SQL Anywhere backups.

99.999% of SQL Anywhere backups are made using the "image backup" type.


The remainder (i.e., almost none) are made using the "archive backup" type which was originally designed for tapes.

Judging by the message you got, the email probably contained an image backup.

Restoring an image backup requires zero effort, other than unzipping it and copying the file to the desired location, and running dbsrv17. No RESTORE command required.

The Help really should contain "DON'T USE THIS COMMAND!" in the section on RESTORE : )

http://static.droidnetwork.net/wenwm/Images/touchgerms.jpg

Former Member
0 Kudos

I've always done archive backups with no issues.

Never done a image backup.

Don't know why actually.

Maybe image backups have to have the database offline or breaks connections?.....I'd have to check.

We are going to attempt it again.

Hopefully not a 64 bit vs 32 bit issue with v17.

Maybe the customer has 32bit v16 and I'm trying to restore on 64bit v17.

Wouldn't "think" that would be an issue....but....

Former Member
0 Kudos

The problem ended up being v17 will not restore v16 archive backup file.

Installed v16 locally and did the restore with no problem.

Certainly would make upgrading a customer from v16 to v17 more challenging.

former_member188493
Contributor
0 Kudos

Image backups can be made while the database is online, using the BACKUP statement or dbbackup utility. When dbsrv17 is used to start the image backup *.db file (no RESTORE statement necessary), the server may automatically run the recovery process; I suspect the same is true when the RESTORE statement is run for an archive backup, but I have zero experience with archive backups... after all, I've only been working with SQL Anywhere since 1995 : )

The version 12, 16 and 17 Help all contain this exact sentence: "As of version 12, you cannot restore archive backups created with version 11 or earlier database servers."

My guess is that sentence should have been updated in successive versions of the Help. For example, "As of version 17, you cannot restore archive backups created with version 16 or earlier database servers."

Bottom line: There is no "restore process" for image backups. Image backups are database files... you just start them with the server. That is why people use them, they are sooooo simple.

PS: "restore" should not be confused with "recovery". Restore is something people do. Recovery is something the server does ... automatically ... without your request, approval, control, intervention or interference : )

Former Member
0 Kudos

Ah ha!  An old soldier from the Watcom days!

Thanks for the help.

Answers (0)