Можем ли мы одновременно загрузить несколько источников данных в одну структуру таблицы? - PullRequest
2 голосов
/ 03 августа 2020

Я знаю, что версия 2008 устарела, но необходимость не имеет отношения к источникам

Я использую SSIS 2008 и SQL Server 2008 R2,

Мои требования:

  1. Загрузка данных из нескольких исходных файлов с помощью массовой загрузки в потоке управления (размер каждого файла составляет 20 ГБ .txt файлов - всего 150 ГБ для 5 файлов примерно)
  2. Таблица SQL является одиночной ( Табличные данные с 243 столбцами)

Я использовал массовую загрузку файлов SSIS 5, но она была заблокирована на долгое время, любая помощь приветствуется ..

Ответы [ 2 ]

1 голос
/ 03 августа 2020

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

Если вы используете Enterprise Edition или хотите go старую школу с секционированным представлением в Standard Edition, тогда вы можете загружать каждый раздел / отдельную таблицу параллельно и тогда у вас есть N рабочих процессов, загружающих данные так быстро, как позволяет дисковая подсистема, и ни один из конфликтов, с которыми вы в настоящее время не сталкиваетесь.

Как указывает @ Дэвид Браун , SQL Сервер поддерживает параллельную массовую загрузку в неиндексированные таблицы кучи

Чтобы получить блокировку BU, вам нужно указать параметр TABLOCK для каждого потока массового импорта без блокировки других потоков массового импорта

В вашем месте назначения OLE DB это будет быстрая загрузка (по умолчанию) и установите флажок Блокировка таблицы. Как указано в статье msdn, таблица назначения должна быть пустой, иначе блокировка будет IX-Tab, а не BU-tab

0 голосов
/ 03 августа 2020

Да, вы можете загружать из нескольких источников. Я читаю из нескольких источников одновременно и пишу, используя параметр fast load.

введите описание изображения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...