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

删除SSAS服务器管理员用户时出现系统错误,寻求帮助

解决SSAS删除管理员用户时“账户名与安全ID之间无映射”的错误

这个问题我之前处理过好几次,核心原因基本都是SSAS元数据里存储的账户信息和活动目录(AD)中的实际信息不匹配导致的,给你几个逐步排查和解决的方案:

  • 先确认目标账户的AD状态
    首先检查AD里这个账户是不是已经被删除、重命名,或者转移到了其他组织单元(OU)?SSAS是依赖账户的安全标识符(SID)来识别身份的,如果AD里的账户信息发生了变更,SSAS这边就会找不到对应的映射关系。你可以在AD中查询该账户的SID,或者如果是本地账户的话,用命令whoami /user来获取SID,对比SSAS中存储的SID是否一致。

  • 尝试通过SID选择并删除账户
    如果在SSMS的常规用户选择界面找不到目标账户,可以试试通过SID直接定位:

    1. 打开SSMS连接到你的SSAS服务器,右键点击服务器→属性→安全性
    2. 在管理员列表里选中要删除的账户(如果能看到的话),或者点击添加,在弹出的窗口里选择高级→立即查找旁边的对象类型,确保勾选所有类型后点击查找
    3. 如果还是找不到,点击通过SID选择,输入目标账户的SID,找到后再执行删除操作
  • 清理SSAS的元数据缓存
    SSAS有时候会缓存旧的账户信息,导致无法同步最新的AD数据:

    • 最简单的方法是重启SSAS服务,重启前记得确认没有正在运行的作业或查询,避免影响业务
    • 也可以用XMLA脚本来针对性清理缓存,比如清理指定数据库的缓存:
      <ClearCache xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
        <Object>
          <DatabaseID>你的数据库ID</DatabaseID>
        </Object>
      </ClearCache>
      
      如果是服务器级别的缓存,把<Object>节点替换成<ServerID>你的服务器ID</ServerID>即可
  • 检查SSAS服务账户的AD权限
    SSAS的服务账户需要有足够的权限来读取AD中的用户信息,如果权限不足,也会导致无法解析SID和账户名的映射。确保服务账户属于AD的“读取者”角色,或者拥有查询AD用户信息的权限。

  • 极端情况:用PowerShell强制删除
    如果上面的方法都无效,可以尝试用PowerShell脚本强制移除:

    # 连接到SSAS服务器
    $server = New-Object Microsoft.AnalysisServices.Server
    $server.Connect("你的SSAS服务器名称")
    
    # 获取管理员角色
    $adminRole = $server.Roles | Where-Object {$_.Name -eq "Administrators"}
    
    # 定位要删除的账户(可以根据名称或SID筛选)
    $memberToRemove = $adminRole.Members | Where-Object {$_.Name -like "*问题账户名*"}
    
    # 删除账户并更新角色
    $adminRole.Members.Remove($memberToRemove)
    $adminRole.Update()
    
    # 断开连接
    $server.Disconnect()
    

    注意:执行前请确保你有足够的权限,并且备份好SSAS的元数据,避免意外问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:45:33