如何限制SQL Server 2008中的内置管理员权限?

问题描述:

我这是在管理员组的计算机上的用户帐户说这个名字是“admin.x”。如何限制SQL Server 2008中的内置管理员权限?

结果,它也是BUILTIN\Administrators列表SQL Server托管,这意味着“admin.x”也有数据库管理员权限的服务器上。

我试图授予它只有db_datareader(安全 - >登录 - >右键单击“admin.x” - >属性 - >用户映射 - >选择目标数据库 - >检查公共和db_datareader)。有了这个配置我想,它只能读取数据,绝对不会写入。但是,它仍然能够编写,更新和删除,这似乎内置管理员仍在工作。

的问题是“admin.x”仍然需要机器管理员,但只有在数据库中的数据读取权限。

+0

要清楚,你还是你现在有窗口帐户控制?这是你的SQL服务器还是由第三方托管? –

+0

@MisterPositive是的,我有控制权。 “admin.x”是我们为自动化工具提供的帐户。它需要在机器上是管理员,以便它可以完成某些工作(例如启动,停止IIS等),但它只应具有数据库的读取权限。它托管在我们完全控制的其中一台服务器上。 – user1888955

+0

用户是否是sysadmins组的成员? –

我建议你为sql server创建一个新的管理员组,为其添加适当的成员,授予组sysadmin权限,然后删除内置的\ Administrators组。

然后你就可以授予你admin.x用户特定DataReader的权利。

+0

其实我与我的团队讨论,我们决定从管理员组中删除“admin.x”,并仅在指定的表上为其授予db_reader。然而,有趣的是它仍然能够更新和删除表 – user1888955

+0

我跑这个SQL:SELECT SUSER_NAME(),user_name();它返回“admin.x”和dbo,所以我认为我必须错过一些东西......不应该是dbo – user1888955