Weird requirement but OK, here goes...
I managed to do it with the following.
1. Ensure that none of the objects in your database have permissions
for public users to select, update etc.
2. Create a Login / User (I used enterprise manager)
3. I gave the user public and db_backupoperator access to the database.
Then I created the following stored proc and gave the user permissions
to execute it.
CREATE PROCEDURE proc_BackupDB
WITH ENCRYPTION
AS
BACKUP DATABASE Database
TO DISK = 'C:\Test.bak'
WITH PASSWORD = 'password'
The encryption stops him seeing what the proc does.
The password stops him from restoring.
-----Original Message-----
From: Gabriel Bayá
[mailto:mssqldba-ezmlmshield-x68474566.[Email address protected]
Sent: 31 May 2006 09:54 PM
To: LazyDBA Discussion
Subject: Protecting Databases
Hi everyone, I need to protect my database in the following way
I need a user who
1) cannot access certain databases using Enterprise manager, no
retrieve tables, views, etc
2) users can back up database for backup purposes only.
3) User cannot restore database in this server or any other server
(or
not retrieve idem 1)
Thanks in advance.
Regards.
A/P Gabriel Bayá
Director de Tecnología.
Datasur Informática S.R.L.
Bvard. Artigas 62 Of. 406
11300 Montevideo Uruguay
Tel. (598 2) 710 1343
Fax. (598 2) 711 6189
Web: <http://www.datasur.com.uy> http://www.datasur.com.uy
e-mail: <mailto:[Email address protected] [Email address protected]
---------------------------------------------------------------------
TO REPLY TO EVERBODY , PLEASE CLICK REPLY-ALL, NOT JUST REPLY Website :
http://www.LazyDBA.com To unsubscribe:
http://www.lazydba.com/unsubscribe.html
MS Sql Server LazyDBA home page