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

使用sqlpackage导出Azure SQL的dacpac时遇Windows登录不支持错误如何解决

报错原因

当前sqlpackage命令未显式指定身份验证方式,默认调用Windows集成身份验证,而Azure SQL Database不支持传统SQL Server的Windows登录模式,因此触发报错。你可以通过SSMS正常连接,是因为SSMS连接时已经选择了SQL身份验证、Azure AD身份验证等兼容Azure SQL的认证模式。

解决方案

选择和你SSMS连接时一致的认证方式,在原有命令中补充对应参数即可:

方案1:SQL身份验证(适配SSMS选择「SQL Server身份验证」的场景)

补充SQL登录的用户名、密码参数,修改后命令如下:

sqlpackage.exe /action:Extract  /TargetFile:"C:\file.dacpac" /sourceDatabasename:dbsorgente  /sourceservername:dummy.database.windows.net  /p:ExtractAllTableData=True /sourceuser:<替换为你的SQL登录用户名> /sourcepassword:<替换为你的SQL登录密码>

如果用户名或密码包含特殊字符,需要用英文双引号包裹取值。

方案2:Azure AD身份验证(适配SSMS选择Azure AD相关认证的场景)

根据你使用的Azure AD认证类型补充对应参数:

  • 通用MFA认证:添加参数/ua:true,同时指定Azure AD用户名 /sourceuser:<替换为你的Azure AD账户邮箱>
  • Azure AD密码认证:添加参数 /sourceuser:<替换为你的Azure AD账户邮箱> /sourcepassword:<替换为你的Azure AD账户密码>

通用MFA认证示例命令:

sqlpackage.exe /action:Extract  /TargetFile:"C:\file.dacpac" /sourceDatabasename:dbsorgente  /sourceservername:dummy.database.windows.net  /p:ExtractAllTableData=True /ua:true /sourceuser:xxx@xxx.onmicrosoft.com

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 15:57:01