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

复制Azure SQL数据库至另一服务器后无法查看表及登录问题求助

复制Azure SQL数据库到另一服务器的额外步骤

一、修复登录与数据库用户的映射问题

Azure SQL数据库复制只会同步数据库内的用户,服务器级登录名不会自动复制到目标服务器,这是导致无法登录或权限异常的核心原因:

  • 在目标Azure SQL服务器上,创建与源服务器同名的登录名(需使用原登录的密码):
    CREATE LOGIN [原登录名] WITH PASSWORD = '原登录密码';
    
  • 切换到复制后的数据库,将数据库用户与新创建的登录名关联:
    USE [复制后的数据库名];
    ALTER USER [原数据库用户名] WITH LOGIN = [原登录名];
    
  • 若不确定哪些用户是孤立状态(无对应服务器登录),可执行以下查询找出:
    USE [复制后的数据库名];
    SELECT name AS OrphanedUser, sid FROM sys.database_principals
    WHERE type_desc = 'SQL_USER' AND sid NOT IN (SELECT sid FROM sys.server_principals);
    

二、恢复业务数据表的访问权限

仅能查看系统表,是因为当前登录的数据库用户没有业务表的访问权限,可通过以下操作修复:

  • 授予用户读取所有业务表的权限:
    USE [复制后的数据库名];
    ALTER ROLE db_datareader ADD MEMBER [你的数据库用户名];
    
  • 若需要修改数据权限,可添加对应角色:
    ALTER ROLE db_datawriter ADD MEMBER [你的数据库用户名];
    
  • 特殊场景下(如需要完全管理权限),可授予数据库所有者角色(谨慎使用):
    ALTER ROLE db_owner ADD MEMBER [你的数据库用户名];
    

三、验证配置有效性

  • 使用关联后的登录名重新连接目标服务器与数据库,检查是否能正常查看业务数据表、执行预期操作。
  • 若仍无法登录,检查目标服务器的防火墙规则,确保你的IP地址在允许访问的列表内。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 06:07:02