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

Azure SQL DB备份因连接字符串User ID含@符号失败 寻求解决方案

Azure SQL 备份连接字符串@符号截断问题解决方案

问题根因

你遇到的报错本质是所用工具解析连接字符串时,错误将用户ID中@后的域名识别为Azure SQL服务器地址,导致登录请求发往不存在的服务器,最终触发报错:

Cannot open server "{domainName}" requested by the login. The login failed. (Microsoft SQL Server, Error: 40532)
你之前尝试的转义@、加单引号的方案对内置了参数截断逻辑的老旧工具无效,无需再尝试。


方案1:创建不带@符号的SQL身份验证登录名(最稳妥)

这是完全匹配你需求的解决方案,SQL身份验证的登录名可自定义为纯字符格式,无任何@后缀:

  • 使用已有管理员权限的账号(如Azure AD服务器管理员)登录Azure SQL服务器的master数据库
  • 执行命令创建服务器级登录名:
    CREATE LOGIN [自定义简单用户名] WITH PASSWORD = '符合Azure SQL复杂度要求的强密码';
  • 切换到需要备份的目标业务数据库,执行命令创建对应用户并赋权:
CREATE USER [自定义简单用户名] FOR LOGIN [自定义简单用户名];
ALTER ROLE db_backupoperator ADD MEMBER [自定义简单用户名];
  • 备份工具中直接填写上述自定义的简单用户名+密码,选择SQL身份验证即可,不会再出现@截断问题。

方案2:必须保留Azure AD账号时的替代方案

如果你无法切换为SQL身份验证,可通过以下方式避开工具的参数截断逻辑:

  • 使用集成AD认证:SSMS连接时选择「Azure Active Directory - 集成」选项,SQLBackupAndFTP连接设置中选择Azure AD集成认证,只要你当前操作的本地设备已用目标AD账号登录,无需手动填写用户名密码,自然不会触发截断问题。
  • 预配置ODBC数据源:在Windows系统的ODBC数据源管理器中预先配置好指向Azure SQL的ODBC连接,完整填写带@的AD用户名和密码测试连通后,备份工具直接选择已配置的ODBC数据源即可,不需要在工具中单独输入用户ID参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 11:57:03