Загрузка очень большой таблицы с использованием SSIS 2005 - PullRequest
0 голосов
/ 17 августа 2011

У меня есть вопрос. Я работаю над загрузкой очень большой таблицы, имеющей существующие данные порядка 150 миллионов записей, которая будет продолжать расти, добавляя 1 миллион записей ежедневно. Несколько дней назад ETL начал давать сбой даже после работы в течение 24 часов. В DFT у нас есть исходный запрос, извлекающий 1 миллион записей, который СМОТРИТ против таблицы Destination, содержащей 150 миллионов записей, для проверки на наличие новых записей. Он не работает, поскольку LOOKUP не может хранить данные для 150 миллионов записей. Я попытался изменить LOOKUP на Merge Join безуспешно. Можете ли вы предложить альтернативные варианты для успешной загрузки данных в большую таблицу. Более того, я никак не могу уменьшить размер таблицы назначения. У меня уже есть индексы на все необходимые столбцы. Надеюсь, я ясно объясню сценарий.

Ответы [ 2 ]

0 голосов
/ 17 августа 2011

Разделите путешествие на две части.

Создание новой задачи потока данных (или отдельного пакета) для размещения исходной таблицы «как есть» в среде, близкой к целевой базе данных

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

0 голосов
/ 17 августа 2011

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

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