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

Azure SQL Server:SSMS登录失败与ADS表设计修改异常求助

解决方案

一、修复SSMS登录的错误

核心原因:

SSMS默认会先访问master数据库完成身份验证,若该库中没有对应用户的Azure AD映射,会触发令牌身份验证失败。

解决步骤:

  1. 在master库创建用户映射
    用Azure AD管理员身份登录SQL Server(ADS或SSMS均可),切换到master数据库,执行以下SQL:

    -- 替换为目标用户的完整UPN(如user@yourdomain.com)
    CREATE USER [目标用户UPN] FROM EXTERNAL PROVIDER;
    -- 赋予master库的只读权限,满足登录验证需求
    ALTER ROLE db_datareader ADD MEMBER [目标用户UPN];
    
  2. 检查SSMS连接配置

    • 选择身份验证方式为Azure Active Directory - Universal with MFA,避免使用其他Azure AD认证选项
    • 点击连接对话框的「选项」,在「连接到数据库」处明确指定目标业务数据库
    • 升级SSMS到19.x及以上版本,旧版本对Azure AD MFA的令牌处理存在兼容性缺陷

二、修复ADS无法修改表设计的权限问题

核心原因:

db_ddladmin角色虽包含多数DDL权限,但部分表设计操作(如修改架构关联表)需要额外的架构级权限。

解决步骤:

在目标业务数据库中执行以下SQL,补充必要权限:

-- 确保用户已正确映射到数据库(若未创建则执行)
CREATE USER [目标用户UPN] FROM EXTERNAL PROVIDER;
-- 重新确认基础权限
ALTER ROLE db_datareader ADD MEMBER [目标用户UPN];
ALTER ROLE db_datawriter ADD MEMBER [目标用户UPN];
ALTER ROLE db_ddladmin ADD MEMBER [目标用户UPN];
-- 添加架构修改权限,覆盖表设计的特殊需求
GRANT ALTER ANY SCHEMA TO [目标用户UPN];

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 00:15:34