Введение

Программное обеспечение для миграции баз данных

Microsoft SQL Server Integration Services (SSIS) — это компонент программного обеспечения для баз данных Microsoft SQL Server, который можно использовать для выполнения широкого спектра задач по миграции данных. SSIS представляет собой платформу для интеграции данных и приложений рабочих процессов. Он включает в себя инструмент для создания хранилищ данных, используемый для извлечения, преобразования и загрузки данных (ETL). Этот инструмент также может применяться для автоматизации обслуживания баз данных SQL Server и обновления данных многомерных кубов. Впервые выпущенный вместе с Microsoft SQL Server 2005, SSIS заменил Data Transformation Services, который был функцией SQL Server, начиная с версии 7.0. В отличие от DTS, который входил во все версии, SSIS доступен только в редакциях "Standard", "Business Intelligence" и "Enterprise". Благодаря Microsoft "Visual Studio Dev Essentials" теперь можно бесплатно использовать SSIS с Visual Studio 2017, если это делается исключительно в целях разработки и обучения.

Особенности

Мастер импорта/экспорта SSIS позволяет пользователю создавать пакеты, которые перемещают данные из одного источника данных в пункт назначения без каких-либо преобразований. Мастер может быстро перемещать данные из различных типов источников в различные типы пунктов назначения, включая текстовые файлы и другие экземпляры SQL Server. Разработчики, ответственные за создание или поддержку пакетов SSIS, используют инструмент визуальной разработки на основе Microsoft Visual Studio, называемый SQL Server Business Intelligence Development Studio (BIDS). Он позволяет пользователям редактировать пакеты SSIS с помощью пользовательского интерфейса перетаскивания. В инструменте также доступна среда для написания сценариев. Пакет содержит различные элементы, определяющие рабочий процесс. При выполнении пакета инструмент обеспечивает мониторинг в режиме реального времени с цветовой кодировкой. (Примечание: В более поздних версиях MS SQL Server BIDS был заменен на "SQL Server Data Tools Business Intelligence" (SSDT BI).) Подключения Подключение содержит информацию, необходимую для подключения к определенному источнику данных. Задачи могут ссылаться на подключение по его имени, что позволяет изменять или настраивать детали подключения во время выполнения. Обработчики событий Рабочий процесс может быть разработан для обработки различных событий в различных областях, где они могут возникать. Таким образом, задачи могут выполняться в ответ на события внутри пакета, например, для очистки после ошибок. Параметры (SQL Server 2012 Integration Services) Параметры позволяют присваивать значения свойствам внутри пакетов во время выполнения пакета. Существуют параметры проекта и параметры пакета. Как правило, если вы развертываете пакет с использованием модели развертывания пакета, следует использовать конфигурации вместо параметров. Ограничения последовательности Задачи связаны ограничениями последовательности. Ограничение последовательности, предшествующее определенной задаче, должно быть выполнено перед выполнением этой задачи. Среда выполнения поддерживает параллельное выполнение задач, если это допускают их ограничения последовательности. В противном случае ограничения могут допускать различные пути выполнения в зависимости от успешного или неуспешного выполнения других задач. Вместе с задачами ограничения последовательности составляют рабочий процесс пакета. Задачи Задача — это атомарная единица работы, выполняющая определенное действие. В поставке входит несколько десятков задач, от задачи файловой системы (которая может копировать или перемещать файлы) до задачи преобразования данных. Задача преобразования данных фактически копирует данные; она реализует функции ETL продукта. Переменные Задачи могут ссылаться на переменные для хранения результатов, принятия решений или изменения их конфигурации. Пакет можно сохранить в файл или в хранилище с иерархическим пространством имен в экземпляре SQL Server. В любом случае содержимое пакета сохраняется в формате XML. После завершения конструктор также позволяет пользователю начать выполнение пакета. После запуска пакет можно легко отладить или контролировать его выполнение.

Другие включенные инструменты

Помимо мастера импорта/экспорта и конструктора, продукт включает несколько других полезных инструментов. DTEXEC выполняет пакет из командной строки, независимо от места его хранения. Перед запуском пакета инструменту можно указать применить конфигурационную информацию, что позволит повторно использовать один и тот же пакет с незначительными изменениями параметров, включая различные строки подключения для его конечных точек. DTUTIL предоставляет возможность управления пакетами из командной строки. Инструмент может копировать или перемещать пакет из файла в хранилище сервера и обратно. Помимо прочих вспомогательных функций, он может использоваться для удаления, переименования, шифрования или дешифрования пакетов. Программа массовой копии (Bulk Copy Program, BCP) – это инструмент командной строки, предназначенный для импорта или экспорта данных в базы данных Microsoft SQL Server или Sybase.

Расширяемость и программируемость

Пользователи могут писать код для определения собственных объектов подключения, поставщиков журналов, преобразований и задач. SSIS предоставляет программируемую объектную модель, позволяющую разработчикам создавать собственные хосты для выполнения пакетов. Такой хост может реагировать на события, запускать и останавливать пакеты и т. д. Объектная модель также позволяет разработчикам создавать, хранить и загружать пакеты, а также создавать, удалять и изменять любые содержащиеся в них объекты. В определенных пределах пакеты SSIS могут загружать и вызывать DLL-сборки CLI, обеспечивая доступ практически к любым операциям, разрешенным средой CLR .NET. SSIS может использоваться во всех редакциях SQL Server 2005, 2008, 2008 R2, 2012, 2014 и 2016, за исключением Express и Workgroup.