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

Azure SQL执行CREATE DATABASE AS COPY OF复制数据库权限不足如何解决

解决Azure SQL数据库复制权限不足的问题

要成功执行CREATE DATABASE ... AS COPY OF语句,除了在master数据库中拥有dbmanager角色,还需要在源数据库中具备足够的权限,具体操作步骤如下:

  • 确认master数据库中dbuser已加入dbmanager角色(你已完成此操作):

    ALTER ROLE dbmanager ADD MEMBER dbuser;
    
  • 在源数据库db1中执行以下配置:

    1. 如果dbuser尚未在db1中创建对应的数据库用户,先完成用户关联:
      CREATE USER dbuser FROM LOGIN dbuser;
      
    2. 将该数据库用户添加到db_owner角色(或直接授予CONTROL权限,二者权限等价):
      ALTER ROLE db_owner ADD MEMBER dbuser;
      -- 也可使用权限授予语句替代
      -- GRANT CONTROL ON DATABASE::db1 TO dbuser;
      

关键说明

  • dbmanager角色仅允许在master数据库中执行创建/删除数据库的基础操作,但复制操作需要读取源数据库的完整内容,因此必须在源库中拥有控制级权限。
  • 若之前添加db_owner角色无效,大概率是因为dbuser登录名未与db1中的数据库用户关联——SQL登录名和数据库用户是分离的身份,必须显式绑定后,角色权限才能生效。
  • 完成上述配置后,重新连接master数据库执行复制语句即可:
    CREATE DATABASE db3 AS COPY OF db1 (SERVICE_OBJECTIVE = ELASTIC_POOL(name = MyPool));
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 08:42:18