Опубликуйте DACPAC в SQL Server 2014 с помощью SqlPackage.exe?

Я успешно публикую dacpacs в экземплярах SQL Server 2008-2012 с помощью SqlPackage.exe, как установлено SQL Server Data Tools (и обычно находится в C:Program Files (x86)Microsoft SQL Server0DACbin). Однако при попытке опубликовать целевой DACPAC 2014 в экземпляре SQL Server 2014 с помощью этого же пакета SqlPackage.exe, я получаю следующее:

*** Could not deploy package.
Internal Error. The database platform service with type Microsoft.Data.Tools.
Schema.Sql.Sql120DatabaseSchemaProvider is not valid. You must make sure the
service is loaded, or you must provide the full type name of a valid database
platform service.

Я нашел минимальную информацию об этом; ближайший, который я нашел, был

3 ответов


да, доступна новая версия, поддерживающая SQL Server 2005-2016, и она устанавливается в другое место, чем предыдущая версия (SQL Server 2012 и ниже). Фактически, у вас будут разные места установки в зависимости от того, используете ли вы SSDT или устанавливаете его как часть SSMS или автономного установщика.

  • SSDT устанавливает библиотеки DLL Dac внутри Visual Studio в последних выпусках. Это необходимо, чтобы избежать параллельных проблем (Visual Studio 2012 vs 2013 vs SSMS), которые требовали обновления для использования последнего кода.

    • Если у вас обновлено до последней SSDT, вы найдете SqlPackage.exe и связанные DLL в VS каталог установки\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\130. Для VS2013 каталог установки VS -C:\Program файлы (x86)\Microsoft Visual Studio 12.0, и это 14.0 для VS2015.
  • SQL Server Management Studio (SSMS) и автономной DAC Framework MSI оба установить в общесистемном месте. Это C:\Program файлы (x86)\Microsoft SQL Server\130\Dac\bin.


теперь есть официальный Microsoft.Данные.Инструменты.В MSBuild пакет NuGet, содержащий SqlPackage.exe и блоге детали:

этот пакет NuGet содержит все необходимые компоненты для создания и публикации проектов SQL (.sqlproj). Это поддерживает непрерывную интеграцию и сценарии непрерывного развертывания-проекты SQL могут быть построены на локальном агенте сборки без установки полного Visual Studio или SQL Server Data Tools (SSDT) и продукты.


SSDT устанавливает библиотеки DLL Dac внутри Visual Studio в последних выпусках. Это делается для того, чтобы избежать параллельных проблем (Visual Studio 2012 vs 2013 vs SSMS), которые требовали обновления для использования последнего кода. Если вы обновили SSDT до последней версии, вы найдете SqlPackage.exe и связанные библиотеки DLL в каталоге VS Install\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\130. Для VS2013 каталог установки VS C:\Program файлы (x86)\Microsoft Visual Studio 12.0, и это 14.0 для VS2015. язык SQL Среда Server Management Studio (SSMS) и автономный MSI-сервер DAC Framework устанавливаются в общесистемном расположении. Это C:\Program файлы (x86)\Microsoft SQL Server\130\Dac\bin.

**Анс г-н Кевин Cunnane. это правильный процесс, но если база данных в sql2016 использует 140\dac**