В проекте SSDT в VS 2019 есть целевая платформа, которая указывает версию целевой базы данных для bacpa c при выполнении сборки:
Для локальной разработки это правильно, но при настройке непрерывной доставки мы хотим использовать Azure База данных, что является другим вариантом. Попытка опубликовать sh файл bacpa c, созданный для SQL Server 2017, приводит к ошибке A project which specifies SQL Server 2017 as the target platform cannot be published to Microsoft Azure SQL Database v12.
Это происходит потому, что, я думаю, в файле bacpa c model.xml
есть - это строка
<DataSchemaModel FileFormatVersion="1.2" SchemaVersion="2.9" DspName="Microsoft.Data.Tools.Schema.Sql.Sql140DatabaseSchemaProvider" CollationLcid="1033" CollationCaseSensitive="False" xmlns="http://schemas.microsoft.com/sqlserver/dac/Serialization/2012/02">
, где DspName
относится к SQL Server 2017.
Есть ли возможность передать msbuild
, который заставит его построить bacpa c для другой, Azure SQL База данных, цель?
Я пытался использовать профиль publi sh и указывать /p:SqlPublishProfilePath="Ci.publish.xml"
, если ci.publi sh. xml был создан из базы данных Azure, но это не влияет на создание бакпа c. Действительно, файл ci.publish.xml
содержит только имя базы данных и строку подключения, в любом случае ничего о версии.