sql server 2000 中的 sp_password 存储过程只需要 db_accessadmin db_securityadmin 数据库角色的成员身份和 securityadmin 服务器角色的成员身份,以允许用户在不知道旧密码的情况下更改密码。但是在 sql server 2005/2008 中,BOL 表示用户现在需要“CONTROL SERVER”权限才能执行此操作。 CONTROL SERVER 权限究竟赋予用户什么权力?
更新:我发现了这个:
CONTROL SERVER is a new permission as of SQL Server 2005 and it grants the same access as being a member of the sysadmin fixed server role. - 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 服务器角色的成员身份,以允许用户在不知道旧密码的情况下更改密码。
最佳答案
请参阅 this MSDN page 上受 CONTROL SERVER 影响的特定安全对象列表.
关于sql-server - SQL Server 2008 控制服务器权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/922936/