我想知道是否有办法授予SQL服务器用户恢复数据库的权限,但不能通过ssms将数据写入表中。 事实上,除非用户是“sa”,否则我不希望用户转到ssms并更改数据。 有机会表演吗?
答案 0 :(得分:0)
如果Login正在还原现有数据库,则该数据库将包含以前拥有的任何用户权限;如果这些用户可以/确实映射到该服务器上的登录,那么这些登录将映射到这些用户,从而保留这些权限。例如,您不能阻止具有db_datawriter
数据库角色的用户对数据库中的对象执行INSERT
,UPDATE
等,除非他们也明确拥有一个DENY
。因此,如果登录不是sa
但可以恢复数据库,并且Login
映射到用户"写"特权,然后他们可以写入恢复的数据库。你无法阻止
如果要控制谁可以写入已还原的数据库,那么数据库管理员应该是唯一可以还原数据库的登录,然后,设置脚本以更改新的权限恢复数据库,删除任何用户权限"写"到数据库,并从db_owner
角色中删除任何用户。