現在、msdeploy の dbDacFx プロバイダーを使用して、.dacpac をデータベースにデプロイしています。dacpac は 3 つの 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 のように公開プロファイルを使用することはできません。私は Web デプロイ チームのメンバーと連絡を取り合っており、これらの欠点を克服する方法を見つけることができれば、最新情報を投稿します。