Как уменьшить размер журнала транзакций для процесса SSIS ETL? - PullRequest
2 голосов
/ 17 февраля 2012

У нас есть проблема с размером журнала транзакций, увеличивающимся примерно до 70 ГБ, для базы данных SQL Server 2008 размером около 10 ГБ. Это происходит в промежуточной базе данных процесса ETL, запущенного с SSIS 2008. Процесс занимает около 8 часов и выполняется еженедельно.

70 ГБ приближается к физическим пределам системы, и один только ввод-вывод будет иметь снижение производительности.

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

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

Интересно, чего ожидать от настройки SISS.

Некоторые соображения:

  • SISS, похоже, установил несколько соединений с базой данных. Как это может помешать подстройке уровней изоляции транзакций пакетов и «длины» транзакций, то есть фиксации после выполнения определенных шагов?
  • Может ли производительность процесса увеличиться при работе в однопользовательском режиме? Может ли SISS справиться с этим?
  • Было бы целесообразно просто настроить пакеты для запуска с параметром Transaction = Unsupported?

Есть ли какие-либо впечатления, мысли или рекомендации по этому вопросу?

1 Ответ

0 голосов
/ 17 февраля 2012

Если этот процесс выполняется еженедельно, я предполагаю, что данные не нужно обрабатывать при поступлении в систему.Чтобы уточнить (и исправить меня, если я ошибаюсь), у вас есть некоторый набор данных, которые вы загружаете в базу данных один раз в неделю.не занимаемся массовыми вставками.Если нет, то сделай это!Это должно ускорить процесс и уменьшить размер журнала.

...