代码之家  ›  专栏  ›  技术社区  ›  Booji Boy

SQL Server 2008控制服务器权限

  •  3
  • Booji Boy  · 技术社区  · 15 年前

    SQL Server 2000中的sp_password存储过程只需要db_accessadmin db_securityadmin数据库角色中的成员身份和securityadmin服务器角色中的成员身份,就可以让用户在不知道旧密码的情况下更改密码。然而,在SQLServer2005/2008中,BOL说用户现在需要“控制服务器”权限才能做到这一点。 控制服务器权限究竟给用户什么权力?

    更新:我发现了:

    控制服务器是自SQL Server 2005起的一个新权限,它授予作为sysadmin固定服务器角色成员的相同访问权限。 - http://www.sqlservercentral.com/blogs/brian_kelley/archive/2009/02/24/detecting-when-a-login-has-implicit-access-to-a-database.aspx

    更新: 结果证明文档是错误的。与SQL Server 2000一样,SQL Server 2008 sp_password似乎只需要db_accessadmin&db_securityadmin数据库角色的成员资格和securityadmin服务器角色的成员资格,就可以让用户在不知道旧密码的情况下更改密码。

    2 回复  |  直到 11 年前
        1
  •  2
  •   Aaron Alton    15 年前

    请参阅上受控制服务器影响的特定安全性列表 this MSDN page .

        2
  •  1
  •   Andreas Wolter    11 年前

    我在本博客中与sysadmin相比,对控制服务器的安全含义有一个完整的描述: "CONTROL SERVER vs. sysadmin/sa: permissions, system procedures, DBCC, automatic schema creation and privilege escalation - caveats" .

    需要注意的是,具有控制服务器的主体可以很容易地将其权限提升为sysadmin,这也在此处显示。

    加上一个仍然需要“sysadmin”服务器角色的所有过程的列表。