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

如何配置Azure SQL Server权限:可访问数据、添加AD用户但禁建数据库

Azure SQL Server 权限配置步骤

一、配置你的权限(满足读取数据、添加AD用户需求)

以SQL Server管理员(AD管理员或SA账户)身份登录,执行以下SQL语句:

1. 授予服务器级别核心权限

-- 允许你在任意数据库中创建/添加AD用户
GRANT ALTER ANY USER TO [你的Azure AD账户名];
-- 允许你查看所有数据库
GRANT VIEW ANY DATABASE TO [你的Azure AD账户名];

2. 授予数据库读取权限

针对每个需要访问的数据库,切换到对应数据库后执行:

USE [目标数据库名称];
-- 添加到内置只读角色,可读取该数据库所有表数据
EXEC sp_addrolemember 'db_datareader', [你的Azure AD账户名];

如果需要更细粒度的读取权限(比如仅特定表),替换为:

USE [目标数据库名称];
GRANT SELECT ON [指定表名] TO [你的Azure AD账户名];

二、添加AD用户并限制其权限(禁止创建新数据库)

用你的AD账户登录SQL Server后,按以下步骤操作:

1. 创建AD用户到目标数据库

USE [目标数据库名称];
-- 从Azure AD同步创建数据库用户
CREATE USER [需添加的AD账户名] FROM EXTERNAL PROVIDER;

2. 授予用户必要的数据库权限(无服务器级创建权限)

推荐使用内置角色或自定义角色控制权限,确保用户仅拥有数据库内的访问权限:

USE [目标数据库名称];
-- 示例:添加到只读角色,仅允许读取数据
EXEC sp_addrolemember 'db_datareader', [需添加的AD账户名];

如果需要自定义权限集合,可创建专属角色:

USE [目标数据库名称];
-- 创建自定义数据库角色
CREATE ROLE [CustomDBAccess];
-- 授予该角色所需权限(示例:读取+执行指定存储过程)
GRANT SELECT TO [CustomDBAccess];
GRANT EXECUTE ON [指定存储过程名] TO [CustomDBAccess];
-- 将AD用户添加到该角色
EXEC sp_addrolemember 'CustomDBAccess', [需添加的AD账户名];

3. 确保用户无数据库创建权限

默认情况下,新添加的AD用户没有服务器级的CREATE ANY DATABASE权限或dbmanager服务器角色,无需额外操作。如果之前有授予相关权限,可执行以下语句撤销:

-- 撤销服务器级创建数据库权限
REVOKE CREATE ANY DATABASE FROM [需限制的AD账户名];
-- 移除dbmanager服务器角色(如果已添加)
ALTER SERVER ROLE dbmanager DROP MEMBER [需限制的AD账户名];

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 00:15:30