You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server securityadmin角色用户执行存储过程权限异常排查

SQL Server 2019存储过程权限问题排查

一、登录创建的权限限制

  • securityadmin服务器角色虽能管理登录,但默认无权限创建Windows登录(除非用户本身拥有Windows系统级权限),也不能在创建SQL登录时使用CHECK_POLICY = OFF这类需高权限的参数——只有sysadmin角色具备完全的登录创建权限。若存储过程包含这类操作,securityadmin角色用户执行时必然失败。

二、数据库用户与角色添加的权限缺失

  • 自定义的udr_UserAdmin数据库角色若未被明确授予CREATE USER权限,用户无法在数据库内创建用户。
  • 将用户添加到db_securityadmin数据库角色,仅sysadmin或db_owner角色成员可执行,securityadmin+自定义角色的组合无此权限。
  • 同理,把用户添加到securityadmin服务器角色是sysadmin独有权限,securityadmin角色自身没有资格执行该操作。

三、存储过程执行上下文的问题

  • 若存储过程未设置EXECUTE AS OWNER或指定使用sysadmin账户执行,调用时会沿用当前用户的权限,而非存储过程创建者的权限。服务器管理员用sysadmin权限执行可完成所有操作,但普通用户的权限组合无法覆盖存储过程内的全部步骤。

四、服务器与数据库角色的权限范围混淆

  • securityadmin是服务器级角色,仅负责服务器登录的权限管理,不直接赋予数据库内的操作权限;自定义的udr_UserAdmin角色必须明确授予ALTER ANY USER、ALTER ROLE等数据库权限,才能执行对应的用户和角色管理操作。

内容的提问来源于stack exchange,提问作者Katerine459

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 07:05:02