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

未创建LOGIN/USER的Entra ID可登录Azure SQL?如何验证权限?

问题分析与解决方案

现象原因

你遇到的情况大概率是SSMS 19.0.2的凭据缓存/复用机制导致的:之前用admin@mycompanydev.onmicrosoft.com登录过SSMS,系统缓存了该账号的凭据,当你尝试用littlebird账号登录时,SSMS自动复用了缓存的管理员凭据,从而获得了数据库访问权限。

验证Entra ID数据库访问权限的方法

1. 清除SSMS凭据后重新验证

彻底清除缓存的凭据,确保登录时使用的是littlebird的真实身份:

  • 打开Windows凭据管理器(控制面板 → 用户账户 → 凭据管理器 → Windows凭据)
  • 删除所有包含mycompanydev.onmicrosoft.com或你的Azure SQL服务器名称的凭据条目
  • 关闭并重新打开SSMS,选择对应Entra ID登录方式(如「Azure Active Directory - 通用与MFA」),输入littlebird的账号密码,不要勾选「记住我的凭据」,尝试连接。若该账号无权限,会直接返回登录失败的错误。

2. 在SQL数据库中查询权限(用管理员账号执行)

通过SQL语句直接验证littlebird是否存在对应的登录或用户,以及是否通过组继承权限:

  • 检查服务器级LOGIN(在master数据库执行):

    SELECT name, type_desc FROM sys.server_principals WHERE name = 'littlebird@mycompanydev.onmicrosoft.com';
    

    若结果为空,说明该账号没有服务器级登录权限。

  • 检查数据库级USER(在目标非master数据库执行):

    SELECT name, type_desc FROM sys.database_principals WHERE name = 'littlebird@mycompanydev.onmicrosoft.com';
    

    若结果为空,说明该账号没有对应数据库的用户权限。

  • 检查是否通过Entra组继承权限:

    -- 服务器级组成员关系
    SELECT sp.name AS 组名称, sp.type_desc, sl.name AS 成员账号
    FROM sys.server_principals sp
    JOIN sys.server_role_members srm ON sp.principal_id = srm.role_principal_id
    JOIN sys.server_principals sl ON srm.member_principal_id = sl.principal_id
    WHERE sl.name = 'littlebird@mycompanydev.onmicrosoft.com';
    
    -- 数据库级组成员关系
    SELECT dp.name AS 组名称, dp.type_desc, dl.name AS 成员账号
    FROM sys.database_principals dp
    JOIN sys.database_role_members drm ON dp.principal_id = drm.role_principal_id
    JOIN sys.database_principals dl ON drm.member_principal_id = dl.principal_id
    WHERE dl.name = 'littlebird@mycompanydev.onmicrosoft.com';
    

    若有结果返回,说明littlebird属于某个被授予SQL权限的Entra组。

3. 用littlebird账号直接检查身份与权限

如果清除凭据后仍能成功连接,在查询窗口执行以下语句,确认当前实际使用的身份和拥有的权限:

-- 查看当前登录的Entra ID账号
SELECT SUSER_SNAME();
-- 查看当前数据库对应的用户
SELECT USER_NAME();
-- 查看当前用户拥有的数据库权限
SELECT * FROM fn_my_permissions(NULL, 'DATABASE');

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 05:12:49