在我们的一台 SQL 2005 服务器上,我们无法再为任何用户提供服务器角色(例如 sysadmin)。通过 UI 和代码似乎都可以成功。但是当我们检查数据库和 UI 时,该角色未选中,并且不显示在主数据库中的用户身上。权限似乎不是问题,因为我们正在以系统管理员级别的访问进行测试。日志中也没有错误。
有任何想法吗?
谢谢,
布兰登
答案1
但是,当我们在数据库和 UI 中检查时,角色尚未选中,并且不会显示在主数据库中的用户中。
Sysadmin 是一个服务器角色,您需要查看安全选项卡,该选项卡不在 master 下,而是在数据库树/分支之外。或者您也可以使用上述查询进行检查。
从 sys.server_role_members srm 中选择名称 内连接 sys.server_principals sp ON srm.member_principal_id = sp.principal_id 其中 srm.role_principal_id = ( 选择主体 ID 来自 sys.server_principals 其中 [名称] = 'sysadmin')