I can restore the tables in a database, but not the database itself, without replacing all of DBC. How do you restore the database itself without restoring all of DBC?
How was your backup job created? What other type of obejcts you have in that database?
If you backup at database level then you can create a restore/copy job at database level.This does not need restoring all of DBC.
This job will restore all the objects that were backed up.Before running db level restore/copy make sure that database exists on the target system.
We have a requirement to be able to restore a single database for DR purposes. One scenario is that a database is accidentally deleted and will need to be restored. In this case, the database will no longer exist, so we would need to restore it from a backup. DSA does not appear to allow that. We can create the DB manually and then restore the tables and data, but all the rights and privileges associated with the DB will be gone. Those will also have to be recreated manually. We need to be able to perform a single restore to get everything in one shot.
For this requirement you cannot achieve everthing in one shot from DSA product itself,atleast not in the current version.
BTW...arcmain also has exact same behavior/working (i.e. DB has to exist in order to perform a DB level restore and then manually grant permission if all the objects were lost and are recreated by restore jobs).
If Database is deleted (not actually dropped) then you can still restore the entire Database as DB still exists.
Incase its accidentally dropped then yes as you mentioned you will have to create that DB manually and then copy the DB objects.
In both cases you will have to grant access-rights again.
I personally think that creating that one DB manually and granting access-rights after restore is much better than restoring DBC and going through the post-DBC restores steps/tasks followed by all the data restores.
If mulitple databases got dropped and the number of grants to be done are way too high then you can think of DBC restore , followed by data restore.
You will have to evaluate your options,time required etc.. and then decide.
Because the access rights are in DBC and you aren't restoring that, you need a process to copy access rights to another set of tables and back them up for reference. You lose the grants when the dataase is "accidently deleted." You'll want to copy data from dbc.allrights, dbc.rolemembers, dbc.roleallrights and more.