我可以从 dacpac 生成部署脚本吗

Can I generate a deployment script from a dacpac

我有一个 .dacpac 文件,它被 MSBuild 调用并发布到 QA 数据库进行测试。此发布失败,我从他们那里得到的错误是一条通用 "an error has occurred" 消息。我希望我可以从 dacpac 生成部署脚本并遍历它以查看问题发生的位置,并希望也能教他们如何执行此操作。

有没有什么方法可以将 dacpac 指向特定的数据库并让它生成 sql 用于更新数据库而不实际发布到数据库?

您可以使用 SqlPackage.exe。在您计算机上的名称类似于以下的目录中查找它:

C:\Program Files (x86)\Microsoft SQL Server0\DAC\bin

请注意,它可能位于 110120130 文件夹中。

如果您还没有 SqlPackage.exe,可以从这里下载:https://www.microsoft.com/en-us/download/details.aspx?id=53013

如果您下载它,一定要查看下载页面的系统要求部分,找到依赖项 SqlSysClrTypes.msiSqlDom.msi,这也必须安装。

用法示例:

SqlPackage.exe /a:script /SourceFile:C:\temp\mydb.dacpac /TargetConnectionString:"Data Source=myserver;Initial Catalog=mydb;Integrated Security=true" /OutputPath:C:\temp