Это старая тема, но я считаю, что ее стоит обсудить.Поэтому я хотел бы привести несколько идей, почему я считаю, что SSIS является плохим выбором в 99% случаев в качестве инструмента ETL.
В настоящее время единственное, что я могу думать о SSIS лучше, чем PowerShell, этоего производительность в обработке огромного количества данных с несколькими источниками / целями, в основном благодаря внутреннему параллелизму и возможностям кэширования служб SSIS.
Однако службы SSIS печально известны своими сообщениями об ошибках и почти не могут отлаживать пакеты SSIS.развертываются, также с точки зрения управления исходным кодом, пакеты SSIS, которые представляют собой файлы XML, трудно сравнивать между версиями, также они очень хрупкие, если исходные или целевые объекты имеют незначительные изменения (например, столбец на цели увеличивается на один символ).
В моей среде prod есть много пакетов SSIS, развернутых и запланированных с заданиями агента sql, поэтому в случае сбоя задания у меня нет возможности выяснить проблему, пока я не перешел в TFS, чтобы найтипроект SSIS и откройте его в Visual Studio, чтобы выяснить логику.Это кошмар.
С PowerShell код, который вы видите, - это исполняемый код, и вы всегда можете получить логику из кода PS и по пути устранить неполадки.
В наши дни, когда появилось много PS-модулей с открытым исходным кодом, мощность PowerShell растет в геометрической прогрессии, и сейчас самое время рассмотреть возможность использования PS в качестве альтернативного инструмента, а не SSIS.