Gra*_*ntM 2 sql-server backup permissions
有没有办法强制用户只使用 COPY_ONLY 进行完整备份,这样他们就不会干扰差异备份?
我们的开发人员需要时不时地进行备份,但他们并不总是记得使用该COPY_ONLY选项,然后他们将备份移走,因此会导致一些问题。
不,我们无法强制执行任何选项或限制,以便用户在尝试进行任何备份时可以进行 copy_only 备份,但您可以做的是创建一个过程,该过程使用仅复制选项备份数据库,并授予对过程的执行权限不同的用户,然后从用户中删除备份数据库权限。
BACKUP DATABASE 和 BACKUP LOG 权限默认授予 sysadmin 固定服务器角色以及 db_owner 和 db_backupoperator 固定数据库角色的成员。所以相应地移动。允许一般用户根据心情备份数据库确实不是一个好习惯,但我想要求因公司而异。有关更多详细信息,请阅读此链接中的安全部分
有没有办法强制用户只使用 COPY_ONLY 进行完整备份,这样他们就不会干扰差异备份
让我告诉你,没有仅复制差异备份的概念。它仅适用于完整备份和事务日志备份。
另一种选择是通过社会工程教育开发人员关于正常完整和日志备份可能发生的可能问题,如果他们进行日志备份可能会破坏 LSN 链并且日志传送将失败并且他们将负责。还有一个简单的选项可以要求开发人员使用保存在某个共享位置的内置脚本(希望你的公司有一个),并确保在该脚本中有 copy only 子句。我想每个人都会发现使用已经编写好的脚本而不是自己编写或通过 GUI 编写会很有帮助。
无法授予备份权限,只能限制某些选项。
停止授予他们备份数据库的权限。创建一个以所有者身份执行并使用 copy_only 备份数据库的存储过程,并授予这些用户对该存储过程的执行权限。如果您需要为多个数据库使用它,您可以创建多个过程,或者您可以使用动态 SQL - 只需确保使用 QUOTENAME() 数据库名称,而不是盲目地将其添加到语句中,或者根据您想要的已知数据库列表进行检查允许。
除此之外,教育是防止这种情况发生的唯一可行途径。当然,你总是可以事后审核和谴责。
| 归档时间: |
|
| 查看次数: |
665 次 |
| 最近记录: |