Скрытые расходы при нерегулярном использовании SSIS

Служба интеграции SQL Server — инструмент мощный, и его эксплуатация — дело непростое. Поэтому тем, кто не работает со службой постоянно, изо дня в день, приходится сталкиваться с потенциальными проблемами, скрытыми ловушками и дополнительными расходами, с которыми приходится иметь дело всякий раз, когда SSIS используется для решения какого-либо конкретного вопроса. И поскольку каждая из этих проблем сама по себе, пожалуй, «потянет» на отдельную статью, в целях экономии времени я свел наиболее актуальные из них в отдельный список.
SSIS — продукт капризный; такова задумка разработчиков. И это практически не воспринимается как проблема. С особенностями службы пользователь сталкивается сразу же. И это закономерно: решение, обеспечивающее преобразование данных в памяти, не может предполагать «либерального» отношения к типам данных или позволить пользователям строить догадки относительно того, сколько разрядов можно отбросить или какой порядок числовой точности является допустимым. Это означает, что создание пакетов SSIS может вызывать определенные трудности.
В ходе преобразований пользователь не может допускать ни малейших ошибок, иначе его пакеты просто рассыплются в прах. Но бывают ситуации, когда здесь возникает проблема. Я имею в виду случаи, когда нерегулярные пользователи SSIS создают пакеты, запускают их на выполнение в течение нескольких месяцев или лет, а потом им приходится возвращаться и вносить в пакеты изменения — возможно, для того, чтобы адаптировать их под более новую версию SQL Server, а может быть, чтобы учесть изменения в схеме либо в потоке работ. В подобных ситуациях работа со службой может доставить много хлопот: вам будет казаться, что быстрее и проще с нуля переделать значительные разделы пакета, чем пытаться заставить его компоненты взаимодействовать с измененной базовой схемой. Проблема, однако, в том, что все это требует больших затрат времени и приводит к увеличению стоимости владения.
Условия и варианты лицензирования могут приводить в замешательство. Да и вообще все положения, касающиеся лицензирования SQL Server, не отличаются особой доходчивостью. Однако, когда речь заходит о SSIS, важно понимать, что эта служба является компонентом или функцией SQL Server. Иными словами, SSIS — это модуль уровня сервера, и, коль скоро вы можете создавать специализированные (или выделенные) экземпляры SQL Server, которые будут в первую очередь выступать в качестве «серверов» SSIS, выполняющих ваши пакеты, для функционирования этих серверов потребуются полновесные лицензии SQL Server. Это не бог весть какая ловушка, если вы, конечно, не думаете, что можете просто так взять и перенести задания SSIS на другой сервер. Поступить таким образом вам ничто не помешает, нужно только, чтобы сервер имел все необходимые лицензии.