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

使用Data Migration Assistant v5.2迁移SQL Server至Azure SQL遇权限错误求助

解决DMA迁移Azure SQL时VIEW SERVER STATE权限被拒绝的问题

这个问题我之前帮好几个用户排查过,本质是Azure SQL的dbmanager角色权限范围有限——它主要负责数据库的创建、删除等库级操作,但Data Migration Assistant(DMA)在迁移过程中需要读取服务器级的状态信息(比如实例配置、性能指标等),而这需要VIEW SERVER STATE权限,dbmanager默认是没有这个权限的。

下面是具体的解决步骤:

  • 步骤1:给目标账户授予VIEW SERVER STATE权限
    你需要用Azure SQL的服务器管理员账户(或者其他拥有服务器级权限的账户)连接到master数据库,执行以下SQL语句:

    GRANT VIEW SERVER STATE TO [你的SQL身份验证账户名];
    

    注意:必须在master数据库中执行,因为这是服务器级别的权限,不是数据库级的。

  • 步骤2:验证权限是否生效
    切换到你的目标账户,执行以下查询确认权限已添加:

    SELECT HAS_PERMS_BY_NAME(null, 'SERVER', 'VIEW SERVER STATE');
    

    如果返回结果是1,说明权限已经生效,可以重新启动DMA的迁移流程了。

  • 步骤3:迁移完成后回收权限(可选)
    如果你担心权限过大,迁移完成后可以用服务器管理员账户收回这个权限:

    REVOKE VIEW SERVER STATE FROM [你的SQL身份验证账户名];
    

    收回后,账户依然保留dbmanager的库级管理权限,不影响日常操作。

另外补充一句:DMA的评估和迁移阶段对权限的要求略有不同,迁移阶段需要更多服务器级的信息读取权限,所以这个临时授权是必要的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 16:57:29