Published on

August 12, 2017

Понимание чувствительности версии SQL Server в SSIS

При работе с SQL Server Integration Services (SSIS) одним из самых раздражающих аспектов является чувствительность к версии. Она может вызывать много путаницы и проблем, особенно в крупных компаниях с несколькими версиями SQL и несколькими командами, создающими SSIS-пакеты для разных версий.

Допустим, вы создаете пакет в SQL Server Data Tools (SSDT) 2012. Позже вы открываете этот же пакет с помощью SSDT 16, не осознавая этого. SSDT автоматически обновляет ваш пакет до версии 8, которая совместима с SQL Server 2014 и 2016. Вы запускаете пакет, и SSDT автоматически сохраняет его. Однако теперь вы не можете открыть этот же пакет в SSDT 2012, и у вас также могут возникнуть проблемы при его запуске на исходном экземпляре SQL Server 2012.

Чтобы избежать этой путаницы, полезно вести таблицу, в которой отслеживаются разные версии пакетов. Однако есть хорошие новости. Одним из значительных изменений в SSDT является возможность изменения версий SSIS без необходимости создавать пакет в языке разметки бизнес-интеллекта (BIML) и создавать его в правильной версии.

Давайте пройдем процесс изменения версии SSIS в SSDT:

  1. Установите последнюю версию SSDT.
  2. Создайте проект в SSDT.
  3. Щелкните правой кнопкой мыши на проекте и выберите “Свойства”.
  4. В разделе “Свойства конфигурации” -> “Целевая версия сервера” вы увидите выпадающее меню, которое позволяет установить версию на SQL Server 2012 или любую другую версию до SQL Server vNext.
  5. Выберите желаемую версию, в данном случае SQL Server 2012.
  6. Постройте проект.

После построения проекта, если вы изучите файл dtsx, вы заметите, что packageformatversion теперь равен 6. Это изменение указывает на то, что пакет совместим с выбранной версией SQL Server.

Важно отметить, что если вы используете файл ispac и передаете его кому-то, использующему более низкую версию SSDT, но более высокую, чем версия, которую вы экспортировали, мастер развертывания автоматически обновит пакет при его развертывании. Это может привести к неожиданным сюрпризам, поэтому важно сообщать о совместимости версий, чтобы избежать проблем.

После установки желаемой версии и построения проекта вы можете развернуть и запустить пакет на соответствующем экземпляре SQL Server. Просто измените свойства менеджера подключений, чтобы указать правильный экземпляр и базу данных.

Понимая и используя функцию чувствительности к версии в SSDT, вы можете создавать SSIS-пакеты, совместимые с разными версиями SQL Server, что позволяет без проблем развертывать и выполнять их в различных средах.

Не забывайте, что всегда можно подтвердить версию формата пакета, выполнив запрос к таблице SSISDB.internal.packages.

Счастливого кодирования!

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.