我有一个位于机器管理员组中的用户帐户,名称为" admin.x"。
因此,它也位于服务器上托管的SQL Server的BUILTIN\Administrators
列表中,这意味着" admin.x"还有数据库管理员权限。
我尝试仅授予db_datareader
(安全 - >登录 - >右键单击" admin.x" - >属性 - >用户映射 - >选择目标数据库 - >检查public和db_datareader)。我认为,通过这种配置,它只能读取数据,绝对不需要写入。但是,它仍然可以编写,更新和删除,这似乎内置管理员仍在工作。
问题是" admin.x"仍然需要是机器管理员,但只有数据库中的数据读取权限。
答案 0 :(得分:2)
我建议你为sql server创建一个新的管理员组,为其添加适当的成员,授予组sysadmin权限,然后删除builtin \ Administrators组。
然后,您可以授予admin.x用户特定的datareader权限。