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


Преобразование "Уточняющий запрос" в режиме полного кэширования — диспетчер подключений кэша

Область применения: среда выполнения интеграции SSIS SQL Server в Фабрика данных Azure

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

Примечание.

Диспетчер соединений с кэшем не поддерживает типы данных больших двоичных объектов: DT_TEXT, DT_NTEXT и DT_IMAGE. Если ссылочный набор данных содержит данные типа BLOB, то при попытке выполнения пакета компонент завершится сбоем. Редактор диспетчера соединений с кэшем можно использовать для изменения типов данных столбцов. Дополнительные сведения см. в разделе Cache Connection Manager Editor.

Преобразование «Уточняющий запрос» выполняет уточняющие запросы, соединяя данные из входных столбцов подключенного источника данных и данные из столбцов в эталонном наборе данных. Дополнительные сведения см. в разделе Lookup Transformation.

Чтобы создать эталонный набор данных, используется один из следующих методов.

  • Файл кэша (CAW)

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

  • Подключенный источник данных в потоке данных

    Используется преобразование «Преобразование кэша» для записи данных из подключенного источника данных в поток данных с помощью диспетчера соединений с кэшем. Данные всегда сохраняются в памяти.

    Необходимо добавить преобразование «Уточняющий запрос» к отдельному потоку данных. Это позволяет использовать преобразование «Преобразование кэша» для заполнения данными диспетчера соединений с кэшем перед выполнением преобразования «Уточняющий запрос». Потоки данных могут находиться в том же пакете или в двух разных пакетах.

    Если потоки данных находятся в одном и том же пакете, чтобы подключить потоки данных, используется управление очередностью. Это позволяет запустить преобразование «Преобразование кэша» до выполнения преобразования «Уточняющий запрос».

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

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

  • Настроить преобразования «Уточняющий запрос» в единственном пакете для использования одного и того же диспетчера соединений с кэшем.

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

Дополнительные сведения см. в следующих разделах:

Видеоматериал, в котором показано, как реализовать преобразование "Уточняющий запрос" в режиме полного кэширования с помощью диспетчера подключений с кэшем, см. в статье Как реализовать преобразование "Уточняющий запрос" в режиме полного кэширования (видеоматериал по SQL Server).

Реализация преобразования «Уточняющий запрос» в режиме полного кэширования в одном пакете с использованием диспетчера соединений с кэшем и источника данных в потоке данных

  1. В SQL Server Data Tools (SSDT) откройте проект служб Integration Services и откройте пакет.

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

  3. В первом потоке данных добавьте преобразование «Преобразование кэша», а затем подключите это преобразование к источнику данных.

    При необходимости настройте источник данных.

  4. Дважды щелкните "Преобразование кэша", а затем в окне Редактор преобразований кэшана странице Диспетчер соединений щелкните Создать , чтобы создать новый диспетчер соединений с кэшем.

  5. Перейдите на вкладку Столбцы диалогового окна Редактор диспетчера соединений с кэшем и с помощью параметра Значение индекса укажите, какие столбцы являются индексными столбцами.

    Для неиндексированных столбцов позиция индекса равна 0. Для индексированных столбцов позиция индекса является положительным порядковым номером.

    Примечание.

    Если преобразование «Уточняющий запрос» настроено для использования диспетчера соединений с кэшем, то только индексированные столбцы в ссылочном наборе данных могут быть сопоставлены с входными столбцами. Кроме того, все столбцы индекса должны быть сопоставлены. Дополнительные сведения см. в разделе Cache Connection Manager Editor.

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

    • Выберите Использовать кэш файлов.

    • В поле Имя файлавведите имя файла или нажмите кнопку Обзор и выберите файл.

      Если ввести путь к несуществующему файлу, то система создаст файл только при выполнении пакета.

    Примечание.

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

  7. При необходимости настройте преобразование кэша. Дополнительные сведения см. в разделах Редактор преобразования "Кэш" (страница "Диспетчер соединений") и Редактор преобразования "Кэш" (страница "Сопоставления").

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

    1. Подключите преобразование «Уточняющий запрос» к потоку данных, перетащив соединитель из источника или предыдущего преобразования в преобразование «Уточняющий запрос».

      Примечание.

      Преобразование «Уточняющий запрос» может не пройти проверку, если оно соединено с неструктурированным файлом, в котором содержится пустое поле данных. Успешность проверки преобразования зависит от того, включено ли в диспетчере соединений для неструктурированного файла сохранение значений NULL. Чтобы гарантировать успешность проверки преобразования «Уточняющий запрос», выберите в редакторе источника «неструктурированный файл»на странице Диспетчер соединенийпараметр Оставлять значения NULL из источника в потоке данных .

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

    3. Дважды щелкните преобразование "Уточняющий запрос", а затем в окне Редактор преобразования "Уточняющий запрос"на странице Общие выберите Полное кэширование.

    4. В области Тип соединения выберите Диспетчер соединений с кэшем.

    5. В списке Укажите метод обработки строк без совпадающих элементов выберите параметр обработки ошибок.

    6. На странице Соединение выберите диспетчер соединений с кэшем в списке Диспетчер соединений с кэшем .

    7. Перейдите на страницу Столбцы и перетащите хотя бы один из столбцов в списке Доступные входные столбцы в столбец из списка Доступные столбцы подстановки .

      Примечание.

      Преобразование «Уточняющий запрос» автоматически сопоставляет столбцы, которые обладают одинаковыми названиями и типами данных.

      Примечание.

      Типы данных сопоставляемых столбцов должны совпадать. Дополнительные сведения см. в разделе Integration Services Data Types.

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

    9. Чтобы настроить вывод ошибок, перейдите на страницу Вывод ошибок и задайте параметры обработки ошибок. Дополнительные сведения см. в разделе Редактор преобразования "Уточняющий запрос" (страница "Вывод ошибок").

    10. Чтобы сохранить изменения в преобразовании «Уточняющий запрос», нажмите кнопку ОК .

  9. Запустите пакет.

Реализация преобразования «Уточняющий запрос» в режиме полного кэширования в двух пакетах с использованием диспетчера соединений с кэшем и источника данных в потоке данных

  1. В SQL Server Data Tools (SSDT) откройте проект служб Integration Services и откройте два пакета.

  2. На вкладке «Поток управления» в каждом пакете добавьте задачу потока данных.

  3. В родительском пакете добавьте к потоку данных преобразование «Преобразование кэша», а затем подключите преобразование к источнику данных.

    При необходимости настройте источник данных.

  4. Дважды щелкните "Преобразование кэша", а затем в окне Редактор преобразований кэшана странице Диспетчер соединений щелкните Создать , чтобы создать новый диспетчер соединений с кэшем.

  5. В окне Редактор диспетчера соединений с кэшемна вкладке Общие настройте диспетчер соединений с кэшем. Для этого задайте следующие параметры.

    • Выберите Использовать кэш файлов.

    • В поле Имя файлавведите имя файла или нажмите кнопку Обзор и выберите файл.

      Если ввести путь к несуществующему файлу, то система создаст файл только при выполнении пакета.

    Примечание.

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

  6. Перейдите на вкладку Столбцы , а затем задайте, какие столбцы будут столбцами индекса, с помощью параметра Позиция индекса .

    Для неиндексированных столбцов позиция индекса равна 0. Для индексированных столбцов позиция индекса является положительным порядковым номером.

    Примечание.

    Если преобразование «Уточняющий запрос» настроено для использования диспетчера соединений с кэшем, то только индексированные столбцы в ссылочном наборе данных могут быть сопоставлены с входными столбцами. Кроме того, все столбцы индекса должны быть сопоставлены. Дополнительные сведения см. в разделе Cache Connection Manager Editor.

  7. При необходимости настройте преобразование кэша. Дополнительные сведения см. в разделах Редактор преобразования "Кэш" (страница "Диспетчер соединений") и Редактор преобразования "Кэш" (страница "Сопоставления").

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

    • Запустите родительский пакет.

    • Дважды щелкните диспетчер соединений с кэшем, созданный в шаге 4, нажмите кнопку Столбцы, выделите строки, а затем нажмите клавиши CTRL + C, чтобы скопировать метаданные столбца.

  9. В дочернем пакете создайте диспетчер соединений с кэшем. Для этого щелкните правой кнопкой мыши в области Диспетчеры соединений , нажмите кнопку Создать соединение, выберите значение CACHE в диалоговом окне Добавление диспетчера соединений служб SSIS , а затем нажмите кнопку Добавить.

    Область диспетчер подключений отображается в нижней части потока управления, Поток данных и вкладки обработчиков событий конструктора служб Integration Services.

  10. В окне Редактор диспетчера соединений с кэшемна вкладке Общие настройте диспетчер соединений с кэшем на считывание данных из выбранного файла кэша. Для этого задайте следующие параметры.

    • Выберите Использовать кэш файлов.

    • В поле Имя файлавведите имя файла или нажмите кнопку Обзор и выберите файл.

    Примечание.

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

  11. Если в шаге 8 были скопированы метаданные столбца, нажмите кнопку Столбцы, выберите пустую строку, а затем нажмите клавиши CTRL + V, чтобы вставить метаданные столбца.

  12. Добавьте преобразование «Уточняющий запрос» и настройте преобразование, выполнив следующие действия.

    1. Подключите преобразование «Уточняющий запрос» к потоку данных, перетащив соединитель из источника или предыдущего преобразования в преобразование «Уточняющий запрос».

      Примечание.

      Преобразование «Уточняющий запрос» может не пройти проверку, если оно соединено с неструктурированным файлом, в котором содержится пустое поле данных. Успешность проверки преобразования зависит от того, включено ли в диспетчере соединений для неструктурированного файла сохранение значений NULL. Чтобы гарантировать успешность проверки преобразования «Уточняющий запрос», выберите в редакторе источника «неструктурированный файл»на странице Диспетчер соединенийпараметр Оставлять значения NULL из источника в потоке данных .

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

    3. Дважды щелкните преобразование "Уточняющий запрос", а затем выберите Полное кэширование на странице Общее окна Редактор преобразования "Уточняющий запрос".

    4. Выберите Диспетчер соединений с кэшем в области Тип соединения .

    5. Выберите параметр обработки ошибок для строк без совпадающих записей из списка Укажите метод обработки строк без совпадающих элементов .

    6. На странице Соединение выберите из списка Диспетчер соединений с кэшем добавленный диспетчер соединений с кэшем.

    7. Перейдите на страницу Столбцы и перетащите хотя бы один из столбцов в списке Доступные входные столбцы в столбец из списка Доступные столбцы подстановки .

      Примечание.

      Преобразование «Уточняющий запрос» автоматически сопоставляет столбцы, которые обладают одинаковыми названиями и типами данных.

      Примечание.

      Типы данных сопоставляемых столбцов должны совпадать. Дополнительные сведения см. в разделе Integration Services Data Types.

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

    9. Чтобы настроить вывод ошибок, перейдите на страницу Вывод ошибок и задайте параметры обработки ошибок. Дополнительные сведения см. в разделе Редактор преобразования "Уточняющий запрос" (страница "Вывод ошибок").

    10. Чтобы сохранить изменения в преобразовании «Уточняющий запрос», нажмите кнопку ОК .

  13. Откройте родительский пакет, добавьте задачу «Выполнение пакета» к потоку управления, а затем настройте задачу для вызова дочернего пакета. Дополнительные сведения см. в статье Execute Package Task.

  14. Запустите пакеты.

Реализация преобразования «Уточняющий запрос» в режиме полного кэширования с использованием диспетчера соединений с кэшем и существующего файла кэша

  1. В SQL Server Data Tools (SSDT) откройте проект служб Integration Services и откройте пакет.

  2. Щелкните правой кнопкой в области Диспетчеры соединений и выберите команду Создать соединение.

    Область диспетчер подключений отображается в нижней части потока управления, Поток данных и вкладки обработчиков событий конструктора служб Integration Services.

  3. В диалоговом окне Добавление диспетчера соединений со службами SSIS выберите значение CACHEи нажмите кнопку Добавить , чтобы добавить диспетчер соединений с кэшем.

  4. Дважды щелкните диспетчер соединений с кэшем, чтобы открыть окно Редактор диспетчера соединений с кэшем.

  5. В окне Редактор диспетчера соединений с кэшемна вкладке Общие настройте диспетчер соединений с кэшем. Для этого задайте следующие параметры.

    • Выберите Использовать кэш файлов.

    • В поле Имя файлавведите имя файла или нажмите кнопку Обзор и выберите файл.

    Примечание.

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

  6. Перейдите на вкладку Столбцы , а затем задайте, какие столбцы будут столбцами индекса, с помощью параметра Позиция индекса .

    Для неиндексированных столбцов позиция индекса равна 0. Для индексированных столбцов позиция индекса является положительным порядковым номером.

    Примечание.

    Если преобразование «Уточняющий запрос» настроено для использования диспетчера соединений с кэшем, то только индексированные столбцы в ссылочном наборе данных могут быть сопоставлены с входными столбцами. Кроме того, все столбцы индекса должны быть сопоставлены. Дополнительные сведения см. в разделе Cache Connection Manager Editor.

  7. На вкладке Поток управления добавьте задачу потока данных к пакету, а затем добавьте преобразование «Уточняющий запрос» к потоку данных.

  8. Настройте преобразование «Уточняющий запрос», выполнив следующие действия.

    1. Подключите преобразование «Уточняющий запрос» к потоку данных, перетащив соединитель из источника или предыдущего преобразования в преобразование «Уточняющий запрос».

      Примечание.

      Преобразование «Уточняющий запрос» может не пройти проверку, если оно соединено с неструктурированным файлом, в котором содержится пустое поле данных. Успешность проверки преобразования зависит от того, включено ли в диспетчере соединений для неструктурированного файла сохранение значений NULL. Чтобы гарантировать успешность проверки преобразования «Уточняющий запрос», выберите в редакторе источника «неструктурированный файл»на странице Диспетчер соединенийпараметр Оставлять значения NULL из источника в потоке данных .

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

    3. Дважды щелкните преобразование "Уточняющий запрос", а затем в окне Редактор преобразования "Уточняющий запрос"на странице Общие выберите Полное кэширование.

    4. Выберите Диспетчер соединений с кэшем в области Тип соединения .

    5. Выберите параметр обработки ошибок для строк без совпадающих записей из списка Укажите метод обработки строк без совпадающих элементов .

    6. На странице Соединение выберите из списка Диспетчер соединений с кэшем добавленный диспетчер соединений с кэшем.

    7. Перейдите на страницу Столбцы и перетащите хотя бы один из столбцов в списке Доступные входные столбцы в столбец из списка Доступные столбцы подстановки .

      Примечание.

      Преобразование «Уточняющий запрос» автоматически сопоставляет столбцы, которые обладают одинаковыми названиями и типами данных.

      Примечание.

      Типы данных сопоставляемых столбцов должны совпадать. Дополнительные сведения см. в разделе Integration Services Data Types.

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

    9. Чтобы настроить вывод ошибок, перейдите на страницу Вывод ошибок и задайте параметры обработки ошибок. Дополнительные сведения см. в разделе Редактор преобразования "Уточняющий запрос" (страница "Вывод ошибок").

    10. Чтобы сохранить изменения в преобразовании «Уточняющий запрос», нажмите кнопку ОК .

  9. Запустите пакет.

См. также

Реализация преобразования "Уточняющий запрос" в режиме полного кэширования с помощью диспетчера подключений OLE DB
Реализация уточняющего запроса в режиме "Частичное кэширование" или "Без кэширования"
Преобразования служб Integration Services