我有一个.dacpac文件被MSBuild调用并发布到QA数据库进行测试。这个发布失败了,我从它们回来的错误是一个通用的"发生了错误"信息。我希望我可以从dacpac生成部署脚本并遍历它以查看问题发生的位置,并希望教他们如何执行此操作。
有没有办法将dacpac指向特定的数据库并让它生成用于更新数据库的sql而不实际发布到数据库?
答案 0 :(得分:5)
您可以使用SqlPackage.exe。在您的计算机上查找名称与此类似的目录:
C:\ Program Files(x86)\ Microsoft SQL Server \ 130 \ DAC \ bin
请注意,它可以在110,120或130文件夹中找到。
如果您还没有SqlPackage.exe,可以从此处下载:https://www.microsoft.com/en-us/download/details.aspx?id=51941
如果您下载它,请务必查看下载页面的“系统要求”部分,以查找必须同时安装的依赖项SqlSysClrTypes.msi和SqlDom.msi。
使用示例:
SqlPackage.exe / a:script /SourceFile:C:\temp\mydb.dacpac / TargetConnectionString:“Data Source = myserver; Initial Catalog = mydb; Integrated Security = true”/ OutputPath:C:\ temp