我目前正在使用msdeploy的dbDacFx提供程序将.dacpac部署到数据库. dacpac需要三个SQLCMD变量.我使用的语法如下所示:
-setParam:kind = SqlCommandVariable,scope = Database.dacpac,match = foo1,value =“foo1 value”
我一直在尝试我能找到的所有东西但不幸的是,这个过程旁边没有任何文档.我从msdeploy获得的输出表示缺少以下SqlCmd变量的值:foo1 foo2 foo3.
如果有人能够发现我做错了什么就会很棒.如果有人知道在哪里获得一些非常棒的文档.我很乐意接受任何说明我应该做什么的答案,但我很想知道所有这些价值观是什么以及为什么我做错了.
编辑:
此时,似乎dbDacFx不存在这样的选项.我们用于此功能的用例是尝试将相同的模板数据库(在visual studio sql项目中管理)部署到70个数据库,我们希望这些数据库并行执行. dbSqlPackage(除了被弃用)不是线程安全的,不允许并行部署. dbDacFx克服了这个缺点,但它不能(在我的实验中)传递驻留在项目级别的SqlCmdVariables,并且它不能使用像dbSqlPackage这样的发布配置文件.我正在与网络部署团队的成员联系,如果我能够弄清楚如何克服任何这些缺点,我将发布任何更新.
最佳答案 在向MSDeploy团队发送电子邮件给某些Microsoft员工之后……事实证明这是不可能的,但可能会考虑将来的版本.