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

SQL Server目标平台dacpac无法发布至Microsoft Azure SQL v12

解决Azure SQL DB部署Dacpac时的目标平台不兼容错误

核心问题分析

你遇到的错误本质是项目的目标平台配置与Azure SQL Database不匹配,即便手动切换了SQL Server 2012/2016/2019等版本仍报错,是因为配置未真正生效,或发布流程中存在误操作。

分步解决方案

  1. 修正项目目标平台配置

    • 右键数据库项目 → 属性 → 目标平台,直接选择Microsoft Azure SQL Database(不要选本地SQL Server的版本),Azure SQL有独立的目标平台选项,和本地版本不直接对应。
    • 保存配置后,重新生成整个项目,再生成快照——快照依赖项目当前配置,旧配置未更新的话,快照仍会沿用SQL Server 2014的设置。
  2. 清理并重新生成快照

    • 删除项目Snapshots文件夹下所有旧的.dacpac文件,避免发布时误加载旧文件。
    • 重新右键项目生成新的快照,确保新文件是基于更新后的目标平台生成的。
  3. 修正发布目标连接

    • 发布数据层应用时,必须选择已连接的Azure SQL Server实例,而非本地的(localdb)\ProjectsV13——你当前的发布连接字符串指向的是LocalDB(VS自带的本地开发数据库),这是关键错误。
    • 关于ProjectsV13:这只是Visual Studio用于本地开发的轻量级LocalDB实例,和Azure SQL的版本标识无关,完全不能用于Azure SQL的发布操作。
  4. 验证Dacpac的目标版本(可选)
    用SqlPackage.exe工具检查Dacpac的目标平台:

    SqlPackage.exe /Action:Extract /SourceFile:你的快照文件名.dacpac /TargetFile:output.xml
    

    打开生成的output.xml,查找TargetPlatformVersion节点,确认值为Azure SQL对应的版本(而非SQL Server 2014)。

为什么之前成功现在失败?

大概率是某次项目配置变更后未正确保存生效,或生成快照时仍使用了旧配置;也可能是发布时误选了LocalDB作为目标,而非Azure SQL实例。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 14:37:50