авторефераты диссертаций БЕСПЛАТНАЯ БИБЛИОТЕКА РОССИИ

КОНФЕРЕНЦИИ, КНИГИ, ПОСОБИЯ, НАУЧНЫЕ ИЗДАНИЯ

<< ГЛАВНАЯ
АГРОИНЖЕНЕРИЯ
АСТРОНОМИЯ
БЕЗОПАСНОСТЬ
БИОЛОГИЯ
ЗЕМЛЯ
ИНФОРМАТИКА
ИСКУССТВОВЕДЕНИЕ
ИСТОРИЯ
КУЛЬТУРОЛОГИЯ
МАШИНОСТРОЕНИЕ
МЕДИЦИНА
МЕТАЛЛУРГИЯ
МЕХАНИКА
ПЕДАГОГИКА
ПОЛИТИКА
ПРИБОРОСТРОЕНИЕ
ПРОДОВОЛЬСТВИЕ
ПСИХОЛОГИЯ
РАДИОТЕХНИКА
СЕЛЬСКОЕ ХОЗЯЙСТВО
СОЦИОЛОГИЯ
СТРОИТЕЛЬСТВО
ТЕХНИЧЕСКИЕ НАУКИ
ТРАНСПОРТ
ФАРМАЦЕВТИКА
ФИЗИКА
ФИЗИОЛОГИЯ
ФИЛОЛОГИЯ
ФИЛОСОФИЯ
ХИМИЯ
ЭКОНОМИКА
ЭЛЕКТРОТЕХНИКА
ЭНЕРГЕТИКА
ЮРИСПРУДЕНЦИЯ
ЯЗЫКОЗНАНИЕ
РАЗНОЕ
КОНТАКТЫ


Pages:     | 1 |   ...   | 9 | 10 || 12 | 13 |   ...   | 33 |

«Е.Мамаев MS SQL SERVER 2000 Книга посвящена одной из самых мощных и популярных современных систем управления базами данных - Microsoft SQL Server 2000. ...»

-- [ Страница 11 ] --

Другим примером зависимости может служить индекс и таблица. Не секрет, что копирование индекса (равно как и ограничения целостности или значе ния по умолчанию) отдельно от таблицы не имеет смысла. Установив фла жок Include all depends objects, можно не беспокоиться о том, что вы могли забыть включить в процесс копирования один или более объектов.

Рассмотренные три флажка используются для управления дублирования объек тов. Список же объектов, которые будут копироваться из базы данных источни ка в базу данных получателя, указывается отдельно. Для выбора объектов, кото рые должны быть скопированы, предназначено окно Select Objects (рис. ! 1.21), открыть которое можно с помощью одноименной кнопки в нижней части окна мастера. Однако по умолчанию кнопка Select Objects не доступна, т. к. установ лен флажок Copy all objects. Когда этот флажок отмечен, то в ходе выполнения пакета будут скопированы все объекты базы данных источника. Если же необ ходимо скопировать только часть объектов, то следует сбросить его и восполь зоваться окном Select Objects для выбора объектов.

В верхней части окна Select Objects содержится набор флажков, которые служат для включения в таблицу Objects всех объектов соответствующего типа. В рас поряжении пользователя имеются перечисленные ниже флажки:

П Show all tables — таблицы;

• Show all views — представления;

• Show all stored procedures — хранимые процедуры;

• Show all defaults — умолчания;

• Show all rules — правила;

• Show all user-defined data types — пользовательские типы данных.

Если предполагается скопировать только несколько таблиц и хранимых проце дур, то достаточно оставить установленными флажки Show all tables и Show all stored procedures, сбросив все остальные. В итоге в области Objects будут пере числены все таблицы и хранимые процедуры, которые имеются в базе данных, выбранной во втором окне мастера. Конечно, можно оставить включенными все флажки, но тогда поиск нужных объектов усложнится.

Глава 1-1. Доступ к гетерогенным источникам данных Рис. 11.21. Окно Select Objects Рассмотрим теперь работу с таблицей Objects. Каждая ее строка соответствует отдельному объекту базы данных. В столбце Object выводится пиктограмма, обозначающая тип объекта. Соответствие изображений и типов объектов можно легко узнать с помощью флажков в верхней части окна — слева от каждого флажка выводится соответствующий значок. Тип объекта также указывается в столбце Туре. Имя же объекта отображается в столбце Object Name.

В самом левом столбце каждой строки имеется флажок, установив который можно тем самым включить объект в процесс копирования. В нижней части окна находится кнопка Select All, с помощью которой можно выделить все строки таблицы Objects. Используя кнопки Check и Uncheck можно, соответст венно, установить и сбросить флажки в выделенных строках. Помимо кнопки Select All для выделения объектов также можно использовать мышь. Удерживая нажатой клавишу Ctrl можно выделить более одного объекта.

После того, как будут выбраны все нужные объекты, работу с окном Select Objects можно считать законченной, и остается только нажать кнопку ОК.

Управление копированием данных После того, как были определены свойства копирования объектов, можно при ступать к конфигурированию процесса копирования данных. Первое, что необ ходимо сделать для этого — разрешить собственно копирование данных. Для этого достаточно установить флажок Copy data (см. рис. 11.20), что приведет к копированию данных всех таблиц, выбранных в окне Select Objects. Если же флажок Copy data не установлен, то данные скопированы не будут. Тем не ме нее, это никаким образом не влияет на копирование объектов. То есть флажок Copy data может быть сброшен, если предполагается всего-навсего скопировать объекты базы данных, но оставить все таблицы пустыми.

366 Часть ///. Администрирование Если флажок Copy data все же отмечен, то становится доступным переключа тель, расположенный непосредственно ниже флажка. Этот элемент управления может быть установлен в одно из двух положений:

П Replace existing data. Когда переключатель установлен в это положение, то при выполнении пакета в таблицах базы данных получателя будут удалены все имеющиеся строки. Таким образом, таблицы получателя будут содержать только те данные, которые имелись на источнике.

П Append data. В этом случае данные источника будут добавлены к имеющимся данным получателя. Указанный метод позволяет выполнять накопление ин формации.

На этом конфигурирование свойств копирования данных заканчивается.

Конфигурирование дополнительных свойств В двух предыдущих разделах был рассмотрен выбор объектов, которые предпо лагается скопировать, а также управление параметрами копирования данных таблиц. Однако, помимо перечисленных свойств в окне Select Object to Copy мастера DTS Import/Export Wizard можно сконфигурировать и другие парамет ры, определяющие возможность копирования настроек системы безопасности, индексов, триггеров, полнотекстовых индексов, а также управлять некоторыми иными параметрами.

Копирование объектов баз данных осуществляется в два этапа. В ходе выполне ния первого этапа на источнике генерируется код Transact-SQL, с помощью ко торого можно создать объекты, выбранные для копирования. Второй же этап включает запуск сгенерированного кода на сервере-получателе. После выполне ния этого кода в базе данных получателя будут созданы все объекты, выбранные для копирования. Дополнительно, в генерируемый код могут быть включены команды, выполняющие удаление в базе данных получателя объектов, тип и имя которых совпадают с аналогичными характеристиками объектов, выбранных для копирования.

Мастер DTS Import/Export Wizard позволяет сохранять код, который будет ис пользоваться для создания объектов в базе данных получателя. В этот код вклю чаются команды создания не только объектов, выбранных в окне Select Objects, но и команды создания пользователей, триггеров, индексов и некоторых других объектов базы данных. По умолчанию генерируемый код сохраняется в каталоге \Program Files\Microsoft SQL Server\80\Tools. Однако можно указать любой другой каталог, введя его имя вручную в поле Script file directory или выбрав интерактивно с помощью окна Browse for Folder, открыть которое можно с по мощью кнопки ЩЁ, расположенной справа от указанного поля. Сохраненный код может быть позже использован для повторного создания объектов на любом из серверов SQL Server.

( Замечание ^ Код генерируется не как единственный файл с расширением sql, а в виде набора фай лов, каждый из которых отвечает за выполнение специализированных действий. По Глава 11. Доступ к гетерогенным источникам данных мимо файлов сценариев, в указанном каталоге также будут сохранены журнальные файлы (с расширением log), в которых описываются проблемы, встреченные при вы полнении пакета. Эти журнальные файлы весьма полезны в случае неудачного вы полнения пакета, т. к. с их помощью можно легко найти причину возникших ошибок.

Помимо возможности сохранения генерируемого кода, можно также управлять дополнительными параметрами копирования объектов. Для этого предназначено диалоговое окно Advanced Copy Options (рис. 11.22), открыть которое можно с помощью кнопки Options. Однако по умолчанию данная кнопка недоступна, т. к. мастер предлагает использовать свойства по умолчанию. Об этом свиде тельствует установленный флажок Use default options. Если параметры по умол чанию чем-то вас не устраивают, то необходимо сбросить указанный флажок и установить нужные параметры с помощью окна Advanced Copy Options.

с Замечание На рис. 11.22 приведено состояние параметров по умолчанию. То есть использова ние установленного флажка Use default options равнозначно установке параметров в указанное состояние.

Рис. 11.22. Окно Advanced Copy Options В группе элементов Security options имеется три флажка, с помощью которых можно управлять свойствами копирования настроек системы безопасности базы данных:

О Copy databases users and databases roles. Установка этого флажка предписыва ет дублирование не только объектов, но и пользователей базы данных. Также будут скопированы все пользовательские роли и роли приложений, создан ные в базе данных источника, а также информация о членстве пользователей в тех или иных ролях. Копирование пользователей обязательно, если некото 1 3 * г Часть III. Администрирование рые из переносимых объектов принадлежат конкретным пользователям, а не владельцу базы данных (пользователю бьб). Если в базе данных получателя не будет существовать некоторых пользователей, то создание принадлежащих им объектов окажется невозможным. В принципе, необходимые пользовате ли могут быть созданы на получателе вручную. Другим решением проблемы непереноса объектов является передача прав владения всеми копируемыми объектами пользователю dbo.

j ( Замечание В целях безопасности, механизмы DTS не выполняют генерирования сценариев для ролей приложения. Дело в том, что при создании роли приложения необходимо ука зать пароль, который будут использовать пользователи для установления соедине ния. То есть этот пароль должен быть явно указан в генерируемом сценарии, что позволяет легко прочитать его. Если пользовательская роль владеет какими-то из копируемых объектов, то на получателе эти объекты созданы не будут. Тем не ме нее, можно вручную создать на получателе необходимые роли приложения до вы полнения пакета DTS.

• Copy SQL Server logins (Windows NT and SQL Server). После установки ука занного флажка помимо пользователей базы данных будут скопированы все учетные записи (как SQL Server, так и Windows NT), которые были сконфи гурированы на сервере-источнике. Рассматриваемый флажок должен быть всегда установлен, если выполняется копирование пользователей базы дан ных (т. е. установлен предыдущий флажок) и на получателе не определены учетные записи, с которыми должны быть связаны пользователи базы дан ных. Создание пользователя при копировании выполняется с помощью хра нимой процедуры sp_grantdbaccess, работа с которой была подробно рас смотрена в главе 9. Одним из обязательных параметров данной процедуры является имя учетной записи, с которой должен быть связан создаваемый пользователь базы данных. А поскольку нужной учетной записи на получате ле нет, то выполнение операции закончится ошибкой.

Замечание Для учетных записей SQL Server, создаваемых в процессе копирования на получа теле, устанавливается пустой пароль. То есть при выполнении хранимой процедуры sp_addlogin, предназначенной для создания учетных записей SQL Server, для па раметра Spasswd указывается значение NULL. Поэтому после выполнения пакета необходимо установить пароли для учетных записей SQL Server, особенно если они состоят в фиксированных ролях сервера. Работа хранимой процедуры s p a d d l o g i n была подробно рассмотрена в главе 9.

П Copy object-level permissions. Если вы потратили много времени на конфигу рирование прав доступа пользователей на сервере-источнике, то наверняка захотите воспользоваться имеющимися настройками, а не выполнять всю ра боту заново. При помощи рассматриваемого флажка можно разрешить или запретить копирование прав доступа пользователей к объектам базы данных.

При установленном флажке в генерируемый код (сценарий) будут включены Глава 11. Доступ к гетерогенным источникам данных команды GRANT и DENY, с помощью которых будет, соответственно, предос тавляться или отклоняться доступ тем или иным пользователям к копируе мым объектам базы данных.

( Замечание j По умолчанию для всех копируемых пользователей сконфигурировано неявное от клонение доступа. Поэтому команда REVOKE В генерируемом сценарии не фигури рует. Более того, если флажок Copy object-level permissions сброшен, все копи руемые пользователи будут иметь в базе данных получателя неявное отклонение доступа ко всем объектам.

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

Также невозможно, например, скопировать только права на разрешения доступа (GRANT), не скопировав информацию о запрещении доступа (DENY). Однако не обходимые исправления могут быть произведены уже после выполнения пакета непосредственно в базе данных получателя. Другим вариантом внесения изме нений является исправление сценария, генерируемого мастером. Этот сценарий представляет собой всего-навсего набор команд Transact-SQL, с помощью кото рых выполняется создание объектов базы данных, пользователей и ролей, пре доставление им прав доступа к объектам и т. д. Ничто не мешает внести необхо димые исправления и дополнения и выполнить сценарий в Query Analyzer.

Немалую часть окна Advanced Copy Options занимает группа элементов Table options, которая предназначена для управления копированием вспомогательных объектов, используемых совместно с таблицами. В группе имеется следующий набор флажков:

• Copy indexes. Разрешает или запрещает копирование индексов таблиц, вклю ченных в процесс дублирования в окне Select Objects.

• Copy triggers. Разрешает или запрещает копирование триггеров таблиц.

• Copy full text indexes. Разрешает или запрещает копирование полнотекстовых индексов таблиц.

• Copy PRIMARY and FOREIGN keys. Разрешает или запрещает копирование первичных и внешних ключей таблиц.

• Generate Scripts in Unicode. При установке этого флажка сценарий будет ге нерироваться в стандарте Unicode, что позволяет переносить объекты с име нами в любом из национальных языков. Данная опция действует не только на таблицы, но и на весь генерируемый сценарий целиком.

Нерассмотренным остался только флажок Use quoted identifiers when copying objects, выбор которого предписывает заключать имена копируемых объектов в ограничители. Это Необходимо, если имена объектов включают недопустимые символы (например, пробелы). Рекомендуется всегда устанавливать данный флажок, т. к. это не приведет ни к каким осложнениям, но поможет избавиться от проблем с нестандартными именами объектов.

13* Часть III. Администрирование На этом конфигурирование дополнительных параметров, равно как и всего процесса копирования объектов и данных между базами данных серверов SQL Server, можно считать законченным. Четыре предыдущих раздела были в основ ном посвящены описанию работы с окном мастера Select Object to Copy, с по мощью которого выполняется выбор объектов и данных для копирования. Сле дующее окно мастера имеет имя Save, schedule, and replicate package и предназначено для управления временем запуска создаваемого пакета DTS, ме стом его хранения и некоторыми другими параметрами. Указанное окно имеет один и тот же вид независимо от выбранного режима копирования в четвертом окне мастера и будет рассмотрено в следующем разделе.

Сохранение и выполнение пакета Три предыдущих раздела были посвящены рассмотрению различных режимов копирования, выбираемых в окне мастера Specify Table Copy or Query. Пред ставленные далее окна служат для конфигурирования выбранного режима копи рования. После того, как настройка будет завершена, мастер переходит к окну Save, schedule, and replicate package (рис. 11.23), которое всегда имеет один и тот же вид, независимо от выбранного режима копирования.

Рис. 11.23. Окно Save, schedule, and replicate package Рассматриваемое окно предназначено для указания времени и условия запуска создаваемого пакета, а также для определения места хранения пакета. Для управления временем запуска пакета предназначена группа When, в которую входят элементы управления:

О Run immediately. Установка флажка предписывает выполнить создаваемый пакет незамедлительно после завершения его создания. Если же пакет пред Глава 11. Доступ к гетерогенным источникам данных полагается обработать позже, запустив его вручную или автоматически, то следует сбросить флажок.

• Use replication to publish destination data. Если скопированные из источника таблицы предполагается опубликовать с использованием подсистемы репли кации, то можно установить рассматриваемый флажок. В этом случае после завершения работы мастера DTS Import/Export Wizard будет запущен мастер Create Publication Wizard, предназначенный для создания публикаций. По умолчанию будет определена публикация, включающая все копируемые в хо де выполнения пакета таблицы. В принципе, ничто не мешает определить публикацию позже с помощью того же самого мастера. Более подробно под система репликации, и в частности работа с мастером Create Publication Wizard, будет рассмотрена в главе 14.

D Schedule DTS package for later execution. Как было сказано, при установлен ном флажке Run immediately пакет запустится на выполнение сразу же после того, как завершится его создание. То есть пакет будет обязательно запущен хотя бы один раз. Однако часто бывает необходимо стартовать созданный пакет периодически (например, раз в неделю) в автоматическом режиме. Для реализации подобного требования достаточно установить рассматриваемый флажок. Это приведет к тому, что мастер создаст новое задание для службы SQLServerAgent, которое будет автоматически выполнять созданный пакет.

При разрешении автоматического выполнения пакета время его запуска ото бражается в поле, расположенном непосредственно ниже флажка Schedule DTS package for later execution. По умолчанию пакет запускается каждый день ровно в полночь (Occurs every I day(s), at 0:00:00). Однако пользователь может вы брать время запуска пакета произвольным образом. Для этого применяется окно Edit Recurring Job Schedule (рис. 11.24), вызвать которое можно с помощью кнопки I. Более подробно работа с этим окном рассмотрена ниже в разд. "Уп равление временем запуска".

Рис. 11.24. Окно Edit Recurring Job Schedule Часть III. Администрирование В окне Save, schedule, and replicate package (см. рис. 11.23) также можно разре шить сохранение пакета для дальнейшего использования. Более того, подобное сохранение обязательно, если предполагается последующий автоматический за пуск пакета. Таким образом, если установлен флажок Schedule DTS package for later execution, то должен быть установлен и флажок Save DTS Package, что предписывает мастеру сохранить пакет. Пакет также может быть сохранен и без установки флажка Schedule DTS package for later execution. В этом случае пакет может быть запущен в любое время вручную.

Место хранения определяется с помощью переключателя, расположенного в правой части группы Save. Данный переключатель может быть установлен в од но из следующих положений:

П SQL Server. При установке переключателя в это положение пакет будет со хранен в системной таблице sysdtspackages базы данных Msdb.

• SQL Server Meta Data Services. В этом случае пакет хранится в структурах службы метаданных SQL Server, что позволяет отслеживать изменение паке та, его использование, потоки данных, которыми оперировал пакет, и неко торую другую информацию.

• Structured Storage File. Пакет будет сохранен в структурированном СОМ файле;

О Visual Basic File. Пакет сохранится в файле Visual Basic.

На этом конфигурирование времени запуска и сохранения пакета заканчивает ся. Следующие два подраздела посвящены конфигурированию времени автома тического запуска пакета и определению некоторых свойств сохранения пакета.

Управление временем запуска Как было сказано выше, окно Edit Recurring Job Schedule (см. рис. 11.24) ис пользуется для конфигурирования времени запуска пакета. Настоящий раздел будет посвящен детальному описанию работы с указанным окном.

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

• Daily — на дневном базисе. В этом случае группа справа от переключателя имеет имя Daily и содержит единственное поле, в котором указывается час тота выполнения пакета. Пакет может выполняться раз в день, в два дня, три и т. д.

О Weekly — на недельном базисе. В этом случае группа справа от переключате ля имеет имя Weekly и содержит набор флажков, с помощью которых указы вается, в какие дни недели будет запускаться пакет. Помимо этого можно определить, будет ли пакет выполняться в указанные дни каждой недели, каждых двух недель, трех и т. д.

Глава 11. Доступ к гетерогенным источникам данных О Monthly — на месячном базисе. В этом случае группа справа от переключателя называется Monthly. Запуск пакета может быть либо назначен на определенное число каждого месяца, либо на определенный день конкретной недели.

Описанные выше элементы управления используются для задания дней, в кото рые будет запускаться пакет. Однако помимо этого можно указать и время стар та пакета. Для этого существует группа Daily frequency. Момент запуска пакета в пределах дня может определяться двумя способами:

О Occurs once at. При установке переключателя в это положение запуск пакета в указанные дни будет выполняться в строго указанное время, которое вво дится правее. По умолчанию предлагается выполнять пакет ровно в полночь (0:00:00). Таким образом, пакет будет запускаться один раз в каждый из вы бранных дней.

• Occurs every. Если необходимо выполнять пакет более одного раза в день, то нужно установить переключатель в рассматриваемое положение. В этом слу чае пользователь должен будет указать, станет ли задание выполняться раз в час, раз в два часа, три и т. д. Помимо этого, в поле Starting at можно ука зать время, начиная с которого будет выполняться запуск пакета. Время, до которого пакет может запускаться, указывается в поле Ending at. По умолча нию два последних поля сконфигурированы таким образом, что пакет может быть выполнен в любое время суток. Тем не менее, время запуска пакета всегда сдвигается на начало часа.

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

• Start date. В данном раскрывающемся списке указывается дата, начиная с которой станет возможным запуск задания. После наступления назначенной даты начинают действовать установки, определенные с помощью описанных выше элементов управления. Таким образом, задание может быть выполнено гораздо позже даты, указанной в списке Start date. Это возможно, например, когда в нем указано первое апреля 2001 года, но переключатель Occurs уста новлен в положение Monthly, и для запуска пакета выбрано 25 число каж дого месяца. Таким образом, пакет будет выполнен спустя 25 дней с момента разрешения запуска пакета. По умолчанию в поле Start date указывается дата создания пакета.

• End date. В этом поле можно ввести дату, до которой разрешено выполнение пакета. После наступления указанной даты пакет можно будет либо запус тить вручную, либо определить для него новое расписание. Более подробно ручной запуск и конфигурирование расписаний запуска заданий будут рас смотрены в следующей главе.

О No end date. При установке переключателя в данное положение время вы полнения пакета не ограничивается.

Часть III. Администрирование После того, как автоматический запуск пакета на выполнение будет определен и работа мастера завершиться, в папке Management\SQL Server Agent\Jobs панели Enterprise Manager сервера, на котором был сохранен пакет, можно будет уви деть, что было добавлено новое задание, выполняющее запуск созданного паке та. При необходимости можно в любое время открыть это задание и внести в него необходимые изменения. Это может понадобиться, например, для измене ния времени запуска пакета. Более подробно управление заданиями будет рас смотрено в следующей главе.

Конфигурирование хранения пакета Если в окне Save, schedule, and replicate package (см. рис. 11.23) был установлен флажок Save DTS Package, что свидетельствует о желании пользователя сохра нить пакет для дальнейшего использования, то следующее окно мастера (рис. 11.25) будет называться Save DTS Package, что переводится как "сохранение пакета DTS". В соответствии с названием это окно мастера используется для конфигурирования параметров сохранения пакета.

*i Рис. 11.25. Окно Save DTS Package Окно содержит ряд элементов управления, с помощью которых и определяются свойства сохранения пакета:

• Name. В этом поле указывается имя, под которым будет сохранен пакет. Имя должно быть уникально в пределах хранилища, в которое записывается пакет.

О Description. Поле предназначено для ввода краткого описания пакета и носит чисто информативный характер.

Глава 11. Доступ к гетерогенным источникам данных П Owner password. В этом поле указывается пароль владельца пакета. Пользова тель, знающий пароль владельца, может вносить в пакет любые изменения.

Если пароль в данном поле не указан, то изменения в пакет может вносить любой пользователь.

• User password. Указывается пользовательский пароль, который должен вво диться всякий раз, когда пакет будет запускаться. Знание этого пароля дает пользователям возможность только выполнять пакет, но не изменять его.

• Location. В данном поле указывается тип используемого хранилища.

• Server name. Раскрывающийся список позволяет выбрать имя сервера SQL Server, на котором будет сохранен пакет.

• Use Windows NT authentication. При установке переключателя в это положе ние для подключения к выбранному в списке Server name серверу будет ис пользоваться аутентификация Windows NT.

• Use SQL Server authentication. В этом случае для сохранения пакета для под ключения к серверу будет применяться аутентификация SQL Server. Тогда не обходимо указать имя учетной записи (Username), которая будет участвовать в установлении соединения, а также пароль (Password) этой учетной записи.

Мы рассмотрели вид окна Save DTS Package (см. рис. 11.25), который оно име ет, когда пакет сохраняется в базе данных SQL Server или в структурах службы метаданных SQL Server. При сохранении пакета в структурированном СОМ файле или в файле Visual Basic окно Save DTS Package будет иметь другие эле менты управления. В частности, потребуется указать имя пакета, описание, а также имя файла, в котором будет сохранен пакет.

Завершение работы мастера После завершения настроек во всех предыдущих окнах работу мастера также можно считать законченной. Последнее окно мастера (рис. 11.26) содержит сводную информацию о свойствах пакета, определенных на предыдущих шагах.

Нажатие кнопки Finish приведет к созданию пакета и, если определено, к его выполнению. Пакет может быть выполнен непосредственно после нажатия кнопки Finish, если в окне Save, schedule, and replicate package был установлен флажок Run immediately. Ход выполнения пакета отображается в окне Execution Package (рис. 11.27). Весь пакет разбивается на несколько этапов, которые вы полняются отдельно. Каждый из таких этапов отображается отдельной строкой в окне Execution Package.

На этом описание работы с мастером DTS Import/Export Wizard можно считать законченным. Следующий раздел будет посвящен рассмотрению возможностей DTS Designer, с помощью которого можно создавать пакеты DTS практически любой сложности.

Часть III. Администрирование Рис. 11.26. Последнее окно мастера DTS Import/Export Wizard Рис. 11.27. Окно Execution Package Инструмент DTS Designer Предыдущий раздел этого уровня был полностью посвящен рассмотрению рабо ты с мастером DTS Import/Export Wizard. С помощью этого мастера можно вы полнять копирование и трансформирование данных, а также копирование объ ектов баз данных SQL Server. Перечисленные задачи мастер решает весьма эффективно. Помимо этого, полученный после выполнения мастера пакет мож Глава 11. Доступ к гетерогенным источникам данных но сконфигурировать для автоматического выполнения с помощью службы SQLServerAgent.

Однако выполнять более сложные действия с помощью мастера невозможно.

Когда мы описывали архитектуру DTS, были упомянуты отношения предшест вования. Как видно, при работе с мастером эти объекты совсем не используют ся. Дело в том, что отношения предшествования применяются только при рабо те с двумя и более задачами. Однако мастер создает единственную задачу.

поэтому нет смысла использовать отношения предшествования.

Более того, при работе с мастером в распоряжении пользователей имеется всего две задачи. Однако механизмы DTS предоставляют пользователям более пятна дцати задач, предлагающих широкие возможности по управлению данными и объектами. Все упомянутое выше было сказано для того, чтобы лишний раз подчеркнуть: возможности мастера DTS Import/Export Wizard весьма ограниче ны. Создать пакет DTS, использующий возможности служб трансформации данных в полной мере можно с помощью DTS Designer. Этот простой в работе инструмент позволяет создавать пакеты практически любой сложности.

Для запуска DTS Designer необходимо в панели Enterprise Manager выбрать нужный сервер и в контекстом меню папки Data Transformation Services выбрать команду New Package. В ответ откроется окно DTS Package: New Package (рис. 11.28).

Рис. 11.28. Окно DTS Package: New Package внутри Enterprise Manager 378 Часть III. Администрирование На рис. 11.28 приведено пустое окно, не содержащее ни одного источника дан ных, ни одной задачи. Большую его часть занимает пустое пространство, являю щееся рабочей областью, в которой пользователь и будет конфигурировать пакет.

Основной интерес для пользователя представляют две панели инструментов, расположенные в левой части окна. Первая из них называется Task и содержит список задач (task), поддерживаемых SQL Server 2000. Вторая панель называется Data и содержит список источников (datasource), с которыми может работать DTS Designer.

Следующие разделы будут посвящены рассмотрению источников данных и за дач, которыми может оперировать пользователь.

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

( Замечание ) Термин источник данных в этой ситуации применяется как в качестве импортера, так и в качестве экспортера. В дальнейшем, при описании практической работы, для экспортера будет использоваться термин "источник данных", тогда как для импорте ра — термин "получатель данных".

Как было сказано в одном из разделов в начале главы, конфигурирование ис точников данных при работе с пакетами DTS осуществляется с помощью объек тов Connection objects. В DTS Designer в распоряжении пользователя имеется множество шаблонных объектов, которые предназначены для установления со единения с распространенными источниками данных. Помимо этого, для уста новления соединения с менее распространенными системами можно воспользо ваться объектами Microsoft Data Link и Other Connections.

Чтобы сконфигурировать источник данных в пакете DTS, создаваемом с помо щью DTS Designer, нужно воспользоваться панелью инструментов Data. Необ ходимо выбрать в панели кнопку нужного источника данных и перетащить ее в рабочую область. После того, как будет отпущена кнопка мыши, появится окно свойств источника данных, в котором потребуется указать специфические ха рактеристики.

( Замечание ) Поместить источник в рабочую область также можно с помощью двойного щелчка на обозначающей его кнопке.

Напомним, что в основе работы механизмов DTS лежит технология OLE DB, позволяющая обращаться к источникам данных самых различных типов. Объек Глава 11. Доступ к гетерогенным источникам данных ты, имеющиеся на панели инструментов Data, являются отображением постав щиков OLE DB. То есть, тот или иной источник данных использует соответст вующего поставщика OLE DB и имеет свойства, специфичные для этого по ставщика.

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

На панели инструментов Data имеются следующие объекты:

• Microsoft OLE DB Provider for SQL Server используется для обращения к серверам Microsoft SQL Server;

П Microsoft Access предназначен для доступа к файлам баз данных Access;

О Microsoft Excel 97-2000 позволяет обращаться к файлам электронных таблиц Microsoft Excel версий 97—2000;

П dBase 5 применяется для работы с файлами СУБД dBase версии 5;

П HTML File (Source) позволяет использовать в качестве источника данных (экспортера) файлы HTML;

П! Paradox 5.x предназначен для обращения к файлам СУБД Paradox 5.x;

О Text File (Source) используется, когда требуется обратиться к текстовому файлу как к источнику данных (импортеру);

П Text File (Destination) используется, когда требуется обратиться к текстовому файлу как к получателю данных (экспортеру);

• Microsoft ODBC Driver for Oracle позволяет обращаться к СУБД Oracle;

Я Microsoft Data Link предназначен для конфигурирования произвольных ис точников данных, для чего применяются специальные файлы UDL, которые описывают, какой поставщик OLE DB должен использоваться и с какими параметрами. В принципе, доступ ко всем указанным ранее источникам дан ных может быть осуществлен с использованием Microsoft Data Link;

О Other Connections используется, когда необходимо обратиться к источнику ODBC.

Как видно, DTS Designer предоставляет пользователям возможность работы со множеством различных источников данных, не прибегая ни к каким дополни тельным действиям (например, к установке драйверов). В большей своей части конфигурирование источников данных является интуитивно понятным, и по этому мы не будем заострять на этом внимания.

Задачи Как мы уже говорили, задача DTS представляет собой компонент, позволяющий выполнять, специализированные действия. Список задач, доступных пользовате 380 Часть III. Администрирование лям при работе с DTS Designer, представлен на панели инструментов Task. В распоряжении пользователя имеются следующие задачи:

• File Transfer Protocol Task используется для выкачивания файлов с удаленных серверов и сайтов Web;

• ActiveX Script Task позволяет выполнять преобразование данных с помощью скриптовых языков ActiveX;

• Transform Data Task — стандартный механизм копирования данных между двумя источниками, предоставляющий возможность также выполнить и до вольно сложные преобразования данных;

• Execute Process Task позволяет выполнять стандартные приложения опера ционной системы, а также запускать пакетные файлы;

• Execute SQL Task используется для выполнения пакетов команд Transact-SQL;

• Data Driven Query Task предоставляет пользователю самый мощный меха низм закачки и преобразования данных с возможностью выполнения подза просов и установлением дополнительных соединений с источниками данных;

• Copy SQL Server Objects Task предназначена для копирования объектов баз данных между двумя серверами SQL Server 2000 или SQL Server 7.0. Вместе с объектами можно выполнить и копирование данных, однако, их преобразо вание средствами рассматриваемой задачи невозможно;

П Send Mail Task позволяет отправлять сообщения по электронной почте. Час то используется для извещения администратора (оператора) о результате (успешном или неудачном) выполнения пакета;

П Bulk Insert Task служит для массивной закачки данных из текстовых файлов и обратно. Является аналогом утилиты bcp.exe;

О Execute Package Task позволяет запускать пакеты DTS;

• Message Queue Task предоставляет пользователям механизм обмена инфор мацией между пакетами DTS;

• Transfer Error Messages Task предназначена для переправления сообщений об ошибках, появляющихся в ходе выполнения пакета, на удаленный сервер SQL Server 2000;

П Transfer Database Task позволяет выполнять копирование баз данных между серверами SQL Server;

П Transfer Master Stored Procedures Task — с помощью этой задачи можно ко пировать хранимые процедуры, определенные для выполнения на множестве серверов. Используется для автоматизации администрирования SQL Server 2000. Более подробно автоматизация администрирования будет рас смотрена в следующей главе;

О Transfer Jobs Task — эта задача, как и предыдущая, применяется при автома тизации администрирования и позволяет копировать задания с главного сер вера на подчиненные серверы;

Глава 11. Доступ к гетерогенным источникам данных О Transfer Logins Task позволяет выполнять копирование учетных записей ме жду серверами SQL Server;

П Dynamic Properties Task предоставляет возможность управления свойствами пакета во время его выполнения.

Если вы работали с SQL Server 7.0, то, наверное, заметили, что список задач в SQL Server 2000 был существенно расширен. В основном нововведения косну лись подсистемы автоматизации и расширения возможностей работы с сервера ми SQL Server.

) ( Замечание Задачи в списке перечислены в соответствии с их расположением в панели инстру ментов Task. Так, первая задача в списке соответствует самой верхней левой кноп ке, вторая — верхней правой и т. д.

Добавление задач в рабочую область конфигурирования пакета выполняется точно так же, как и добавление источника данных — перетащить кнопку нужной задачи в рабочую область или просто дважды щелкнуть на ней. В ответ откроется окно свойств задачи, в котором необходимо определить параметры ее выполнения.

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

Задача File Transfer Protocol Task Окно свойств задачи File Transfer Protocol Task имеет вид, показанный на рис. 11.29. Окно имеет две вкладки — FTP Site и FTP Transformation. На первой указывается адрес источника данных, с которым будет работать задача, тогда как вторая вкладка используется для конфигурирования преобразования.

Первая вкладка окна (рис. 11.29) имеет следующие элементы управления:

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

О Source. Раскрывающийся список содержит перечень типов источников, ко торые могут использоваться для получения файла. В зависимости от того, какое значение выбрано в списке, будет изменяться набор элементов управ ления в расположенной ниже группе. Список содержит всего два значения:

Internet Site — в этом случае задача будет устанавливать соединение с ука • занным сайтом и выкачивать файл с него. При этом окно будет иметь вид, приведенный на рис. 11.28. Ниже рассмотрены элементы управления для конфигурирования выкачивания файла с сайта;

Directory — файл будет скачиваться из каталога на диске. Этим каталогом • также может быть ресурс локальной сети. При выборе в списке Source рассматриваемого значения в расположенной ниже группе будет иметься единственный элемент управления — Directory path, в котором следует выбрать каталог размещения необходимого файла.

Часть III. Администрирование Рис. 11.29. Окно свойств задачи File Transfer Protocol Task • FTP Site. В этом поле указывается адрес сайта в Интернете, с которого необ ходимо получить файлы. Помимо имени сайта также можно указать и ката лог, в котором расположены нужные файлы.

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

По умолчанию указано значение anonymous, т. е. соединение будет устанав ливаться с гостевыми правами.

П Password. Указывается пароль учетной записи, введенной в предыдущем по ле. Для учетной записи anonymous ввод пароля обычно не требуется.

• Number of retries. В этом поле можно указать количество попыток, которое задача будет пытаться соединиться с указанным сайтом. Если в течение этих попыток соединение не устанавливается, то задача заканчивается неудачно.

• Directory path. Используется для указания каталога, в котором будут сохра няться файлы, скачанные с сайта (в списке Source установлено значение Internet Site) или из каталога (в списке Source выбран вариант Directory) Можно указать не только локальный каталог, но и сетевой ресурс.

Когда все необходимые параметры на вкладке FTP Site будут указаны, можно переходить к вкладке FTP Transformation (рис. 11.30). С ее помощью пользова тель может выбрать конкретные файлы, которые необходимо скачать с выбран ного сайта (или каталога). При переходе на вкладку FTP Transformation будет предпринята попытка установления соединения с указанным сайтом для полу чения списка файлов. Если установить соединения не удается (например, имя Глава 11. Доступ к гетерогенным источникам данных сайта введено неверно или соединение с Интернетом недоступно), то будет вы дано соответствующее сообщение об ошибке.

Рис. 11.30. Окно свойств Properties File Transfer Protocol Task, вкладка FTP Transformation Основную часть вкладки FTP Transformation занимают два списка. С их помо щью пользователь может указать файлы, которые должны быть выкачаны. В левой части окна расположен список Source, в котором выводятся файлы, най денные на указанном в предыдущей вкладке ресурсе (сайте или каталоге). По мимо собственно файлов также выводятся и подкаталоги. Пользователь может войти в произвольный подкаталог и выбрать для копирования любой из распо ложенных в нем файлов. Однако переход на каталог, находящийся выше ука занного в поле FTP Site (или Directory Path), запрещен. Например, если необ ходимо скачать файл из каталога и в поле Directory Path указано значение C:\Windows\System32, то пользователь сможет выбрать для копирования любой из файлов, расположенных в каталоге C:\Windows\System32 или в любом из его подкаталогов любого уровня. Однако перейти на каталог C:\Windows (а тем бо. лее на С:\) в списке Source будет невозможно.

с Замечание Если при переходе на вкладку FTP Transformation установить соединение с указан ным ресурсом не удалось, то список Source будет пуст.

Список Destination предназначен для указания файлов, которые должны быть выкачаны. По умолчанию этот список пуст. Пользователь должен копировать из списка Source в список Destination имена тех файлов, которые должны быть 384 Часть III. Администрирование • продублированы в ходе выполнения задачи. Для помещения имен файлов как в список Destination, так и для удаления из него, предназначены кнопки, распо ложенные в центральной части вкладки между списками.

В ходе конфигурирования задачи список файлов на указанном ресурсе может измениться. Для обновления списка файлов достаточно нажать кнопку Refresh.

Под списком Destination имеется флажок Overwrite, установив который можно разрешить перезапись файлов, уже имеющихся на диске, новыми версиями.

Выбор этого флажка необходим, если предполагается многократное выполнение конфигурируемого пакета. То есть возможна ситуация, когда в каталоге, указан ном в поле Directory Path группы Destination вкладки FTP Site, будут существо вать все файлы, выбранные для копирования. В этом случае сохранить новые выкачанные файлы не удастся. Для решения данной проблемы и требуется ус тановить флажок Overwrite.

После того, как имена всех нужных файлов будут помещены в список Destination, конфигурирование задачи File Transfer Protocol Task можно считать оконченным. Теперь, при каждом выполнении пакета механизмы DTS будут устанавливать соединение с указанным ресурсом и выкачивать с него выбран ные файлы.

Задача ActiveX Script Task Задача ActiveX Script Task предназначена для выполнения преобразований дан ных с использованием возможностей скриптовых языков ActiveX. По умолча нию в распоряжении пользователей имеются языки VBScript и JavaScript. С по мощью рассматриваемой задачи можно:

П выполнять преобразование данных, копируемых от источника к получателю;

• создавать функции, которые будут контролировать протекание процесса вы полнения пакета;

П манипулировать объектами СОМ, предназначенными для обеспечения дос тупа к данным;

• создавать и использовать объекты ADO (ActiveX Data Objects), такие так со единение, команды, наборы строк и другие объекты для доступа и манипу лирования данными.

(~ Замечание ) Помимо двух указанных языков, устанавливаемых вместе с SQL Server 2000, поль зователи могут отдельно добавить компиляторы для дополнительных языков, на пример PerlScript.

Окно свойств задачи ActiveX Script Task имеет вид, подобный приведенному на рис. 11.31. Рассматриваемая задача содержит широчайшие возможности по пре образованию данных, предоставляя пользователям всю мощь скриптовых язы ков. Доступ к данным осуществляется с использованием функций и переменных DTS.

Глава 11. Доступ к гетерогенным источникам данных Рис. 1 1. 3 1. Окно свойств задачи ActiveX Script Task Поле Description, расположенное в верхней части вкладки, предназначено для указания имени, по которому конфигурируемая задача будет идентифицировать ся в пакете. Как уже было сказано, это имя должно быть уникальным в преде лах пакета.

Основную часть окна занимает поле, в котором пользователь должен указывать код на выбранном скриптовом языке. Код, предлагаемый по умолчанию, ничего не делает и лишь возвращает флаг успешного завершения работы задачи.

с Замечание Рассмотрение возможностей скриптовых языков ActiveX не входит в задачи этой книги. Данный материал настолько объемен, что достоин отдельного издания. Для получения информации об использовании языков VBScript и JavaScript следует об ратиться к дополнительным источникам информации, например, к электронной до кументации MSDN (Microsoft Developer Network).

Как уже было сказано, код, описывающий преобразования данных, может быть введен на различных языках. Выбор языка, на котором будет писаться код, про изводится с помощью раскрывающегося списка Language. По умолчанию этот список содержит всего два значения — VB Script Language и JavaScript Language. При выборе в списке Language того или иного языка не выполняется преобразование уже указанного кода в формат нового языка. Поэтому, при по следующей проверке синтаксиса будет выдано сообщение об ошибке. Тем не менее, для выбранного в списке Language языка сценариев можно сгенериро Часть III. Администрирование вать код по умолчанию, который будет следовать синтаксису этого языка. В сге нерированный код пользователь может вносить необходимые дополнения. Тем не менее, можно ввести весь код вручную. На рис. 11.31 приведен код, генери руемый по умолчанию для языка VBScript. Для генерирования кода по умолча нию можно нажать кнопку Auto Gen.

В левой части окна имеется список Functions, в котором перечислены все встро енные функции, доступные для языка, выбранного в списке Language. Этот список весьма объемен и рассмотрение его в данной книге заняло бы не один десяток страниц. Поэтому подробное рассмотрение функций и работы с ними оставляем для других изданий.

В поле Entry function указывается имя функции, которая будет считаться точкой входа в указанный код. То есть выполнение задачи будет начинаться с выполне ния функции, введенной в поле Entry function. По умолчанию в поле указывает ся значение Main. Соответственно, генерируемый по умолчанию код имеет единственную функцию, которая носит имя Main. Тем не менее, ничто не ме шает пользователю написать дополнительные функции.

Не трудно заметить, что элементы Language, Functions и Entry function располо жены на вкладке Language. Помимо этой вкладки, имеется еще и вкладка Browser, которая содержит список констант и глобальных переменных, исполь зуемых при выполнении пакета и задачи в частности. Вид окна свойств задачи с выбранной вкладкой Browser приведен на рис. ] 1.32.

Рис. 11.32. Окно свойств задачи ActiveX Script Task Глава 11. Доступ к гетерогенным источникам данных Помимо того, что пользователь может вводить текст кода вручную, он также может подгрузить готовый код, сохраненный на диске. Для этого нужно вос пользоваться кнопкой Browse. С другой стороны, введенный в окне код можно сохранить на диск для последующего применения или в качестве резервной ко пии. Для этого предназначена кнопка Save.

В распоряжении пользователя также имеется кнопке Parse, с помощью которой можно выполнить синтаксический анализ введенного кода. В принципе, подоб ный анализ выполняется и при закрытии окна свойств задачи с помощью кноп ки ОК. Однако удобно бывает выполнить подобный анализ и при написании кода. Нерассмотренной осталась только кнопка Undo. Она позволяет отменять одно или более последних действий, выполненных в окне свойств конфигури руемой задачи. Использование кнопок OK, Cancel и Help стандартно, и мы не будем лишний раз останавливаться на этом.

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


Задача Transform Data Task Рассматриваемая задача предназначена для выполнения копирования данных между двумя источниками данных. Один из этих источников выступает в каче стве импортера данных, тогда как второй — в качестве экспортера. Таким обра зом, для работы задачи необходимо сначала определить два источника данных, воспользовавшись объектами панели инструментов Data, которые были рас смотрены в одном из предыдущих разделов. Задача изображается в пакете не отдельной кнопкой, как это было для двух описанных выше задач, а в виде ли нии, соединяющей два источника данных (рис. 11.33).

Когда пользователь выбирает в панели инструментов Task значок задачи Transform Data Task, он должен будет сначала определить источник данных, ко торый будет выступать в роли экспортера (source), а затем источник данных, который будет рассматриваться как импортер (destination). В принципе, как им портер, так и экспортер могут быть выбраны до момента нажатия кнопки зада чи Transform Data Task в панели Task. Для этого необходимо в рабочей области пакета сначала выбрать источник данных, который будет рассматриваться как экспортер, а затем, удерживая нажатой кнопку клавиатуры Ctrl, выбрать им портера данных. После нажатия кнопки задачи Transform Data Task между вы бранными источниками данных будет установлена связь. Помимо использова ния панели Task, задача Transform Data Task может быть определена с помощью контекстного меню, если выбрано более одного источника данных. Окно свойств задачи Transform Data Task имеет вид, подобный приведенному на рис. 11.34. Как видно, оно имеет пять вкладок.

Часть III. Администрирование Рис. 11.33. Изображение в пакете задачи Transform Data Task Рис. 11.34. Окно свойств задачи Transform Data Task Глава 11. Доступ к гетерогенным источникам данных Определение исходных данных Первая из вкладок носит название Source и предназначена для определения ис точника, из которого будут получаться данные для копирования. Помимо элемен тов конфигурирования собственно источника, на вкладке имеется поле Description, в котором необходимо указать имя, присваиваемое создаваемой зада че. Напомним, что это имя должно быть уникально в пределах текущего пакета.

В поле Connection отображается имя объекта источника данных, который был вы бран в качестве экспортера данных при конфигурировании задачи Transform Data Task. Как видно, сменить источник данных после создания задачи невозможно.

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

При установке переключателя в положение Table/View в расположенном правее раскрывающемся списке пользователь должен будет задать имя таблицы или представления на выбранном источнике данных. Все данные, содержащиеся в указанной таблице или представлении, будут включены в процесс копирования.

Нажав кнопку Preview, с помощью окна View Data (рис. 11.35) можно просмот реть, какие данные содержатся в выбранной таблице или представлении, т. е.

подлежащие копированию. Однако следует учесть, что выводятся только первые 200 строк.

Рис. 11.35. Окно View Data Если необходимо получить данные на основе выполнения запроса, то нужно установить переключатель в положение SQL query. В этом случае станет дос тупным поле в центральной части вкладки, предназначенное для указания за проса, на основе которого будет подготавливаться набор данных для копирова ния. Более того, также становятся доступными кнопки Build Query, Browse и Parse Query. После того, как будет набран какой-нибудь текст в поле для ввода кода, станет доступной также и кнопка Parameters.

Часть III. Администрирование Пользователь может ввести код в поле несколькими способами:

• написать его вручную, в том числе и скопировав из буфера обмена;

• подгрузить готовый код из файла, воспользовавшись кнопкой Browse;

• создать код с помощью построителя запросов Query Builder.

Первые два способа особого интереса не представляют. Написание запросов SELECT, предназначенных для выборки данных, будет рассмотрено в главе 29.

Интерес же представляет использование инструмента Query Builder.

Построитель запросов Query Builder Для запуска Query Builder необходимо нажать кнопку Build Query. В ответ от кроется окно Data Transformation Services Query Designer (рис. 11.36).

Рис. 11.36. Окно Data Transformation Services Query Designer Все окно разделено на отдельные области (pane), каждая из которых имеет свое назначение:

• Table/View Pane. Эта область расположена в левой части окна и содержит список таблиц, представлений и функций, имеющихся в источнике данных, выбранном в качестве экспортера при определении задачи Transform Data Глава 11. Доступ к гетерогенным источникам данных Task. Для включения таблицы или представления в создаваемый запрос не обходимо перетащить ее из рассматриваемой области в область Diagram Pane.

• Diagram Pane. В данной области, расположенной в верхней части окна, ука зываются все таблицы, представления и функции, которые предполагается использовать для построения запроса. С помощью этой области можно раз решить или запретить включать те или иные столбцы с результат выборки, определить связь между столбцами таблицы, указать порядок сортировки, а также выполнить некоторые другие действия. Каждая таблица или представ ление отображается в виде самостоятельного объекта, имеющего список столбцов, определенных в соответствующей таблице или представлении. Ус тановка флажка слева от имени столбца приведет к включению этого столбца в результат выборки (включение в раздел SELECT). В контекстном меню столбца можно выбрать тип сортировки. Если выбрать команду Sort Ascending, то результат выборки будет отсортирован по возрастанию по соот ветствующему столбцу. Команда Sort Descending приводит к сортировке по убыванию. Определение упорядочивания по столбцу влечет за собой включе ние имени соответствующего столбца в раздел ORDER BY создаваемого запро са. Помимо всего прочего, можно определить отношения между столбцами двух таблиц. Для создания такого отношения необходимо нажать левую кнопку мыши на имени столбца и, не отпуская кнопки мыши, переместить курсор к имени столбца, с которым необходимо установить отношение. От ношения между таблицами определяются с помощью раздела JOIN. Измене ния, выполняемые в области Diagram Pane, немедленно отображаются в об ластях Grid Pane и SQL Pane.

П Grid Pane. Данная область является второй сверху, расположенной непосред ственно под областью Diagram Pane. Область Grid Pane позволяет выполнять частично те же задачи, что и предыдущая область, только в другой форме.

Тем не менее, включить таблицу или представление в создаваемый запрос можно только с помощью области Diagram Pane. Для включения столбца в запрос при работе с областью Diagram Pane необходимо было установить флажок слева от его имени, тогда как при работе с областью Grid Pane имя нужного столбца должно быть выбрано в столбце Column. Элемент этого столбца представляет собой раскрывающийся список, в котором перечисле ны имена столбцов всех таблиц, имеющихся в области Diagram Pane. Выбрав имя столбца в указанном раскрывающемся списке, вы тем самым включаете его в запрос. Однако при этом еще не ясно, какую роль станет играть стол бец — будет просто включен в результат выборки, будет служить критерием сортировки или использоваться для указания условия с целью ограничения диапазона строк, которые включаются в результат выборки. В колонке Alias можно указать псевдоним, который станет использоваться для соответст вующего столбца в результате выборки. Таким образом, с помощью псевдо нима можно выполнять изменение имени столбца. В колонке Table указыва ется имя таблицы, к которой принадлежит столбец. Хотя при выборе имени столбца в колонке Column имя столбца приводится с указанием имени таб лицы, впоследствии в колонке Column выводится только имя собственно 3Q2 Часть III. Администрирование столбца, тогда как имя таблицы отображается в колонке Table. В колонке Output имеется флажок, установка которого позволяет включить соответст вующий столбец в результат выборки. Данное действие аналогично установке флажка слева от имени столбца при работе с областью Diagram Pane. На помним, что это приводит к включению имени соответствующего столбца в раздел SELECT создаваемого запроса. С помощью колонки Sort Type можно выбрать тип сортировки, если предполагается использовать соответствующий столбец для определения критерия сортировки. В распоряжении пользовате ля имеется всего два значения — Ascending и Descending. При конфигуриро вании сортировки, помимо выбора ее типа, необходимо также задать очеред ность сортировки по выбранному столбцу. Очередность сортировки опреде ляется в колонке Sort Order. Если конфигурируемый столбец должен ис пользоваться для ограничения количества строк, которые необходимо вклю чить в результат выборки, то для этого можно воспользоваться колонкой Criteria. В ней необходимо указать условие, с которым будет сравниваться значение соответствующего столбца каждой строки. Если это условие вы полняется, то строка будет участвовать в дальнейших операциях выборки. В противном случае она исключается и далее нигде не фигурирует. Можно ука зать более одного условия, воспользовавшись колонками Or. Однако следует учитывать, что условия, вводимые в отдельные колонки, объединяются с по мощью оператора OR. Таким образом, строка будет включена в результат вы борки, если выполняется условие хотя бы в одной колонке. Для создания ус ловий, использующих оператор AND, необходимо определить единственную колонку и во вводимом в ней значении указывать оператор AND.

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


( Замечание ^ Подробное написание запроса SELECT будет рассмотрено в главе 29.

d Results Pane. В этой области можно просмотреть результат выборки, возвра щаемый после выполнения запроса. Таким образом, с помощью рассматривае мой области пользователь может сразу же увидеть, как те или иные изменения, выполняемые в трех описанных выше областях, отразятся на результате выбор ки. Данные, отображаемые в области Results Pane, будут рассматриваться как исходные данные при выполнении задачи Transform Data Task.

Мы перечислили все области окна Data Transformation Services Query Designer, существующие для работы. Однако не все эти области могут быть доступны од Глава 11. Доступ к гетерогенным источникам данных новременно. Непосредственно после открытия окна в распоряжении пользова теля будут лишь области Table/View Pane, Diagram Pane и SQL Pane. Остальные же две области будут скрыты. Дело в том, что пользователь может скрывать или показывать произвольные области, освобождая место в окне для более удобной работы. Для этого предназначены кнопки левой части панели инструментов.

Самая левая кнопка управляет областью Table/View Pane, вторая слева — обла стью Diagram Pane и т. д.

Дополнительные свойства запроса Мы рассмотрели работу непосредственно с областями. Однако при построении запроса можно также сконфигурировать дополнительные свойства, позволяю щие управлять некоторыми специфическими параметрами выполнения запроса.

Для управления этими параметрами используется окно Properties (рис. 11.37), открыть которое можно с помощью контекстного меню любой из областей (кроме Table/View Pane), выбрав в нем команду Properties.

РИС. 11.37. Окнао Properties, вкладка Query Окно Properties имеет две вкладки, первая из которых, Query, и приведена на рис. 11.37. Она содержит следующие элементы управления:

О Query name. В этом поле указывается имя запроса. При вызове построителя запросов из задачи, значение в этом поле доступно только в режиме чтения и особой роли не играет. Дело в том, что построение запросов требуется не только при конфигурировании задачи Transform Data Task, но и при выпол нении множества других задач. Поэтому был разработан единый интерфейс, который содержит и поле Query name. Однако при работе с задачей Transform Data Task имя запроса не играет никакой роли.

394 Часть III. Администрирование • Output all columns. При установке данного флажка в разделе SELECT созда ваемого запроса будет указан символ *, что приведет к включению в резуль тат выборки всех столбцов всех таблиц, включенных в область Diagram Pane.

• DISTINCT values. Установка этого флажка приведет к тому, что в раздел SELECT создаваемого запроса будет добавлено ключевое слово DISTINCT, ЧТО приведет к тому, что в результате выборки будут удалены все дублирующиеся строки. Таким образом можно обеспечить уникальность строк в результате выборки.

П GROUP BY extension. Флажок будет доступен только в том случае, если за прос строится с помощью группировки. При установке флажка GROUP BY extension при выполнении группировки станут использоваться дополнитель ные возможности, управлять которыми можно через перечисленные ниже элементы управления:

• WITH CUBE — в раздел GROUP BY будет добавлено WITH CUBE, ЧТО позво ляет включать в результат выборки итог по группам. Если используются функции агрегирования, таким образом, будет выполнено суперагрегиро вание;

• WITH ROLLUP — в раздел GROUP BY будет добавлено WITH ROLLUP, ЧТО также позволяет выполнять суперагрегирование данных;

ALL — при использовании этого параметра в результат выборки будут • включены все группы, независимо от того, соответствуют ли связанные с ними данные включенным в разделе WHERE условиям выборки. В строках, которые не соответствуют условиям выборки, во всех столбцах кроме тех, по которым выполняется группировка, будут выведены значения NULL.

( Замечание ^ Подробно выполнение группировки, а также использование дополнительных воз можностей группировки, будут рассмотрены в главе 29 при описании запроса SELECT. В этой же главе будет рассмотрено использование ключевых слов ТОР, PERCENT И WITH T I E S.

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

• REPCENT — при установке этого флажка количество строк, попадающих в результат выборки, будет задаваться в процентах от общего количества строк. Таким образом, значение в поле ТОР ДОЛЖНО находиться в пределах от 0 до 100;

WITH TIES — отметка этого флажка предписывает включить в результат • выборки дополнительные строки, имеющие то же значение в столбцах, указанных в разделе ORDER BY, ЧТО И последняя строка. Это достигается добавлением ключевого слова WITH T I E S В формируемый запрос.

Глава 11. Доступ к гетерогенным источникам данных • SQL Comment. В этом поле вводится комментарий, поясняющий суть дейст вий, выполняемых запросом. В принципе, в это поле может быть помещена любая информация, например, об авторе запроса и дате создания запроса.

Текст из поля SQL Comment помещается Source окна Transform Data Task Properties (см. рис. 11.34) в начале запроса в виде комментария.

На этом рассмотрение вкладки Query окна свойств запроса Properties можно считать оконченным. Следующая вкладка окна называется Parameters (рис. 11.38) и предназначена для управления параметризированными запросами.

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

Рис. 11.38. Окно Properties, вкладка Parameters Вкладка Parameters предназначена для задания символов, которые будут опре делять начало и конец параметра, а также для назначения символа исключения.

Все эти параметры конфигурируются с помощью трех текстовых полей, в кото рых должен быть указан единственный символ:

396 Часть III. Администрирование П Prefix characters. Указывается символ, который будет определять начало па раметра. По умолчанию никакой символ не определен и использование па раметризированных запросов не поддерживается. Предлагается использовать символы % или @.

П Suffix characters. Вводится символ, который будет определять конец парамет ра. Можно указать тот же символ, что и для начала параметра, хотя допуска ется использование и различных значений.

П Escape character. Символы, приведенные в двух предыдущих полях, становят ся зарезервированными и не могут использоваться в запросе непосредствен но, т. к. любая их последовательность после символа префикса будет вос приниматься как имя параметра. Однако, иногда бывает необходимо использовать символы, определяющие параметр, как самостоятельные. В этом случае нужно после символа префикса указать так называемый символ перехода (Escape-символ). В рассматриваемом поле задается символ, который будет восприниматься механизмами DTS в качестве символа перехода. Пред лагается использовать символ \.

Мы рассмотрели назначение всех элементов управления на вкладке Parameters.

Чаще всего для ограничения имени параметра служит символ % (как для начала, так и для конца параметра). Однако также можно использовать и символы [ и ] или { и }.

Замечание При работе с задачей Transform Data Task использование параметризированных за просов в том виде, в котором с ними работает построитель запросов, не поддержи вается. Тем не менее, построение параметризированных запросов возможно с по мощью глобальных переменных пакета, значения которых могут изменяться в ходе выполнения пакета.

На этом работа с окном свойств создаваемого запроса заканчивается. После того, как будет введен и весь код запроса, то окно Data Transformation Services Query Designer построителя запросов можно закрыть. Код, указанный в области SQL Pane, будет скопирован на вкладку Source окна Transform Data Task Properties (см. рис. 11.34). Помимо собственно кода, также может быть добавлен и комментарий, указанный в поле SQL Comment в окне свойств запроса Properties на вкладке Query (см. рис. 11.37).

( Замечание ) Указанный на вкладке Source код можно проверить на корректность синтаксиса, на жав кнопку Parse Query.

Как мы уже говорили, при работе с задачей Transform Data Task допускается применение параметризированных запросов. Однако для этой задачи значения параметров могут быть получены только из глобальных переменных пакета DTS, в котором определена задача. Для включения параметра в запрос достаточно указать символ ? в том месте, куда должно быть подставлено значение парамет ра. Обычно значение параметра подставляется в раздел WHERE, Т. е. параметр Глава 11. Доступ к гетерогенным источникам данных используется для создания динамически определяемого условия. Например, на вкладке Source можно указать следующий запрос:

SELECT * FROM authors WHERE (state = ?) Как видно, значение параметра будет определять штат, в котором проживают ин тересующие авторы. В одном запросе допускается указание множества парамет ров. Параметры задачи Transform Data Task не имеют имен, но нумеруются, начи ная с 1. Указав в запросе символ ?, мы тем самым требуем подстановки в соответствующее место запроса значения параметра. Однако необходимо опреде лить, откуда будут браться необходимые значения. Для связывания параметров с глобальными переменными пакета служит окно Parameter Mapping (рис. 11.39), открыть которое можно с помощью кнопки Parameters вкладки Source. Однако, это окно не появится, если в запросе не указано ни одного параметра.

Рис. 11.39. Окно Parameter Mapping Как видно, основную часть окна занимает таблица, с помощью которой и опре деляется соответствие параметров и глобальных переменных. Имена всех пара метров, (точнее их номера), используемых в запросе, указываются в столбце Parameters, тогда как имя соответствующей глобальной переменной, с которой будет связываться параметр, выбирается в столбце Input Global Variables, поле ко торого представляет собой раскрывающийся список, содержащий имена всех гло бальных переменных, определенных в пакете. Если нужная переменная еще не существует, то ее можно создать с помощью окна Global Variables (рис. 11.40), Часть III. Администрирование открыть которое можно с помощью кнопки Create Global Variables, находящейся в нижней части окна Parameter Mapping.

Рис. 11.40. Окно Global Variables Окно Global Variables содержит список всех глобальных переменных, опреде ленных в пакете. В этом же окне можно просмотреть значения, присвоенные переменным по умолчанию. В ходе выполнения эти значения могут изменяться.

Для этого могут использоваться различные механизмы, например, такие как задача ActiveX Script Task или задача Dynamic Properties Task.

Для создания новой переменной с помощью окна Global Variables необходимо в самой нижней пустой строке в столбце Name ввести имя, которое будет при своено переменной. В столбце Туре этой же строки выбирается тип данных, ко торый будет иметь создаваемая переменная. В распоряжении пользователя име ется множество различных типов данных, большая часть которых не является типами данных Transact-SQL. В столбце Value пользователь может установить значение, которое будет присваиваться создаваемой переменной сразу же после запуска пакета. Впоследствии значение этой переменной может изменяться. Од нако при следующем запуске пакета переменная снова будет иметь значение, указанное в столбце Value.

Как только новая переменная будет создана, необходимо в окне Parameter Mapping выбрать ее имя в столбце Input Global Variables для соответствующего параметра. После того, как будет установлена связь всех параметров с необхо димыми глобальными переменными, конфигурирование запроса можно считать законченным.

Глава 11. Доступ к гетерогенным источникам данных В целом мы рассмотрели использование вкладки Source окна свойств задачи Transform Data Task. Теперь же можно переходить к рассмотрению следующей вкладки.

Определение получателя данных Вторая вкладка окна свойств задачи Transform Data Task называется Destination (рис. 11.41) и, как следует из названия, предназначена для определения получа теля данных.

Рис. 1 1. 4 1. Окно Transform Data Task Properties, вкладка Destination В поле Connection указывается имя источника данных, сконфигурированного в пакете и рассматриваемого в пределах текущей задачи в качестве импортера данных. Весь набор данных, подготовленный на вкладке Source, будет скопиро ван в указанную на вкладке Destination таблицу. Имя этой таблицы выбирается в раскрывающемся списке Table name, который содержит имена всех таблиц, имеющихся на указанном источнике данных.

Центральную часть вкладки занимает область, в которой перечисляются все столбцы, имеющиеся в таблице, выбранной в раскрывающемся списке Table name. Для каждого столбца отображается его имя, тип данных, возможность хранения значений NULL, размер и точность (для нецелочисленных типов дан ных). С помощью этой информации можно увидеть, соответствует ли формат данных, подготовленных для копирования с помощью вкладки Source, структу ре таблицы, в которую их предполагается закачать. В принципе, точного совпа дения типов не требуется, если между типом данных источника и получателя допускается явное или неявное преобразование. В частности, если исходные 14 3KIJ Часть III. Администрирование данные имеют тип данных smaiidatetime, то вполне допустимо, чтобы соответ ствующий столбец таблицы получателя имел тип данных datetime. Более того, также допускается, например, помещение данных типа i n t в столбец с типом данных char (Ю).

Таким образом, указывая тип данных, отличный от исходного, с помощью зада чи Transform Data Task можно выполнить простое преобразование данных. Од нако выполнение более сложных операций, требующих использования функций или значений из нескольких столбцов, невозможно без использования скрипто вых языков.

Ранее было сказано, что таблица, в которую будут закачиваться данные, выби рается с помощью раскрывающегося списка Table name. Но помимо выбора уже существующей таблицы, пользователь также может создать новую. Для этого достаточно нажать кнопку Create справа от списка Table name. В ответ откроет ся окно Create Destination Table (рис. 11.42) с указанием кода команды CREATE TABLE, с помощью которого и будет выполняться создание новой таблицы.

Замечание Окно Create Destination Table может применяться для получения информации о формате исходных данных. То есть можно просто просмотреть, какие названия столбцов и типы данных предлагается использовать, а затем нажать кнопку Cancel.

При этом новая таблица создана не будет.

Рис. 11.42. Окно Create Destination Table Структура новой таблицы, точнее код, предлагаемый в окне по умолчанию, формируется на основе формата данных, подготовленных с помощью вкладки Source. Таким образом, количество столбцов, их порядок, название, тип данных и другие свойства полностью соответствуют аналогичным параметрам исходных данных. Тем не менее, пользователь может вносить в приведенный код любые исправления, изменяя тем самым структуру создаваемой таблицы.

Замечание Подробно создание таблиц, а также синтаксис команды CREATE TABLE будут рас смотрены в главе 22.

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

Можно переходить к рассмотрению следующей вкладки.

Конфигурирование преобразования данных В предыдущих разделах были рассмотрены две вкладки окна свойств задачи Transform Data Task, с помощью которых выбирается источник и получатель данных. Следующая, третья вкладка окна свойств называется Transformations (рис. 11.43) и предназначена для определения того, как должен происходить процесс копирования данных. Пользователь должен определить, какой столбец исходного набора данных в какой столбец выбранной таблицы получателя будет копироваться. Более того, в процессе копирования можно использовать сцена рии скриптовых языков ActiveX, что позволяет выполнять в ходе дублирования довольно сложные преобразования данных.

Рис. 11.43. Окно Transform Data Task Properties, вкладка Transformations В верхней части вкладки имеется раскрывающийся список Name, в котором вы бирается имя преобразования, с которым предполагается работать. В SQL Server 7.0 можно было работать с единственным набором преобразований. В SQL Server 2000 для задачи Transform Data Task разрешается последовательное выполнение множества преобразований. Таким образом, если предполагается скопировать данные несколько раз между двумя таблицами с использованием различных преобразований, то все это можно сделать в пределах одной задачи, а не создавать множество, как это было в SQL Server 7.0.

14* 402 Часть III. Администрирование В списке Source, размещенном в левой части вкладки, указываются имена всех столбцов исходного набора данных, подготовленного с помощью вкладки Source. Список Destination содержит перечень столбцов таблицы, выбранной на вкладке Destination в качестве получателя данных. Связь между исходным столбцом и столбцом-получателем задается в виде соединительной линии. По умолчанию выполняется копирование всех столбцов исходного набора данных во все столбцы таблицы получателя, т. е. первый столбец исходных данных свя зывается с первым столбцом таблицы получателя, второй — со вторым и т. д.

(~ Замечание ^ Количество столбцов, их название и типы данных в списках Source и Destination могут не совпадать. Тем не менее, по умолчанию все же выстраивается связь пер вого столбца списка Source с первым столбцом списка Destination, второго — со вторым и т. д. Если количество столбцов неодинаково, то лишние столбцы остаются несвязанными и в процесс копирования не включаются.

Таким образом, количество преобразований в задаче можно подсчитать по ко личеству соединительных линий между списками Source и Destination на вклад ке Transformations. По умолчанию для каждой пары связываемых столбцов соз дается отдельное преобразование, для которого указывается имя DTSTransformationN, где вместо символа N подставляет номер преобразования.

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

Преобразования при выполнении задачи производятся последовательно, а не одновременно. Таким образом, сначала осуществляется копирование данных между столбцами, определенными в первом преобразовании, затем во втором, третьем и т. д.



Pages:     | 1 |   ...   | 9 | 10 || 12 | 13 |   ...   | 33 |
 





 
© 2013 www.libed.ru - «Бесплатная библиотека научно-практических конференций»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.