Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

2006 г.

Новые возможности SQL Server 2005 Integration Services

Mark Chaffin, Brian Knight, Microsoft
Апрель 2005


Резюме:
Данная статья представляет собой практическое руководство для изучения новых особенностей платформы SQL Server Integration Services (SSIS).

Авторские права
Этот документ является предварительным и может быть существенным образом переработан до финального коммерческого релиза программного продукта

Информация, содержащаяся в этом документе, представляет текущую точку зрения корпорации Microsoft на обсуждаемые вопросы на момент публикации. Поскольку Microsoft должна реагировать на изменяющиеся условия на рынке, документ не следует рассматривать как обязательство со стороны Microsoft; корпорация Microsoft не может гарантировать, что вся представленная информация сохранит точность после даты публикации.

Настоящий документ предназначен только для информационных целей. MICROSOFT НЕ ДАЕТ В ЭТОМ ДОКУМЕНТЕ НИКАКИХ ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ ГАРАНТИЙ.

Если не оговорено противное, используемые в этом документе названия компаний и продуктов, имена людей, действующие лица и/или данные являются вымышленными, и их ни в коей мере не следует связывать с какими-либо реальными людьми, компаниями, продуктами или событиями. copy 2005 Microsoft Corporation. Все права защищены.

Microsoft, IntelliSense, Visual Basic, Visual Studio и Windows Server являются товарными знаками или охраняемыми товарными знаками корпорации Майкрософт в США и/или в других странах.

Другие упоминаемые здесь названия продуктов или компаний могут представлять собой торговые марки соответствующих владельцев.

Содержание

Введение

Microsoft® SQL Server™ Integration Services (SSIS) представляет собой полностью перепроектированный и переделанный Data Transformation Services (DTS) из SQL Server 2000. В результате такой "перестройки" многие парадигмы архитектуры и администрирования были пересмотрены. Сейчас SSIS не является уже отдельным средством проектирования. Принимая Microsoft Visual Studio® в качестве средства разработки, SSIS в тоже время продолжает использовать возможности стандартных средств управления SQL Server 2005. Новая среда разработки получила название Business Intelligence (BI) Development Studio, а новая среда администрирования - SQL Server Management Studio. Такое разделение позволяет разработчикам и администраторам баз данных (DBA) сосредоточиться на решении специфических задач из своей области.

Оба типа средств имеют возможность выполнять пакеты, но если в BI Development Studio это можно делать только в консоли разработчика, то в Management Studio можно выполнять импортированные на сервер пакеты. Решения на основе BI Development Studio могут состоять из одного или нескольких проектов, проекты в свою очередь могут состоять из нескольких источников данных, представлений источников данных, SSIS пакетов и прочих файлов. Например, новый проект может включать и разрабатываемый SSIS пакет и вызовы других пакетов. А также другие файлы поддержки, например файлы с командами создания объектов (data definition language - DDL) или командами манипуляции данными (data manipulation language - DML) для той СУБД, с которой Вы работаете. Когда придет время сдачи проекта в эксплуатацию, все необходимые для этого файлы будут собраны вместе.

BI Development Studio не нуждается в непосредственном соединении с СУБД SQL Server ни при разработке пакетов, ни при сохранении внесенных в проект изменений. BI Development Studio сохраняет проекты в каталогах, как это делает и Visual Studio. В BI Development Studio также имеется интеграция с Visual SourceSafe (и другими программами контроля версий). И все сделанные в проектах изменения можно сразу отобразить в VSS.

Management Studio в отличии от BI Development Studio предназначена в первую очередь для администраторов баз данных (DBA) и позволяет управлять SQL, Analysis Services и Reporting Services серверами. В ней имеется поддержка для запуска SSIS пакетов как непосредственно, так и по расписанию, но не предусмотрена возможность создания или редактирования пакетов. Однако у пользователя все равно есть возможность использовать SSIS для задач импорта/экспорта данных и обслуживания.

Мастера SSIS

Мастер Импорта/Экспорта (Import/Export Wizard) из SQL Server 2000, который использовался администраторами и разработчиками для автоматизации задач по периодическому перемещению или копированию данных, претерпел изменения.

Мастер Импорта/Экспорта Самым простым и востребованным из мастеров в DTS 2000 без сомнения был мастер Импорта/Экспорта. Он позволял администраторам, разработчикам и простым неопытным пользователям очень быстро, без написания программ и больших проблем переместить данные источника одного типа в приемник другого типа. Мастер также представлял собой некую стартовую точку для изучения вопроса о создании и проектировании DTS пакетов. Мастер Импорта/Экспорта из SQL Server 2005 в дополнение к тем же свойствам приобрел следующие усовершенствования:

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

На Рисунке 1 показан первый диалог мастера, а следующие далее рисунки отображают диалоги следующих шагов мастера.

Рисунок 1

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

Одним из наиболее приятных усовершенствований является возможность создания базы-приемника непосредственно в мастере. Если в DTS 2000 пользователь должен был прервать процесс импорта/экспорта, вернуться в Enterprise Manager и создать базу, то теперь администратор может создать и сконфигурировать новую базу прямо в диалоге. Как показано на Рисунке 2.

Рисунок 2

Отображаемый после создания, сохранения или выполнения пакета диалог состояния претерпел существенные изменения по сравнению с DTS 2000. На Рисунке 3 показан диалог с информацией о ходе выполнения.

Рисунок 3

После того, как пакет был сохранен в SQL Server или в файл, его можно открыть. На Рисунке 4 изображена часть потока управления пакета.

Рисунок 4

В отличии от пакета, созданного Мастером Импорта/Экспорта из DTS 2000, все команды по созданию таблиц (CREATE TABLE DDL) помещаются в первую задачу ExecuteSQL, которая получает имя Preparation SQL. Передача же данных в действительности происходит в задаче Pipeline после создания таблиц.

После открытия задачи Data Flow становятся видимыми компоненты потока данных. На Рисунке 5 мы видим, что при выборе экспорта трех таблиц мы получили соответственно три источника и три приемника данных (по паре для каждой таблицы).

Рисунок 5

Как и в SQL Server 2000 Мастер Импорта/Экспорта является хорошими пособием для начального изучения всего того нового, что на самом делается внутри SSIS.

Business Intelligence Development Studio

В Business Intelligence Development Studio SSIS пакеты создаются в рамках Integration Services проекта в виде Решения (Solution). Решение представляет собой контейнер, который позволяет одновременно работать с несколькими проектами Visual Studio, используя один набор средств для создания корпоративных, тесно интегрированных BI решений, включая SSIS решения.

Visual Studio 2005

BI Development Studio была создана по основе Visual Studio 2005, чтобы помочь Вам при проектировании, создании, тестировании, развертывании и расширении SSIS пакетов в интегрированной среде разработки. BI Development Studio также поддерживает использование .NET Framework с другими средствами разработки фирмы Microsoft (Microsoft Visual Basic ®. NET, C#, C++, J#). Интеграции с Visual Studio 2005 позволяет поставлять BI Development Studio с таким интегрированными средствами разработки как мощный отладчик, интегрированный контроль версий для многопользовательской среды разработки и интегрированная встроенная помощь. BI Development Studio предназначена для разработчиков, чтобы они могли использовать единые средства разработки, модель программирования и навыки, как для создания пакетов, так и специальных задач, которые они уже разработали ранее при создании приложений.

Одним из преимуществ такого проектно-ориентированного режима работы является то, что он не требует соединения с работающим SQL Server для собственно процесса разработки. Вторым преимуществом является наличие автоматического и интегрированного доступа к средству контроля версий для всех файлов, включенных в Решение или Проект.

При первом запуске BI Development Studio и создании нового проекта Integration Services можно увидеть лишь упрощенный вид данной среды. Не видно никаких задач, объектов или пакетов, потому что только что было создано пустое решение. Можно заметить лишь несколько открытых окон - Toolbox, Solution Explorer, Properties, и возможно такие окна как Output и Search Results. Все эти окна можно открепить от их текущего местоположение, прикрепить к другому местоположению, переместить, закрыть или установить им режим автоматического сокрытия для увеличения незанятой части экрана и повышения производительности. Даже если какое-либо окно было закрыто, то можно выбрать пункт основного меню View и далее какой-либо из пунктов подменю, чтобы снова открыть нужное окно. Окна Solution Explorer, Properties, Toolbox и некоторые другие можно открыть непосредственно из панели инструментов. Нужно всего лишь нажать мышкой на одной из иконок этой группы (см. Рисунок 6)

Рисунок 6

На Рисунке 7 изображено то, что можно увидеть при первом запуске BI Development Studio.

Рисунок 7

Заметьте, что по умолчанию в Development Studio все вспомогательные окна расположены вокруг центральной главной рабочей области. Большинство из этих окон можно перенастроить. Как это сделать, рассматривается в дальнейших главах.

Окно Solution Explorer

Чтобы начать работу в BI Development Studio, нужно сначала открыть или создать новый проект или решение. Если начинать работу с создания проекта Integration Services, то автоматически будет создано решение, содержащее новый SSIS проект. Также можно создать и пустое решение, в которое позднее можно будет добавить различные проекты, такие как SSIS проект вместе с проектом Analysis Services, или проектом Reporting Services, или даже с Visual Basic. NET проектом. Связка решение/проект позволяет разработчику группировать разные рабочие элементы для совместной их разработки и тестирования.

На Рисунке 8 показаны существующие в BI Development Studio организационные возможности. В данном случае сгруппированы три ETL проекта и один Analysis Services проект. Т.к. среда разработки интегрирована в Visual Studio, то одновременно множество разработчиков могут работать над всеми частями решения.

Рисунок 8

Однако можно увидеть пример отображенный на Рисунке 9, если нажать правую кнопку мыши на каталоге SSIS Packages и выбрать пункт меню New SSIS Package.

Рисунок 9

Файл с расширением .dtsx является ядром пакета, в котором хранится вся информация. Решения и проекты, которые содержат файлы .dtsx, используют его только для организационных преимуществ и группировок. Можно открыть .dtsx файл, если создать новый SSIS проект и добавить в него существующий .dtsx файл.

Панель инструментов

Внимательно взглянув на BI Development Studio, можно также увидите окно по имени Toolbox, расположенное, скорее всего с левой стороны. Панель инструментов поделена на множество закладок, количество которых зависит от типа проекта, с которым в данный момент идет работа. Она также содержит много закладок, которые не относятся к SSIS проектам. Только две закладки применимы к SSIS проектам - Control Flow Items и the Data Flow Items. Все задачи и объекты, доступные в Панели инструментов мы рассмотрим ниже. В зависимости от текущего экранного разрешения можно также увидеть рядом с именами закладок две стрелки прокрутки. Если на экране не хватает места для отображения всех задач, то с помощью этих стрелок прокрутки можно передвигаться по списку вверх и вниз (см. Рисунок 10).

Рисунок 10

Возможно, в процессе использования Панели инструментов захочется настроить её, удалив некоторые задачи или закладки. При нажатии правой кнопки мыши на отдельной задаче можно увидеть меню быстрого вызова, которое позволит настроить отображение через добавление/удаление закладок и добавление/удаление/переименование элементов. Также можно поменять порядок следования элементов или закладок, перетягивая их мышкой с одного места на другое.

Окно Properties

По-умолчанию окно Properties отображается в нижнем правом углу BI Development Studio. Это окно появляется в том случае, если Visual Studio используется для создания пакета в BI Development Studio и выбирается рабочая поверхность, задача или объект. Окно Properties является контекстно-зависимым, т.е. его содержимое изменяется в зависимости от выбранного элемента. Для проверки этого можно выбрать нажатием мышки главное рабочее окно. Окно Properties отобразит такую же страницу свойств пакета, как показано на Рисунке 11.

Рисунок 11

Другие окна
По ходу проектирования можно увидеть и некоторые другие окна BI Development Studio, которые также можно прикрепить, открепить, сделать видимыми, скрытыми или автоматически-скрываемыми. Это следующие окна:
  • Окно Task List отображает список задач-комментариев, которые разработчик может создавать наглядных целей или как напоминания для последующих разработок.
  • Окно Error List отображает список ошибок и предупреждений, обнаруженных в пакете. При двойном нажатии мышкой на любом элементе в этом окне открывается редактор объекта, вызвавшего эту ошибку.
  • Окно Output отображает результаты большинства событий построения или запуска пакета в BI Development Studio. Например, окно Output будет отображать все ошибки, которые произойдут при построении или развертывании пакета, или при его выполнении.
  • Два окна Search (для отображения справки) и одно окно Results позволяют осуществлять поиск по SQL Server Books Online и отображать его результаты.

В процессе тестирования пакетов, возможно, понадобится выполнять их внутри BI Development Studio. При этом текущий режим изменится на режим выполнения. В этом режиме невозможно ничего изменять до тех пор, пока пакет не закончит выполняться. Во время выполнения появляются следующие окна:

  • Окно Call Stack отображает стек вызванных функций или задач.
  • Окно Breakpoints отображает все точки остановок, заданные в текущем проекте.
  • Окно Command служит для выполнения команд или псевдонимов непосредственно в BI Development Studio.
  • Окно Immediate служит для отладки и вычисления выражений, выполнения команд и вывода значений переменных.
  • Окно Locals отображает список всех локальных переменных в данной области видимости.
  • Окно Watch позволяет отслеживать значения заданных переменных по ходу выполнения пакета. В этом окне Вы также можете непосредственно изменить значения read/write переменных.
Управление панорамой и прокруткой
Если созданный пакет превышает размеры области редактирования и требует прокрутки, то в правом нижнем углу области редактирования можно увидеть маленькое перекрестие (см. Рисунок 12).

Рисунок 12

Если нажать на это перекрестие мышкой, то появится всплывающее окно, в котором будет видно уменьшенное отображение всего пакета, а пунктирная линия обозначит текущую видимую часть (см. Рисунок 13).

Рисунок 13

Настройка пользовательского интерфейса
Одним из лучших качеств BI Development Studio является то, что ее пользовательский интерфейс может быть полностью настроен под желания индивидуального пользователя. Все перечисленные выше окна можно открепить и переместить куда угодно. Их также можно прикрепить во многих местах экрана и сгруппировать с другими окнами для отображения в виде закладок. Для окон можно выбрать режим автоматического сокрытия. В этом случае если Вы прекращаете использовать такие окна, то они исчезают из вида до тех пор, пока они Вам снова не понадобятся.
Редактор SSIS пакетов
Редактор SSIS пакетов встроен в BI Development Studio и предназначен в основном для разработки пакетов. Редактор содержит набор графических инструментов, которые позволяет осуществлять перемещение, последовательное и сложное преобразование данных без создания (или с минимальным количеством) программного кода. Редактор состоит из нескольких окон для потока управления, для потока данных, для создания соединений и для создания переменных.

В отличие от DTS 2000 в котором потоки данных и управления были совмещены, редакторы Control flow и Data flow в SSIS полностью разделены. Разделение потоков управления и данных предоставляет большие удобства и контроль при разработке сложных SSIS пакетов. Такое разделение обеспечивает интуитивный пользовательский интерфейс, лучший контроль над ходом выполнение пакета, увеличивает видимость процесса преобразования данных и увеличивает расширяемость SSIS за счет упрощения процессов разработки и выполнения пользовательских задач и преобразований. Вдобавок к упрощению сложных SSIS пакетов, можно создавать и простые потоки импорта и экспорта данных, не беспокоясь о потоке управления.

Разделение этих двух редакторов также означает то, что для каждого из них есть свой различный набор задач. Единственный способ, когда оба редактора потоков работают вместе - это контейнер задачи Data Flow. Все перемещения и преобразования данных происходят внутри одного или нескольких таких Data Flow задач.

Редактор Control Flow
Редактор Control Flow похож на DTS 2000 в том, что он содержит задачи и зависимости их запуска, но отличается наличием некоторых новых объектов-контейнеров, о которых следует знать. Эти контейнеры - For Loop, Foreach Loop, Sequence, а также задача Data Flow - содержат другие компоненты, которые производят определенного вида действия. Последовательность процессов в пакете задается с помощью редактора Control Flow. Редактор представляет собой рабочую область, в которой графически определяется, как задачи взаимодействуют между собой и порядок, в котором они будут выполняться.

После добавления новой задачи редактор Control Flow автоматически добавляет к ней стрелку или, иначе говоря, ограничение приоритета, с помощью которого данная задача может быть соединена с другими. Это показано на Рисунке 14.

Рисунок 14

Если Вы нажмете кнопкой мыши в любую часть стрелки или линии, то Редактор пакетов изменит ее на пунктирную линию. Теперь можно перетянуть стрелку на другую задачу и выбрать ее в качестве задачи-приемника нажатием кнопки мыши. Редактор соединит две задачи таким образом, что та задача, в которую направлена стрелка, будет запущена только в том случае, когда предшествующая задача будет успешно завершена (см. Рисунок 15).

Рисунок 15

Если нужно, чтобы задача-преемник была выполнена только в том случае, когда задача-предшественник закончиться неудачно, то необходимо дважды нажать кнопку мыши на линии, соединяющей эти две задачи для вывода диалога Precedence Constraint. В этом диалоге можно поменять результат выполнения на любой доступный, но если выбрать OnFailure и затем нажать OK, то цвет линии изменится на красный. На Рисунке 16 показано диалоговое окно Precedence Constraint Editor со своими опциями конфигурации.

Рисунок 16

Если необходимо, чтобы задача-преемник была запущена при любом результате завершения задачи-предшественника, то нужно изменить ограничение приоритета на OnCompletion и тогда цвет линии поменяется на синий.

Наличие в пакете только двух задач подразумевает только одно ограничение приоритета между ними. Если же пакет требует нескольких задач, то также можно добавить несколько ограничений приоритета между всеми задачами для создания столь сложных зависимостей, сколь необходимо пакету. На Рисунке 17 изображен немного более сложный пример процесса обработки и то, как SSIS позволяет осуществлять больший контроль над ходом выполнения.

Рисунок 17

Новшеством в SQL Server 2005 является наличие логических условий AND и OR в случае, если у задачи есть множество ограничений приоритета. В DTS 2000 подобная задача могла быть запущена только в случае, когда все ограничения приоритета выполнялись. Это, безусловно, было проблемой в том случае, когда у какой-либо задачи было два или более ограничения приоритета для случая неудачного завершения задач-предшественников. Потому, что все эти задачи-предшественники обязательно должны были закончиться неудачно, чтобы сработала задача-преемник. В SQL Server 2005 при двойном нажатии кнопкой мыши на ограничении приоритета в появившемся диалоге кроме условия срабатывания Success, Failure, или Completion можно выбрать как взаимодействуют между собой множественные условия срабатывания - по AND или по OR. Логическое AND означает, что все ограничения приоритета должны быть выполнены для запуска задачи-преемника. Логическое OR означает, что для запуска задачи-преемника достаточно выполнения одного из ограничений приоритета. В первом случае линия, соединяющая задачи будет сплошной, а во втором - пунктирной. На Рисунке 18 показан диалог для задания ограничения приоритета подзадачи только при неудачном завершении, но разрешающий запуск подмножества задач.

Рисунок 18

Такая возможность позволяет создать в SSIS логический поток такого вида, что изображен на Рисунке 19. На этом примере видно, что любая задача пакета, окончившаяся неудачно, приведет к запуску задачи Error Handler. Это позволяет создавать для группы задач единую задачу "обработки ошибок".

Рисунок 19


Часть 2
VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...