С выпуском в 2016 году инструментария SSDT / Visual Studio для проектов BI у нас есть возможность указать, какую версию пакетов служб SQL Server Integration Services должен создавать проект.По умолчанию задана последняя доступная версия SQL Server.
При развертывании на SSISDB никакие проверки не выполняются, чтобы проверить, что большой двоичный объект (ispac), который мы вставляем в базу данных, соответствует тому, что база данных может «говорить».Итак, вы создали проект с использованием версии 2019 инструментов обработки данных, которая предполагает, что вы развертываете на экземпляр сервера SQL Server 2019, но на самом деле развертываете до 2012 года, и веселье наступает, потому что API для развертывания тот же.
Как я могу сказать?
Откройте ваш проект служб SSIS, и если он выглядит так, он нацелен на то, что VS считает текущим.Это Visual Studio 2017, и мы думаем, что SQL Server 2017 - это то, на что мы нацелены.
Щелкните правой кнопкой мыши по проекту (в моем примере - SO_Trash)) и выберите Свойства
В этом окне разверните Свойства конфигурации, выберите раздел Общие, а там в Целевой версии развертывания измените значение TargetServerVersion с SQL Server 2017 на SQL Server 2016
После нажатия OK и подтверждения Visual Studio, что вы хотите перезагрузить свой проект, вы должны увидеть что-то вроде этого.
Имя моего проекта теперь указывает на целевую версию в скобках, таким образом SO_Trash (SQL Server 2016).
Со всеми вашимибиты проекта, соответствующие ожиданиям сервера, разверните и попробуйте запустить пакет (или нажмите кнопку «Проверить» в SSMS, но никто этого не делает)