4

我目前正在使用 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 那样使用发布配置文件。我正在与网络部署团队的成员联系,如果我能够弄清楚如何克服这些缺点,我会发布任何更新。

4

1 回答 1

2

在向 MSDeploy 团队的一些 Microsoft 员工发送电子邮件后......事实证明,目前这是不可能的,但可能会考虑在未来的版本中发布。

于 2013-12-02T16:37:01.930 回答