SQL Server 2008 - 在没有sa权限的情况下恢复后重新放入数据库用户权限

时间:2014-08-07 05:53:39

标签: sql-server sql-server-2008 sql-server-2008-r2 database-restore

允许用户从备份文件管理自己的数据库还原的最佳方法是什么?我问的原因是因为我有一个db_owner用户  一个db。一旦他从另一个实例的备份文件恢复数据库,他就会失去访问权限(当然因为他没有访问该实例),并且  那么拥有sa权限的人必须恢复他的权限。无论如何,他是否可以恢复备份,然后将数据库所有者的权限放回已经拥有的数据库?

1 个答案:

答案 0 :(得分:0)

此时您最好的选择是创建一个执行以下样式伪代码的自定义存储过程:

  1. 获取数据库名称,备份文件名
  2. 检查以确保请求的人是所有者
  3. 通过原始
  4. 还原数据库
  5. 将所有者设置回#2
  6. 中的原始文件

    构建一些逻辑以检查并确保人们不会试图滥用它,提供错误的值等。使用证书签署过程并使用特殊帐户来锁定可能的入侵者/恶意攻击者