Skip to Content

getting data quickly from a master backup

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.

Add a comment
10|10000 characters needed characters exceeded

Related questions

4 Answers

  • Best Answer
    Posted on Feb 04, 2016 at 11:13 AM

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



    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Apr 07, 2016 at 11:24 AM

    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.

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Feb 06, 2016 at 12:30 AM

    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.


    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Apr 07, 2016 at 05:32 AM

    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...

    Add a comment
    10|10000 characters needed characters exceeded

    • 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.


Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.