What would be the best way to allow users to manage their own database restores from backup files? The reason I ask is because I have a user who is the db_owner for a db. He loses access as soon as he restores the database from a backup file from another instance(of course because he does not have access on that instance), and then someone with sa permissions has to restore his permissions. Is there anyway he can restore the backups, and then put back the db owner permission on the database that he already had?
Your best bet at this point is to create a custom stored procedure that does the following style pseudo code:
Build in some logic to check and make sure people aren't trying to abuse it, give bad values, etc. Sign the procedure with a certificate and use a special account just for this purpose to lock down possible intruders/malicious people.