标签: sql-server sql-server-2005
我想在MS SQL 2005中设置一个SQL Auth用户,可以恢复特定实例中的一些但不是全部数据库。
我不确定是否应该使用服务器角色,因为它们似乎适用于所有数据库,但数据库角色成员资格似乎也不正确(我不希望SQL用户可能'丢失'如果他们恢复了不包含数据库角色成员资格的备份,则恢复能力。)
我该如何做到这一点?
答案 0 :(得分:2)
您无法像这样设置用户。此权限位于服务器/登录级别的数据库/用户之上
登录可以有“dbcreator”,其中包含:
......并且可以改变和恢复自己的 数据库。
即使使用GRANT,如果不是不可能,也就是说“GRANT CREATE ANY DATABASE”
GRANT CREATE ANY DATABASE
在某种程度上,还原是一种删除和创建。或者只是一个创作。
我建议最好的解决方案(但可能不是你想听到的......)将在master中创建自己的存储过程,检查权限并在登录设置为用户时发出RESTORE命令在那个DB
示例:sp_checkandrestore 'dbname', 'backupfile'
sp_checkandrestore 'dbname', 'backupfile'