Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Пакет SSIS очень медленно обрабатывается в SQL Server Management Studio  [new]
Alex.C
Member

Откуда:
Сообщений: 30
Всем доброго времени суток!

Имеется SQL Server 2014 и пакет в SSIS, который в том числе содержит Data Flow с чтением данных из файла на FTP, чтением данных из таблицы в SQL Server, последующей обработкой данных (derived column, data conversion, conditional split и прочее) и записью в таблицу SQL Server.
Данный пакет отрабатывает весьма быстро (10-20 сек) при запуске в SSIS, но при этом может работать 2-3 часа при запуске его же из SQL Server Management Studio, быстро там он работает только при запуске в ночное время.

1) Возникала ли у кого-либо подобная проблема? Что может быть причиной такого поведения пакета при запуске из SSMS вместо SSIS?
2) Как лучше отследить, где именно возникает торможение? Нужно найти элемент внутри data flow, на котором все стопорится.

Спасибо заранее за любой совет, и извиняюсь, если подобная тема была, не нашел.
5 ноя 16, 17:37    [19860749]     Ответить | Цитировать Сообщить модератору
 Re: Пакет SSIS очень медленно обрабатывается в SQL Server Management Studio  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7658
Alex.C,

разные пути прохождения данных - так Вы через свой компьютер прокачиваете, а так - через сервер.
7 ноя 16, 10:35    [19864486]     Ответить | Цитировать Сообщить модератору
 Re: Пакет SSIS очень медленно обрабатывается в SQL Server Management Studio  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4176
Alex.C
1) Возникала ли у кого-либо подобная проблема? Что может быть причиной такого поведения пакета при запуске из SSMS вместо SSIS?

Согласен с коллегой насчет разных машин. Влияет и очень заметно.

Alex.C
2) Как лучше отследить, где именно возникает торможение? Нужно найти элемент внутри data flow, на котором все стопорится.

Запускаете под отладчиком в студии, смотрите визуально прохождение по этапам пакета,
Если нужно смотрите лог выполнения.
Кстати, можно запускать на выполнение отдельную часть пакета sequence,controlflow или dataflow.
7 ноя 16, 10:43    [19864558]     Ответить | Цитировать Сообщить модератору
 Re: Пакет SSIS очень медленно обрабатывается в SQL Server Management Studio  [new]
vborets
Member

Откуда:
Сообщений: 164
Так всегда можно посмотреть Report - All executions
7 ноя 16, 12:17    [19865158]     Ответить | Цитировать Сообщить модератору
 Re: Пакет SSIS очень медленно обрабатывается в SQL Server Management Studio  [new]
Alex.C
Member

Откуда:
Сообщений: 30
Добрый день, спасибо за ответы!

Как выяснилось, проблема возникала при параллельной работе с другим пакетом и была связана с чтением таблицы в компоненте OLE DB Source (опция Table or View) на миллион строк с последующими компонентами Aggregate и Sorting.
Изменение опции с Table or View на SQL command в компоненте OLE DB Source, написание в нем запроса SELECT с GROUP BY и ORDER BY (и последующее удаление компонент Aggregate и Sort за ненадобностью) устранило проблему. Выборка всё та же самая, но работает гораздо шустрее с переносом нагрузки на SQL запрос вместо компонент SSIS.
Так как Sort нужен был для последующего компонента Merge Join - чтобы "дать понять" джойну что выборка отсортирована, свойство IsSorted в OLE DB Source -> Show Advanced Editor -> Input and Output Properties -> OLE DB Source Output установлено как True, для сортируемых столбцов в Output Columns заданы свойства SortKeyPosition.
9 ноя 16, 11:15    [19873534]     Ответить | Цитировать Сообщить модератору
 Re: Пакет SSIS очень медленно обрабатывается в SQL Server Management Studio  [new]
Ferdipux
Member

Откуда: Москва
Сообщений: 551
Alex.C,

Это так, компоненты Aggregate и Sort не самые оптимальные, и если есть возможность - лучше связанные операции делать на стороне СУБД. Причина - эти компоненты "синхронные", то есть ждут получения данных целиком и затем - формируют результирующий поток данных. Понятно, что при этом потоковый принцип обработки страдает и памяти нужно много...
9 ноя 16, 11:27    [19873636]     Ответить | Цитировать Сообщить модератору
 Re: Пакет SSIS очень медленно обрабатывается в SQL Server Management Studio  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Ferdipux,
автор
Причина - эти компоненты "синхронные", то есть ждут получения данных целиком и затем

а можно группировать по частям?
9 ноя 16, 11:29    [19873660]     Ответить | Цитировать Сообщить модератору
 Re: Пакет SSIS очень медленно обрабатывается в SQL Server Management Studio  [new]
vborets
Member

Откуда:
Сообщений: 164
Alex.C,
Alex.C
Так как Sort нужен был для последующего компонента Merge Join - чтобы "дать понять" джойну что выборка отсортирована, свойство IsSorted в OLE DB Source -> Show Advanced Editor -> Input and Output Properties -> OLE DB Source Output установлено как True, для сортируемых столбцов в Output Columns заданы свойства SortKeyPosition.


Я бы перепроверил результаты джойна после такой сортировки!

Замечено, что иногда неправильно джойнится, не все данные сопоставляются!

Если добавить компонент сортировки в SSIS (при этом он говорит, что сортировка уже есть и он типа лишний) всё начинает работать как надо....вот так вот.
9 ноя 16, 18:04    [19876330]     Ответить | Цитировать Сообщить модератору
 Re: Пакет SSIS очень медленно обрабатывается в SQL Server Management Studio  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
vborets,

автор
Замечено, что иногда неправильно джойнится, не все данные сопоставляются!

это наверное как неправильные пчёлы...
9 ноя 16, 18:06    [19876344]     Ответить | Цитировать Сообщить модератору
 Re: Пакет SSIS очень медленно обрабатывается в SQL Server Management Studio  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4176
TaPaK
Ferdipux,
автор
Причина - эти компоненты "синхронные", то есть ждут получения данных целиком и затем

а можно группировать по частям?

Конечно можно!
Есть такой компонет Prediction Data. Он угадывает значение еще не подгруженных данных и сортирует/агрегирует ещё их до того как они полностью загрузятся.
+
Это конечно же шутка, кто не понял!
10 ноя 16, 09:42    [19877962]     Ответить | Цитировать Сообщить модератору
 Re: Пакет SSIS очень медленно обрабатывается в SQL Server Management Studio  [new]
vborets
Member

Откуда:
Сообщений: 164
TaPaK
это наверное как неправильные пчёлы...


Да я сам был в шоке, но факт остаётся фактом.
10 ноя 16, 10:39    [19878094]     Ответить | Цитировать Сообщить модератору
 Re: Пакет SSIS очень медленно обрабатывается в SQL Server Management Studio  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
vborets
TaPaK
это наверное как неправильные пчёлы...


Да я сам был в шоке, но факт остаётся фактом.

звучит ну оооочень сомнительно
10 ноя 16, 10:40    [19878100]     Ответить | Цитировать Сообщить модератору
 Re: Пакет SSIS очень медленно обрабатывается в SQL Server Management Studio  [new]
Ferdipux
Member

Откуда: Москва
Сообщений: 551
vborets

Я бы перепроверил результаты джойна после такой сортировки!

Замечено, что иногда неправильно джойнится, не все данные сопоставляются!

Если добавить компонент сортировки в SSIS (при этом он говорит, что сортировка уже есть и он типа лишний) всё начинает работать как надо....вот так вот.

Хня какая-то, достойно как минимум заявки в Connect или открывания кейса в поддержку MS, если такая возможность есть.
10 ноя 16, 10:56    [19878147]     Ответить | Цитировать Сообщить модератору
 Re: Пакет SSIS очень медленно обрабатывается в SQL Server Management Studio  [new]
vborets
Member

Откуда:
Сообщений: 164
TaPaK
vborets
пропущено...


Да я сам был в шоке, но факт остаётся фактом.

звучит ну оооочень сомнительно



MS признала это

https://support.microsoft.com/en-us/help/4022435/fix-parallel-query-execution-returns-incorrect-results-for-merge-join
9 авг 17, 16:25    [20711348]     Ответить | Цитировать Сообщить модератору
 Re: Пакет SSIS очень медленно обрабатывается в SQL Server Management Studio  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
vborets
MS признала это

https://support.microsoft.com/en-us/help/4022435/fix-parallel-query-execution-returns-incorrect-results-for-merge-join
Ого. Серьезный баг так то. Пора патчить сервера.
У ТС правда 2014, так что его не должно коснутся.
9 авг 17, 23:22    [20712248]     Ответить | Цитировать Сообщить модератору
 Re: Пакет SSIS очень медленно обрабатывается в SQL Server Management Studio  [new]
Ferdipux
Member

Откуда: Москва
Сообщений: 551
Mind
Серьезный баг так то. Пора патчить сервера.
У ТС правда 2014, так что его не должно коснутся.

Не факт. Merge join реализован как задача dataflow, то есть класс C# dll. Не думаю, что в SSIS2016 они его сильно перерабатывали - оно же старое и в анонсах улучшений именно на merge join нет. Может, выпустят патч потом, в рамках регрессии, а может и нет...
10 авг 17, 11:37    [20712986]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить