Открыть сервис

Data Transformation Services

Data Transformation Services (DTS; с англ. — «Службы преобразования данных») — это набор программных компонентов и утилит, входивших в состав ранних версий Microsoft SQL Server (начиная с версии 7.0), предназначенный для выполнения операций извлечения, преобразования и загрузки данных (ETL — Extract, Transform, Load). DTS позволял автоматизировать процессы перемещения данных между различными источниками, их очистку, агрегирование и загрузку в целевую базу данных, а также выполнять пересылку объектов баз данных между экземплярами SQL Server.

История и развитие

Изначально DTS был представлен в 1998 году (Microsoft SQL Server 7.0) как технология, заменившая более примитивные средства передачи данных в SQL Server 6.5, такие как Bulk Copy Program (BCP). Основной задачей DTS было упростить интеграцию данных из гетерогенных источников (например, текстовых файлов, Excel, Access, Oracle, DB2 и других баз данных) в среду SQL Server.

В SQL Server 2000 DTS был значительно расширен: появились новые типы задач (Task) и преобразований (Transformations), улучшен планировщик, добавлена поддержка ActiveX-скриптов для сложной бизнес-логики, а также возможность выполнения DTS-пакетов из внешних приложений через COM-интерфейс.

С выпуском SQL Server 2005 корпорация Microsoft заменила DTS на новую, более мощную и гибкую платформу — SQL Server Integration Services (SSIS). SSIS стал частью SQL Server Business Intelligence (BI) и был построен на принципиально новой архитектуре, использующей .NET Framework, что позволило значительно повысить производительность, масштабируемость и возможности расширения. DTS оставался в SQL Server 2005 как устаревший компонент (DTS 2000 runtime) для обратной совместимости, но окончательно был удалён, начиная с SQL Server 2008.

Несмотря на то, что DTS был заменён SSIS, многие компании до сих пор поддерживают унаследованные DTS-пакеты, работающие на старых версиях SQL Server.

Архитектура и основные компоненты

Архитектура DTS представляла собой гибридную систему, где центральным элементом был пакет DTS (DTS Package) — единица развёртывания и выполнения ETL-процессов. Пакет состоял из набора задач (Tasks), соединённых между собой связями (Precedence Constraints), которые управляли потоком выполнения.

Пакет DTS (DTS Package)

Компоненты DTS

Классификация задач DTS

Задачи DTS делились на три основные категории:

  1. Задачи по работе с данными:
  1. Задачи по администрированию и обслуживанию:
  1. Задачи для управления потоком:

Применение DTS

Основное применение DTS — организация ETL-процессов для:

В отличие от более позднего SSIS, DTS не поддерживал полноценные пакеты с единой средой отладки, детализированное логирование ошибок или параллельное выполнение нескольких потоков данных в одном пакете. Однако для массовых типовых задач DTS был прост в освоении и требовал минимального кодирования.

Критика DTS

Несмотря на распространённость, DTS имел ряд существенных недостатков:

Наследие и влияние

Хотя DTS устарел технологически, он заложил основу для современных инструментов интеграции данных в экосистеме Microsoft. Многие концепции ETL, впервые реализованные в DTS (задачи, преобразования, конвейеры, пакеты), были перенесены в SSIS и затем развиты. DTS также способствовал популяризации ETL-процессов среди администраторов баз данных, не имеющих навыков программирования, благодаря простому графическому интерфейсу.

В настоящее время (на 2025 год) DTS не поддерживается ни в одной актуальной версии SQL Server (от 2008 и выше). Для работы с унаследованными пакетами DTS требуется использование SQL Server 2000 или 2005, либо сторонних утилит для конвертации пакетов DTS в формат SSIS (например, DTS-to-SSIS Converter). Корпорация Microsoft рекомендует мигрировать все устаревшие DTS-пакеты на SSIS как наиболее современную и поддерживаемую платформу.

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →