|
Останавливается выполнение пакета SSIS
|
|||
---|---|---|---|
#18+
Выполнение пакета бодренько идет, потом в какой-то момент останавливается и стоит до бесконечности в одном состоянии. В отладчике количество обработанных записей не меняется. Данный пакет благополучно работал на 2005 сервере. Сейчас перенесен на 2019. При остановке отладки Выдается сообщение "Ошибка: 0xC0047022 в Кассовый сервер движение, SSIS.Pipeline: Код ошибки служб SSIS DTS_E_PROCESSINPUTFAILED. Метод ProcessInput в компоненте "Соединение слиянием 3" (753) завершился сбоем с кодом ошибки 0xC0047020 при обработке входа "Левый вход соединения слиянием" (758). Указанный компонент возвращает ошибку при вызове метода ProcessInput. Данная ошибка относится к компоненту, но является неустранимой и приводит к остановке выполнения задачи потока данных. Возможно, до этого были выданы сообщения об ошибках, в которых содержатся более подробные сведения о причине сбоя. Программа "[9460] DtsDebugHost.exe: DTS" завершилась с кодом 0 (0x0)." На оба входа слияния подаются данные одинаковой структуры. Подскажите, куда копать? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2020, 14:26 |
|
Останавливается выполнение пакета SSIS
|
|||
---|---|---|---|
#18+
Сергей Жидков, обновление пакета - дела тонкое... Иногда не срабатывает и надо его перерисовывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2020, 14:36 |
|
Останавливается выполнение пакета SSIS
|
|||
---|---|---|---|
#18+
Попробовать перерисовать конечно можно. Копировать-вставить кубики по очереди в другой проект достаточно? Кстати, подобная проблема уже была, так же останавливалось выполнение другого пакета. Но он был исходно изменен и запускался на 2005 сервере, где и был разработан, и перестал работать. Перенес на 2019 и все поехало. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2020, 14:43 |
|
Останавливается выполнение пакета SSIS
|
|||
---|---|---|---|
#18+
Сергей Жидков, Я бы сначала заменил сбойный "квадратик" ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2020, 14:51 |
|
Останавливается выполнение пакета SSIS
|
|||
---|---|---|---|
#18+
Сергей Жидков, как раз-таки копирование может криво работать. Иногда студия 2019 начинает падать при попытке изменить унаследованный проект. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2020, 14:51 |
|
Останавливается выполнение пакета SSIS
|
|||
---|---|---|---|
#18+
Замена одного элемента не помогла. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2020, 15:07 |
|
Останавливается выполнение пакета SSIS
|
|||
---|---|---|---|
#18+
Сергей Жидков, Судя по тому, что я вижу на картинке -- останавливается сортировка. Не хватает памяти, возможно. А вы не хотите сортировать данные на уровне БД и подавать в data flow уже отсортированными? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2020, 15:24 |
|
Останавливается выполнение пакета SSIS
|
|||
---|---|---|---|
#18+
Сергей Жидков, а как запускаете из VS по F5 ( Ctrl + F5) я бы пошел от обртаного - на тех что вешается - скопировал бы и на копии убирал бы последущие ( если там вставка в таргет то менял бы на заглушку - типа Rowcount) и попытался найти то место где виснет - хотя у вас там паралельно зы а вообще у меня как то начал тормозить SSIS merge и другого способа как переписать на T-SQL я не нашел благо там был только SQL server ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2020, 19:39 |
|
Останавливается выполнение пакета SSIS
|
|||
---|---|---|---|
#18+
Гулин Федор ( если там вставка в таргет то менял бы на заглушку - типа Rowcount) Трудно там "найти место". Чистое шаманство, постучи, поплюй, элемент удали-верни, может, заработает. Тут так и советуют, других вариантов нет. Объём в принципе небольшой, 180 тыщ строк, но что то там кривое стало, в 2019-м, перестала сортировка работать. Значит, надо от неё отказаться, или от SSIS. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2020, 20:19 |
|
Останавливается выполнение пакета SSIS
|
|||
---|---|---|---|
#18+
Гулин Федор и попытался найти то место где виснет - хотя у вас там паралельно ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2020, 20:20 |
|
Останавливается выполнение пакета SSIS
|
|||
---|---|---|---|
#18+
Сергей Жидков, Интересно сравнить сортировки а1 и а3. Количество строк одинаковое, но зависло на а3 Поля и типы данных, по которым делаются сортировки, ну и вообще посмотреть на все поля. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2020, 21:40 |
|
Останавливается выполнение пакета SSIS
|
|||
---|---|---|---|
#18+
Появилось время, вернулся к задаче. Перерисовал весь проект. Ничего не помогло. Разбил на части, крепко упростил. Теперь в потоке всего два элемента. Источник данных и назначение. Начинает исполняться и в какой-то момент останавливается с ошибкой. Вот что пишет в ошибке: Ошибка: 0xC0202009 в Скидки, Запись скидки [2]: Код ошибки служб SSIS: DTS_E_OLEDBERROR. Возникла ошибка OLE DB. Код ошибки: 0x80040E31. Доступна запись OLE DB. Источник: "Microsoft SQL Server Native Client 11.0" Результат: 0x80040E31 Описание: "Время ожидания запроса истекло". Ошибка: 0xC0047022 в Скидки, SSIS.Pipeline: Код ошибки служб SSIS DTS_E_PROCESSINPUTFAILED. Метод ProcessInput в компоненте "Запись скидки" (2) завершился сбоем с кодом ошибки 0xC0202009 при обработке входа "Вход назначения "OLE DB"" (15). Указанный компонент возвращает ошибку при вызове метода ProcessInput. Данная ошибка относится к компоненту, но является неустранимой и приводит к остановке выполнения задачи потока данных. Возможно, до этого были выданы сообщения об ошибках, в которых содержатся более подробные сведения о причине сбоя. Ошибка: 0xC02020C4 в Скидки, Скидка [37]: Ошибка при попытке добавить строку в буфер задачи потока данных. Код ошибки 0xC0047020. Ошибка: 0xC0047038 в Скидки, SSIS.Pipeline: Код ошибки служб SSIS: DTS_E_PRIMEOUTPUTFAILED. Метод PrimeOutput для компонента Скидка завершился сбоем с кодом ошибки 0xC02020C4. Компонент вернул код ошибки при вызове метода PrimeOutput() из обработчика конвейера. Значение кода ошибки определяется компонентом, но ошибка является неустранимой, и выполнение конвейера остановлено. Возможно, до этого были опубликованы сообщения об ошибках, в которых содержатся более подробные сведения о причине сбоя. Есть, правда, предположение дилетанта, что выборка и запись мешают друг другу. Здесь, насколько я понимаю, процессы по возможности распараллеливаются, а задача состоит в том, чтобы в некую таблицу дополнить данными из другой базы данных. И в запросе источнике участвует та же таблица, что и в назначении. Это лишь мое предположение, и что с дальше делать не понимаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2020, 20:31 |
|
Останавливается выполнение пакета SSIS
|
|||
---|---|---|---|
#18+
Кажется, предположение подтверждается. sp_who2 говорит, что в базе выполняется два процесса, BULK INSERT и SELECT, причем инсерт блокируется селектом и оба в состоянии suspended. Как заставить сначала отобрать все, потом все писать? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2020, 20:49 |
|
Останавливается выполнение пакета SSIS
|
|||
---|---|---|---|
#18+
Сергей Жидков Как заставить сначала отобрать все, потом все писать? 2) Поставить для чтения nolock в запросах-источниках данных. 3) перед импортом сделать копию в отдельную талицу тех данных, которые нужны для импорта, и которые находятся в таблице-приёмнике ,и переписать запросы импорта на её использование. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2020, 21:24 |
|
Останавливается выполнение пакета SSIS
|
|||
---|---|---|---|
#18+
Сергей Жидков Кажется, предположение подтверждается. sp_who2 говорит, что в базе выполняется два процесса, BULK INSERT и SELECT, причем инсерт блокируется селектом и оба в состоянии suspended. Как заставить сначала отобрать все, потом все писать? попробовать в настройках получателя снять галку "блокировать таблицу", но мне кажется не поможет ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2020, 21:56 |
|
Останавливается выполнение пакета SSIS
|
|||
---|---|---|---|
#18+
HandKot Сергей Жидков Кажется, предположение подтверждается. sp_who2 говорит, что в базе выполняется два процесса, BULK INSERT и SELECT, причем инсерт блокируется селектом и оба в состоянии suspended. Как заставить сначала отобрать все, потом все писать? попробовать в настройках получателя снять галку "блокировать таблицу", но мне кажется не поможет Вот что за странные советы идут. То количество строк, которое качает пакет это просто просто ничто. Научитесь сортировать данные на входе и не используйте сортировку внутри пакета вообще. И вы можете обрабатывать весьма нехилые объемы. Вот у меня вообще ничего никогда не виснет. Я вообще даже не понимаю, как такой зависон создать можно. Нужно специально стараться. Быстрый джойн ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2020, 08:14 |
|
Останавливается выполнение пакета SSIS
|
|||
---|---|---|---|
#18+
Сергей Жидков, странно объем копеечный да проще поменять таргет таблицу на новую той же стуркутры и проверить дело ли в ней но вообще то там уже все просто источник --> приемник что странно зы а у вас случайно выборка и запись НЕ из одной и той же таблицы ??? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2020, 10:34 |
|
Останавливается выполнение пакета SSIS
|
|||
---|---|---|---|
#18+
Сергей Жидков Как заставить сначала отобрать все, потом все писать? Надо вставлять в буфер, а потом на стороне бд накатывать скриптом. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2020, 11:24 |
|
Останавливается выполнение пакета SSIS
|
|||
---|---|---|---|
#18+
a_voronin Вот у меня вообще ничего никогда не виснет. Я вообще даже не понимаю, как такой зависон создать можно. Гулин Федор зы а у вас случайно выборка и запись НЕ из одной и той же таблицы ??? Сортировка и объёмы ни при чём. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2020, 12:09 |
|
Останавливается выполнение пакета SSIS
|
|||
---|---|---|---|
#18+
alexeyvg, Лично я считаю, что корень проблемы в том, что люди уверены в том, что "понимают" как писать ETL, и не желают читать читать литературу. Потому что вы должны сначала сделать Extract, потом Transform, а потом Load. А у автора данной загрузки все слилось в единый ком. Умные люди, когда рисуют схему ДВХ, указывают помимо stage еще и буфер. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2020, 12:21 |
|
Останавливается выполнение пакета SSIS
|
|||
---|---|---|---|
#18+
a_voronin, Можем обсудить узким кругом - буфер - это ODS в иных источниках картинок? Например, частая история в SAP BW - там выделяется специальный "ODS", где хранится история выгрузок (за некоторое время). Это если Stage или DWH должно отвечать на странный вопрос "а как выглядел отчет на определенную дату в тех данных/предположениях". ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2020, 12:30 |
|
Останавливается выполнение пакета SSIS
|
|||
---|---|---|---|
#18+
Ferdipux a_voronin, Можем обсудить узким кругом - буфер - это ODS в иных источниках картинок? Например, частая история в SAP BW - там выделяется специальный "ODS", где хранится история выгрузок (за некоторое время). Это если Stage или DWH должно отвечать на странный вопрос "а как выглядел отчет на определенную дату в тех данных/предположениях". Мы тут недавно обсуждали ods vs stage https://www.sql.ru/forum/1321375/ods-vs-stage . Под буфером понимается принципиально другая вещь. Это таблица или место куда скидывается порция данных ДО ТОГО КАК ОНА ПОПАЛА в ODS или STAGE, до того как начался MERGE. Именно в данном "ETL" в данной теме автора подвело именно отсутствие буфера. Он одновременно читал таблицу и вставлял в неё. В результате нарвался на блокировку. BUFFER нужен для как минимум 2-х вещей 1) Убедиться, что порция данных полностью пришла (не начинать MERGE, пока мы не убедимся, что порция идентификаторов от start до end на нашей стороне, потому что нет гарантии, что тот же bulk insert не упал вставив с 100 по 150, но пропустив и 50 по 99). 2) Использовать в качестве источника таблицу отличную от таблицы приемника ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2020, 13:16 |
|
|
start [/forum/topic.php?fid=46&msg=39936202&tid=1686351]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
8ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 19ms |
total: | 148ms |
0 / 0 |