I'm trying to get the validation utility running on our SQL Anywhere 12 database similar to how we had it working with our ASA6 database.
Basic design is that we have replication running every hour at the top of the hour through a scheduled task. We run the backup utility every hour at the bottom of the hour. That backup script truncates the log file and splits it into smaller ones so we have it around for replication.
We're basically trying to fire off the validation utility at about 1:45 in the morning.
Here is the command line from the batch file...
"D:\Program Files\SQL Anywhere 12\Bin32\dbvalid.exe" -c "dbf=c:\database\production.db;uid=dba;pwd=*****;" -o "c:\database\prodvalid.txt"
When we run the batch file, we get the following error placed in the output log.
SQL Anywhere Validation Utility Version 18.104.22.16884 SQL error (-82) -- Unable to start specified database c:\database\production.db cannot be started read-only because it requires recovery
Any thoughts on what might be happening here would be appreciated. I know the database isn't bad. The backups are firing off successfully.
Some backups require recovery and if you go through recovery & start up a backup, you will write new entries into the transaction log and that makes it difficult or impossible to then use the database as part of a recovery scheme. To avoid that problem, dbvalid opens the database in read-only mode which can only be done if the database doesn't require recovery.
answered 01 Dec '11, 21:39