Поделиться через


Образец пакета AWDataWarehouseRefresh

Образец пакета AWDataWarehouseRefresh показывает, как создавать и заполнять пользовательские таблицы новой базы данных AdvWorksDWX, используя данные из базы AdventureWorks. Для создания этих таблиц выполняются несколько сценариев языка Transact-SQL, после чего запускается несколько задач «Выполнение SQL» для заполнения этих таблиц.

ms160706.note(ru-ru,SQL.90).gifВажно!
Образцы предназначены только для обучения. Они не предназначены для использования в рабочей среде и не тестировались в ней. Корпорация Майкрософт не предоставляет техническую поддержку для этих образцов.

Требования

Для запуска образца пакета требуется следующее.

  • Образец пакета и используемые им файлы данных должны быть установлены на локальном диске.
  • Необходимо установить базу данных AdventureWorks OLTP и иметь на нее права администратора.
  • Если необходимо запускать образец пакета только из командной строки, следует установить службы SQL Server 2005 Integration Services (SSIS).
  • Если необходимо открывать пакет в конструкторе служб SSIS и запускать образец пакета, нужно установить среду Business Intelligence Development Studio.

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

Файл Описание

AWDWRefresh.dtsx

Образец пакета.

Дополнительные сведения по установке образцов см. в разделе «Установка образцов пакетов служб Integration Services» электронной документации SQL Server 2005. Чтобы получить последнюю версию образцов, включая новые, выпущенные после исходной версии SQL Server 2005, см. веб-страницу «Образцы SQL Server 2005 и образцы баз данных (апрель 2006 г.)».

Размещение образца пакета

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

C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Package Samples\AWDataWarehouseRefresh\

ms160706.note(ru-ru,SQL.90).gifПримечание.
Если место установки проекта изменилось, нужно обновить переменные BasePath и DataFilePath в пакете.

Запуск образца

Пакет можно запустить из командной строки с помощью программы dtexec или выполнить в среде Business Intelligence Development Studio.

Выполнение пакета при помощи программы dtexec

  1. Откройте окно командной строки.

  2. Используйте команду Сменить каталог, cd для перехода в каталог программы dtexec «C:\Program Files\Microsoft SQL Server\90\DTS\Binn».

  3. Введите следующую команду:

    dtexec /f "C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Package Samples\AWDataWarehouseRefresh\AWDataWarehouseRefresh\AWDWRefresh.dtsx"
    
  4. Нажмите клавишу ВВОД.

Дополнительные сведения о запуске пакета с помощью программы dtexec см. в разделе «Программа dtexec» электронной документации по SQL Server 2005.

Запуск пакета в среде Business Intelligence Development Studio

  1. Откройте среду Business Intelligence Development Studio.

  2. В меню Файл выберите пункт Открыть, а затем выберите Проект или решение.

  3. Выберите в списке Файлы типа: значение файлы проектов служб Integration Services (*.dtproj), найдите папку AWDataWarehouseRefresh , затем дважды щелкните файл AWDataWarehouseRefresh.dtproj.

  4. В обозревателе решений щелкните правой кнопкой мыши файл AWDWRefresh.dtsx в папке SSIS Packages и выберите команду Выполнить пакет.

Компоненты образца

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

Можно просмотреть объекты пакета, выбрав любой объект на вкладке «Поток управления» и нажав клавиши Shift+TAB для последовательного перемещения по объектам. Также можно посмотреть крупномасштабный план пакета, нажав четырехстороннюю стрелку указателя в нижнем правом углу области конструктора потока управления, а затем перемещая окно просмотра по пакету.

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

Группа баз данных и таблиц

Группа Базы данных и таблицы содержит контейнер последовательности, контейнер «цикл по каждому элементу» и задачу «Выполнение SQL». В свою очередь эти контейнеры содержат задачи, перечисленные в этой таблице.

Элемент Назначение

Контейнер последовательности

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

Задача «Выполнение SQL»

Задача «Выполнение SQL» с именем Удаление базы данных удаляет все существующие экземпляры AdvWorksDWX.

Задача «Выполнение SQL»

Задача «Выполнение SQL» с именем Создание базы данных создает новую базу данных AdvWorksDWX.

Задача «Выполнение SQL»

Задача «Выполнение SQL» с именем Настройка параметров базы данных выполняет инструкцию ALTER DATABASE.

Контейнер «цикл по каждому элементу»

Контейнер «цикл по каждому элементу» с именем Создание таблиц содержит задачу «Выполнение SQL», которая запускает инструкции SQL из файлов, совпадающих с маской файлов CreateTable-*.sql.

Задача «Выполнение SQL»

Создает таблицы в базе данных AdvWorksDWX, запуская инструкции SQL из файлов, заданных в контейнере «цикл по каждому элементу».

Задача «Выполнение SQL»

Задача «Выполнение SQL» с именем Создание функции udfMinimumDate создает пользовательскую функцию, используя прямой ввод инструкции SQL.

Группа временных таблиц

Группа Временные таблицы содержит два цикла Foreach, каждый из которых содержит задачу «Выполнение SQL», циклически проходящую по инструкциям SQL файлов. Расположение папки, содержащей эти файлы, определяется диспетчером подключения файлов.

Элемент Назначение

Контейнер «цикл по каждому элементу»

Контейнер «цикл по каждому элементу» под названием Удаление временных таблиц содержит задачу «Выполнение SQL», которая запускает инструкции SQL из файлов, совпадающих с маской файлов DropTempTable-*.sql.

Задача «Выполнение SQL»

Удаляет временные таблицы в базе данных AdventureWorks, запустив инструкции SQL из файлов, заданных в контейнере «цикл по каждому элементу».

Контейнер «цикл по каждому элементу»

Контейнер «цикл по каждому элементу» под названием Создание временных таблиц содержит задачу «Выполнение SQL», которая запускает инструкции SQL из файлов, совпадающих с маской файлов CreateTempTable-*.sql.

Задача «Выполнение SQL»

Создает временные таблицы в базе данных AdventureWorks, запустив инструкции SQL из файлов, заданных в контейнере «цикл по каждому элементу».

Группа загрузки временных таблиц

Группа Загрузка временных таблиц содержит семь задач массовой вставки, загружающих данные из CSV-файлов во временные таблицы базы данных AdventureWorks.

Элемент Назначение

Задача «Массовая вставка»

Задача «Массовая вставка» с именем Массовая вставка в tempProductSubcategory-ForeignNames вставляет данные во временную таблицу.

Задача «Массовая вставка»

Задача «Массовая вставка» с именем Массовая вставка в tempProduct-ForeignNames вставляет данные во временную таблицу.

Задача «Массовая вставка»

Задача «Массовая вставка» с именем Массовая вставка в tempStore-MinPayment вставляет данные во временную таблицу.

Задача «Массовая вставка»

Задача «Массовая вставка» с именем Массовая вставка в tempProductCategory-ForeignNames вставляет данные во временную таблицу.

Задача «Массовая вставка»

Задача «Массовая вставка» с именем Массовая вставка в tempCustomer-YearlyIncome вставляет данные во временную таблицу.

Задача «Массовая вставка»

Задача «Массовая вставка» с именем Массовая вставка в tempIndividual-ForeignData вставляет данные во временную таблицу.

Задача «Массовая вставка»

Задача «Массовая вставка» с именем Массовая вставка в tempSpecialOffer-ForeignData вставляет данные во временную таблицу.

Группа создания ключей и индексов

Группа Создание ключей и индексов содержит четыре задачи «Выполнение SQL», соединенных ограничениями очередностью, а также контейнер «цикл по каждому элементу».

Элемент Назначение

Задача «Выполнение SQL»

Задача «Выполнение SQL» с именем Добавление первичных ключей создает первичные ключи новых таблиц в AdvWorksDWX.

Задача «Выполнение SQL»

Задача «Выполнение SQL» с именем Добавление индексов индексирует новые таблицы в AdvWorksDWX.

Задача «Выполнение SQL»

Задача «Выполнение SQL» с именем Добавление ограничений внешнего ключа добавляет ограничения к новым таблицам в AdvWorksDWX.

Задача «Выполнение SQL»

Задача «Выполнение SQL» с именем Удаление функции udfMinimumDate удаляет пользовательские функции из AdvWorksDWX.

Контейнер «цикл по каждому элементу»

Контейнер «цикл по каждому элементу» с именем Удаление временных таблиц 1 содержит задачу «Выполнение SQL», которая запускает инструкции SQL из файлов, совпадающих с маской файлов DropTempTable-*.sql.

Задача «Выполнение SQL»

Удаляет временные таблицы из базы данных AdventureWorks, запустив инструкции SQL из файлов, заданных в цикле по каждому элементу.

Несгруппированные задачи

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

Элемент Назначение

Задача «Массовая вставка»

Задача «Массовая вставка» с именем Массовая вставка в FactFinance загружает данные из CSV-файла в таблицу фактов в AdvWorksDWX.

Задача «Массовая вставка»

Задача «Массовая вставка» с именем Массовая вставка в DimAccount загружает данные из CSV-файла в таблицу измерения в AdvWorksDWX.

Задача «Массовая вставка»

Задача «Массовая вставка» с именем Массовая вставка в AdventureWorksDWBuildVersion обновляет данные о версии в хранилище данных в AdvWorksDWX.

Задача «Поток данных»

Задача «Поток данных» — DimPromotion содержит источник OLE DB и адресат SQL Server. Этот поток данных запускает запрос к базе данных AdventureWorks для идентификации методов продвижения и записывает результаты в таблицу измерения в AdvWorkDWX.

Задача «Массовая вставка»

Задача «Массовая вставка» с именем Массовая вставка в DimOrganization загружает данные из CSV-файла в таблицу измерения в AdvWorksDWX.

Задача «Поток данных»

Задача «Поток данных» — DimSalesReason содержит источник OLE DB и адресат SQL Server. Поток данных запускает запрос к базе данных AdventureWorks для поиска причин покупки и записывает результаты в таблицу измерения в AdvWorkDWX.

Задача «Поток данных»

Задача «Поток данных» — DimReseller содержит источник OLE DB, преобразование «Преобразование данных» и адресат SQL Server. Поток данных выполняет сложный запрос, включающий условные инструкции и уточняющие запросы, к базе данных AdventureWorks и записывает результаты в таблицу измерения в AdvWorksDWX.

Задача «Поток данных»

Задача «Поток данных», Задача «Поток данных» — DimEmployee содержит источник OLE DB и адресат SQL Server. Поток данных выполняет уточняющий запрос в таблице «Кадры», присваивает идентификаторы менеджерам по продажам и записывает результаты в таблицу измерения в AdvWorksDWX.

Задача «Поток данных»

Задача «Поток данных» — DimCurrency содержит источник OLE DB и адресат SQL Server. Поток данных извлекает данные из таблицы валют, меняет названия столбцов и записывает данные в таблицу измерения в AdvWorksDWX.

Задача «Массовая вставка»

Задача «Массовая вставка» с именем Массовая вставка в DimScenario загружает данные из CSV-файла в таблицу измерения в AdvWorksDWX.

Задача «Массовая вставка»

Задача «Массовая вставка» с именем Массовая вставка в DimTime загружает данные из CSV-файла в таблицу измерения в AdvWorksDWX.

Задача «Поток данных»

Задача «Поток данных» — FactSalesQuota содержит источник OLE DB и адресат SQL Server. Поток данных извлекает квоты для продавцов и обновляет таблицу фактов AdvWorksDXW.

Задача «Поток данных»

Задача «Поток данных» — FactCurrencyRate содержит источник OLE DB и адресат SQL Server. Поток данных извлекает и преобразует данные о валютах с помощью инструкций SQL и обновляет таблицу фактов AdvWorksDXW.

Задача «Поток данных»

Задача «Поток данных» — DimProduct содержит источник OLE DB и адресат SQL Server. Поток данных выполняет сложную обработку данных временных таблиц при помощи инструкций SQL, затем обновляет таблицу измерения в ADvWorksDWX.

Задача «Поток данных»

Задача «Поток данных» — DimProductCategory содержит источник OLE DB и адресат SQL Server. Поток данных преобразует иностранные категории продуктов в английские имена категорий и обновляет таблицу измерения в ADvWorksDWX.

Задача «Поток данных»

Задача «Поток данных» — DimProductsSubcategory содержит источник OLE DB и адресат SQL Server. Поток данных извлекает преобразования для подкатегорий продуктов из ссылочной таблицы и обновляет таблицу измерения в ADvWorksDWX.

Задача «Поток данных»

Задача «Поток данных» — DimGeography содержит источник OLE DB и адресат SQL Server. Поток данных ищет адреса в ссылочной таблице и записывает результаты в таблицу измерения в AdvWorksDWX.

Задача «Поток данных»

Задача «Поток данных» — DimCustomer содержит источник OLE DB и адресат SQL Server. Поток данных получает данные из нескольких источников — из измерения DimGeography и двух временных таблиц — и извлекает данные для обновления таблицы измерения в AdvWorksDWX.

Задача «Поток данных»

Задача «Поток данных» — FactInternetSalesReason содержит источник OLE DB и адресат SQL Server. Поток данных извлекает данные из AdventureWorks и обновляет таблицу фактов в AdvWorksDWX.

Задача «Поток данных»

Задача «Поток данных» — DimSalesTerritory 1 содержит источник OLE DB и адресат SQL Server. Поток данных ищет региональные коды территорий и записывает результаты в таблицу измерения в AdvWorksDWX.

Задача «Поток данных»

Задача «Поток данных» — DimSalesTerritory 2 содержит источник OLE DB и адресат SQL Server. Поток данных добавляет сопоставление страны или региона с данными, обработанными предыдущим потоком данных.

Задача «Поток данных»

Задача «Поток данных» — DimDepartmentGroup содержит источник OLE DB и адресат SQL Server. Поток данных меняет все имена групп на Corporate и записывает значения в таблицу измерения в AdvWorksDWX.

Задача «Поток данных»

Задача «Поток данных» — DimDepartmentGroup 1 содержит источник OLE DB и адресат SQL Server. Поток данных ищет имена групп в таблице «Кадры» и обновляет значения в таблице измерения в AdvWorksDWX.

Задача «Поток данных»

Задача «Поток данных» — FactInternetSales содержит источник OLE DB и адресат SQL Server. Поток данных принимает несколько входов от других задач, включая новую созданную пользовательскую функцию, и обновляет таблицу фактов в базе данных AdvWorksDWX.

Задача «Поток данных»

Задача «Поток данных» — FactResellerSales содержит источник OLE DB и адресат SQL Server. Поток данных принимает несколько входов от других задач, включая новую созданную пользовательскую функцию, и обновляет таблицу фактов в базе данных AdvWorksDWX.

Результаты образца

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

Вывод образца:

Программа выполнения пакетов Microsoft (R) SQL Server.

32-разрядная версия 9.00.xxxx

© Корпорация Майкрософт, 1984-2005.

Начало: 13:03:24

Выполнение: 2005-04-12 13:03:35.14

Источник: Задача «Выполнение SQL»

Выполнение запроса «IF EXISTS (SELECT * FROM [sys].[tables] WHERE [nam».: 100% завершено

Завершено

Выполнение: 2005-04-12 13:03:35.15

Источник: Задача «Выполнение SQL»

Выполнение запроса «IF EXISTS (SELECT * FROM [sys].[tables] WHERE [nam».: 100% завершено

Завершено

Выполнение: 2005-04-12 13:05:43.77

Источник: добавление индексов

Выполнение запроса «CREATE UNIQUE INDEX [AK_DimAccount_AccountCodeAlte».: 100% завершено

Завершено

Выполнение: 2005-04-12 13:05:46.00

Источник: добавление ограничений внешнего ключа

Выполнение запроса «ALTER TABLE [dbo].[DimAccount] ADD

CONSTRAINT [F».: 100% завершено

Завершено

DTExec: В процессе выполнения пакета возвращено значение DTSER_SUCCESS (0).

Начало: 13:03:24

Готово: 13:05:46

Прошло: 141 969 секунд