Azure Data Studio使用AAD通用MFA认证时<token-identified principal>登录失败
解决'Azure Active Directory - Universal with MFA Support'登录SQL Server报错'login failed for user '''
1. 验证SQL Server的AAD身份映射配置
- 检查服务器级AAD登录是否存在:在SQL Server中执行以下查询,确认目标用户/所属组已被添加为外部登录主体
SELECT name, type_desc FROM sys.server_principals WHERE type_desc = 'EXTERNAL PROVIDER'; - 确认数据库级用户映射:切换到指定的目标数据库,执行查询验证用户是否已映射,若未映射则创建并授权
-- 检查数据库用户 SELECT name, type_desc FROM sys.database_principals WHERE type_desc = 'EXTERNAL PROVIDER'; -- 若不存在则创建用户 CREATE USER [你的AAD用户名] FROM EXTERNAL PROVIDER; -- 赋予基础访问权限(按需调整) ALTER ROLE db_datareader ADD MEMBER [你的AAD用户名];
2. 重置Azure Data Studio的AAD令牌缓存
- 打开Azure Data Studio,依次点击「文件」>「首选项」>「设置」
- 搜索
Azure Accounts: Clear Tokens,执行令牌清除操作后,重新启动Azure Data Studio并尝试登录
3. 调整连接参数配置
- 尝试修改
Trust server certificate为false:若SQL Server使用的是受信任的CA颁发证书,开启该选项可能会干扰AAD令牌的身份验证流程 - 确保服务器名称使用完整FQDN:比如
your-server.database.windows.net,避免使用IP地址或短主机名,AAD身份验证依赖正确的服务器标识
4. 排查用户专属AAD配置问题
- 确认用户AAD账户状态:检查账户未被设置为登录限制,且属于已授权访问SQL Server的AAD组(若通过组权限管控)
- 重置用户MFA验证方法:若用户MFA配置存在异常,重新设置MFA验证方式后再次尝试连接
内容的提问来源于stack exchange,提问作者Tscott
相关产品推荐
相关产品推荐

