Это мой первый опыт работы с SSIS, так что терпите меня ...
Я использую SSIS для переноса таблиц из Oracle в SSMS, я пытаюсь перенести несколько очень больших таблиц (более 50 миллионов строк). SSIS теперь полностью зависает и перезагружается VS, когда я просто пытаюсь сохранить пакет (даже не запуская его). Он продолжает возвращать ошибки из-за недостатка памяти, однако я работаю на удаленном сервере, который имеет много памяти, необходимой для запуска этого пакета.
Единственное, о чем я могу думать, это когда этот пакет пытается работать, мои скорости Ethernet кбит / с достигают предела, когда пакет запускается. Может быть, нужно обновить мой конвейер?
Кроме того, моя самая большая таблица не будет работать при импорте из-за размеров BYTE (опять же, почти не используя всю память на сервере). Мы используем ODBC Source, так как это был единственный способ получить другие большие таблицы для загрузки более 1 миллиона строк.
Я попытался создать временный буферный файл, чтобы помочь с нехваткой памяти, но это не изменилось. Я изменил AutoAdjustBufferSize
на True
, без изменений в результатах. также изменились DefaultBufferMaxRows
и DefaultBufferSize
.. без изменений.
Информация: 0x4004300C в SRC_STG_ TABLENAME , SSIS. Трубопровод: Выполнить
фаза начинается.
Информация: 0x4004800D на SRC_STG_ TABLENAME : менеджер буфера
Сбой вызова выделения памяти для 810400000 байт, но не удалось
поменять любые буферы, чтобы уменьшить нагрузку на память. 2 буфера были
и 2 были заперты.
Либо недостаточно памяти доступно для конвейера, потому что нет
установлено достаточно, другие процессы использовали его, или слишком много
буферы заблокированы.
Информация: 0x4004800F по адресу SRC_STG_ TABLENAME : менеджер буфера
выделено 1548 мегабайт (-ов) в 2 физических буферах.
Информация: 0x40048010 в SRC_STG_ TABLENAME : компонент "ODBC"
Source "(60) принадлежит 775 мегабайт (ы) физического буфера.
Информация: 0x4004800D на SRC_STG_ TABLENAME : менеджер буфера
Сбой вызова выделения памяти для 810400000 байт, но не удалось
поменять любые буферы, чтобы уменьшить нагрузку на память. 2 буфера были
рассмотрели и 2 были заперты.
Либо недостаточно памяти доступно для конвейера, потому что нет
установлено достаточно, другие процессы использовали его, или слишком много
буферы заблокированы.
Информация: 0x4004800F в SRC_STG_ TABLENAME : менеджер буфера
выделено 1548 мегабайт (-ов) в 2 физических буферах.
Информация: 0x40048010 в SRC_STG_ TABLENAME : Компонент "ODBC
Source "(60) принадлежит 775 мегабайт (ы) физического буфера.
Информация: 0x4004800D в SRC_STG_ TABLENAME : менеджер буфера
Сбой вызова выделения памяти для 810400000 байт, но не удалось
поменять любые буферы, чтобы уменьшить нагрузку на память. 2 буфера были
рассмотрели и 2 были заперты.
Либо недостаточно памяти доступно для конвейера, потому что нет
установлено достаточно, другие процессы использовали его, или слишком много
буферы заблокированы.
Информация: 0x4004800F по адресу SRC_STG_ TABLENAME : менеджер буфера
выделено 1548 мегабайт (-ов) в 2 физических буферах.
Информация: 0x40048010 в SRC_STG_ TABLENAME : компонент "ODBC"
Source "(60) принадлежит 775 мегабайт (ы) физического буфера.
Ошибка: 0xC0047012 в SRC_STG_ TABLENAME : сбой буфера при
выделение 810400000 байт.
Ошибка: 0xC0047011 в SRC_STG_ TABLENAME : система сообщает 26
процент загрузки памяти. Есть 68718940160 байт физической памяти.с 50752466944 байт бесплатно.Есть 4294836224 байта виртуальной памяти с 914223104 байтами свободной.Файл подкачки имеет 84825067520 байт и 61915041792 байт свободно.
Информация: 0x4004800F в SRC_STG_ TABLENAME : диспетчеру буфера выделено 1548 мегабайт (-ов) в 2 физических буферах.
Информация: 0x40048010 в SRC_STG_ TABLENAME : Компоненту "Источник ODBC" (60) принадлежит 775 мегабайт (ы) физического буфера.
Ошибка: 0x279 в SRC_STG_ TABLENAME , источник ODBC [60]: не удалось добавить строку в буфер вывода.
Ошибка: 0x384 в SRC_STG_ TABLENAME , источник ODBC [60]: Произошла ошибка подключения к базе данных (ODBC).
Ошибка: 0xC0047038 в SRC_STG_ TABLENAME , SSIS.Pipeline: Код ошибки SSIS DTS_E_PRIMEOUTPUTFAILED.Метод PrimeOutput в ODBC Source возвратил код ошибки 0x80004005.Компонент возвратил код ошибки, когда механизм конвейера вызвал PrimeOutput ().Значение кода ошибки определяется компонентом, но ошибка является фатальной, и конвейер перестал выполняться.Перед этим могут быть сообщения об ошибках с дополнительной информацией о сбое.