使用msdeploy将SQLCMD变量传递给dbDacFx提供程序

时间:2013-11-21 21:15:12

标签: sql-server msdeploy sql-data-tools

我目前正在使用msdeploy的dbDacFx提供程序将.dacpac部署到数据库。 dacpac需要三个SQLCMD变量。我使用的语法如下所示:

-setParam:kind=SqlCommandVariable,scope=Database.dacpac,match=foo1,value="foo1 value"

我一直在尝试我能找到的所有内容,但不幸的是,这个过程旁边没有任何文档。我从msdeploy获得的输出是Missing values for the following SqlCmd variables: foo1 foo2 foo3

如果有人能够发现我做错了什么就会很棒。如果有人知道在哪里获得一些非常棒的文档。我很乐意接受任何说明我应该做的答案,但我很想知道所有这些价值观是什么以及为什么我做错了。

编辑: 此时,似乎dbDacFx不存在这样的选项。我们对此功能的使用案例是尝试将相同的模板数据库(在visual studio sql项目中管理)部署到70多个数据库,我们希望这些数据库并行执行。 dbSqlPackage(除了被弃用)不是线程安全的,不允许并行部署。 dbDacFx克服了这个缺点,但它不能(在我的实验中)传递驻留在项目级别的SqlCmdVariables,并且它不能使用像dbSqlPackage这样的发布配置文件。我正在与网络部署团队的成员联系,如果我能够弄清楚如何克服任何这些缺点,我将发布任何更新。

1 个答案:

答案 0 :(得分:2)

从MSDeploy团队发送电子邮件给某些Microsoft员工后......事实证明目前无法做到这一点,但可能会考虑将来发布。