Sql server 2008 使用数据库角色保护表更新(服务器角色已结束)

Sql server 2008 使用数据库角色保护表更新(服务器角色已结束),sql-server-2008,database-security,Sql Server 2008,Database Security,我有一个名为app_user的数据库角色,对除2之外的所有表具有选择、更新、插入和删除权限。在这两个表上,应用程序用户角色只有选择权 但是,有些用户有权创建数据库用户(使用create login、sp_adduser、sp_addrolember)。为了能够执行此过程,他们必须具有sysadmin服务器角色。在这种情况下,sysadmin角色超过数据库角色app_user,他们可以更新这两个表。目前,我给了他们securityadmin角色,但他们只能在创建db用户时执行createlogin

我有一个名为app_user的数据库角色,对除2之外的所有表具有选择、更新、插入和删除权限。在这两个表上,应用程序用户角色只有选择权

但是,有些用户有权创建数据库用户(使用create login、sp_adduser、sp_addrolember)。为了能够执行此过程,他们必须具有sysadmin服务器角色。在这种情况下,sysadmin角色超过数据库角色app_user,他们可以更新这两个表。目前,我给了他们securityadmin角色,但他们只能在创建db用户时执行createlogin

总之,,
我想保护除我的sysadmin帐户之外的所有用户更新2个表,并且我想让一些用户能够创建数据库用户(我的应用程序执行sp,为此类用户授予db权限)。

您可能会在DBA站点上得到更好的答案,但您似乎希望允许用户执行3个命令:
CREATE LOGIN
CREATE USER
sp_addrolemember
(因为
ALTER ROLE
无法在SQL Server 2008中向角色添加成员)

根据文件,所需的最低权限为:

  • 创建登录名
    -
    更改(任何)登录名
  • 创建用户
    -
    更改任何用户
  • sp\u addrolemember
    -
    ALTER
    角色权限
因此,如果您授予他们上面列出的权限,他们不应该需要
sysadmin
db_owner
权限