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

如何为365组用户配置Azure SQL数据库只读权限

错误原因

  • 执行操作的账号权限不足:你需要使用Azure SQL服务器管理员、Azure AD管理员,或者持有ALTER ANY ROLE权限、db_owner角色的账号执行角色修改操作,普通账号无相关操作权限。
  • 操作执行的数据库错误:db_datareader是数据库级内置角色,你需要切换到目标业务数据库下执行语句,不能在master库或其他无关数据库中操作。
  • 角色名拼写错误:确认你没有拼写错db_datareader名称,Azure SQL DB原生支持该内置角色,不存在角色不存在的情况,绝大多数报错都是前两类原因导致。

权限调整操作

1. 先撤销现有过高权限

你遇到的组成员默认拥有增删改权限,说明该组继承了其他高权限角色(如db_datawriter、db_owner),或被显式授予了修改类权限,必须先清理:

  • 先查询该组当前的权限配置:
-- 查询组所属数据库角色
EXEC sp_helpuser 'GroupName'
-- 查询组的显式授权记录
SELECT * FROM sys.database_permissions WHERE grantee_principal_id = USER_ID('GroupName')
  • 若组属于写权限角色,先移除对应角色成员:
ALTER ROLE db_datawriter DROP MEMBER [GroupName]
-- 如属于其他高权限角色同理执行移除操作
  • 若存在显式授予的修改类权限,执行撤销:
REVOKE INSERT, UPDATE, DELETE, ALTER ON SCHEMA::dbo TO [GroupName]
-- 可根据实际业务的schema范围调整撤销的权限范围

2. 重新分配只读权限

使用高权限账号切换到目标业务数据库后,执行以下语句分配只读权限:

ALTER ROLE db_datareader ADD MEMBER [GroupName]

配置验证

使用组内成员账号登录数据库测试,执行SELECT语句可正常返回结果,执行DELETE/UPDATE/INSERT等修改类语句返回权限不足报错,即为配置成功。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 23:27:02