Загрузка данных из моей базы данных OLTP (это часть ETL) через OPENQUERY или поток данных SSIS в другую базу данных SQL Server (Warehouse, которая запускает этот пакет SSIS/OPENQUERY), убивает его. Когда я проверил в Performance Monitor, я использую ресурсы из исходной базы данных, а не из судьбы. Можно ли отменить это использование ресурсов (используя SQL Server 2016 или SSIS)?Выталкивание данных из базы данных
ответ
Проблема здесь в операции записи адресата. Если вы используете OLE DB Destination с быстрым режимом доступа к загрузке, попробуйте установить ряды на одно значение пакета на ненулевое значение и уменьшить максимальный размер фиксации вставки до значения, которое будет легко для вашей памяти и процессора. SSIS не придется ждать по умолчанию 2147483647 перед записью в таблицу назначения, которая может сильно повлиять на ваш файл журнала, замедляя процесс. Пожалуйста, обратитесь к этому Article за дополнительной информацией об установке этих значений. Все самое лучшее
У меня нет проблем с конечным сервером (хранилище с экземпляром SSIS), но с исходным сервером (OLTP). Я ищу способ уменьшения использования ресурсов в пользу целевого сервера. – Testtest11
Как ваш экспорт запрос выглядит? Это просто простой дамп данных или у вас есть сложная логика (например, выполнение некоторой денормализации/агрегирования с экспортом)?
Если это простой экспорт, проверьте, на каком сервере выполняется ваш пакет SSIS и какие ресурсы он использует. В любом случае вам необходимо прочитать данные из исходной системы, поэтому ожидайте некоторые операции чтения диска.
В общем, лучше как можно быстрее получить данные из OLTP, а затем применить другие операции в дальнейших шагах процесса ETL на сервере хранилища данных ETL/Data. Чтобы уменьшить влияние на вашу транзакционную систему.
Надеюсь, это поможет.
Что значит «убивает»? Можете ли вы объяснить эту проблему техническими терминами? Если вы переносите данные из одной системы в другую, вам нужно использовать ресурсы для обоих. –