cancel
Showing results for 
Search instead for 
Did you mean: 

getting data quickly from a master backup

jayrijnbergen
Active Participant
0 Kudos

Recently I was asked to recover a corrupted instance from backups

I ran into some issues with corrupted devices and decided a rebuild would be much faster then a recovery

However, I needed to reload the master database anyway to get latest data from system tables like logins, roles, passwords, etc.

It would have been much faster if I would have been able to reload the master database backup into a regular user database to just get this data and then discard this database again. But this is not possible and raises error 3109.

I know, a copy of system tables from master using bcp provides this info. But it was too late for that.

Building a new instance just to reload the master db to get this info is also possible.

Of course the master database contains lots of system tables unique to master, which don't make sense in any other db

I'm wondering if there's a traceflag to avoid error 3109, just to save some time.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Jeroen is this not possible through Archive Database Access (SyBooks Online)

Regards,

Harry

jayrijnbergen
Active Participant
0 Kudos

was thinking about that

but not applicable in this case because backups made with compress::

Former Member
0 Kudos

Thats a pity ;-( use with compression =  next time 😉


Answers (3)

Answers (3)

jayrijnbergen
Active Participant
0 Kudos

the main issue was trying to avoid a master recovery

not because of Sybase ASE, but because of environment issues

Archive database seems to be the only way to do that

But that means can't use backup made with "compress::file"

see also

2280136 - How to look inside a master database dump without restoring it.

c_baker
Employee
Employee
0 Kudos

'compress::file' syntax is deprecated.

You should switch to using 'with compression = xx' in your dump database command.


This is supported by ADA.


Chris

Former Member
0 Kudos

Alternatively you might copy master device to another box (not attached to the user database devices for safety reasons).  Boot ASE from there in master recovery mode (dataserver -m).  Load you backup. If you work with raw devices this will be more tricky though...

former_member188958
Active Contributor
0 Kudos

After loading the dump of master, ASE will automatically shutdown.

ASE can then be booted with traceflag 3608 to recover only the master database.

This avoids any attempt to access devices other than the master device, so it

doesn't matter if the devices don't exist or are corrupt.

-bret

javier_barthe
Participant
0 Kudos

Hi Jeroen,


Dataserver process have many options, I remember once I pass through this situation and I simply build a new instance with dataserver process and also specify master recovery so then I restore master database and take bcp outs from system tables in oder to recover the original instance.

Don´t remember any traceflag to recover master db in an user db.

Hope helps.

Javier.