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

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

После апгрейда на 2014 SSIS пакеты вдруг стали круто зависать.
Проблема скоро выяснилась: параметризированный t-sql код именил план (parameter sniffing???).

Найдено два решение:
- добавлять WITH OPTION RECOMPILE в каждый запрос
- выносить код в хронимые процедуры и вызывать их из пакета

Оба решения требуют "дурную" работу.

Вопрос: что "сломалось" в 2014, а до этого работало без проблем? И как это можно починить без переделок кода.

Заранее спасибо.

Microsoft SQL Server 2014 - 12.0.4100.1 (X64)
Apr 20 2015 17:29:27
Copyright (c) Microsoft Corporation
Enterprise Edition (64-bit) on Windows NT 6.3 <X64> (Build 9600: ) (Hypervisor)
3 фев 16, 12:17    [18766357]     Ответить | Цитировать Сообщить модератору
 Re: SSIS 2014 проблема производительности  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Daba,

используйте руководство планов, например. В этом случае план запроса будет постоянным.
3 фев 16, 12:21    [18766383]     Ответить | Цитировать Сообщить модератору
 Re: SSIS 2014 проблема производительности  [new]
Daba
Member

Откуда:
Сообщений: 129
Владислав Колосов,

Как бороться с проблемой parameter sniffing я примерно представляю. Но это требует "починки" всех мест где код в пакетах имеет место быть.
Не очень понятно что стряслось в 2014? Можно было бы предположить что виной всему новый carnality estimator, но вынесенный в процедуру код работает корректно.
3 фев 16, 12:29    [18766445]     Ответить | Цитировать Сообщить модератору
 Re: SSIS 2014 проблема производительности  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Daba,

в 2014 вроде бы были изменения в алгоритмах подготовки плана запроса. Могу предположить, что не все вынесено на публику, как это принято у инженеров :) Вам шашечки или ехать, в конце концов?
3 фев 16, 12:52    [18766642]     Ответить | Цитировать Сообщить модератору
 Re: SSIS 2014 проблема производительности  [new]
Daba
Member

Откуда:
Сообщений: 129
Владислав Колосов,

Конечно "ехать"! Так ведь, не едет, требует подтолкнуть.
3 фев 16, 13:06    [18766780]     Ответить | Цитировать Сообщить модератору
 Re: SSIS 2014 проблема производительности  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Daba,

для параметризированных запросов как раз подходит руководство планов. Перекомпиляции не происходит при изменении значения параметров и кэш сервера не заполняется дублями планов.

https://technet.microsoft.com/ru-ru/library/ms190417(v=sql.110).aspx
3 фев 16, 13:11    [18766840]     Ответить | Цитировать Сообщить модератору
 Re: SSIS 2014 проблема производительности  [new]
правильный проходящий.
Guest
Daba
Владислав Колосов,

Конечно "ехать"! Так ведь, не едет, требует подтолкнуть.
Ну так подталкивайте. Или вы надеетесь, что знания о том, что там в сервере изменили, избавят вас от подталкивания?
3 фев 16, 13:12    [18766857]     Ответить | Цитировать Сообщить модератору
 Re: SSIS 2014 проблема производительности  [new]
0wl
Member

Откуда:
Сообщений: 56
В SQL Server поменяли некоторые алгоритмы Cardinality Estimator'а, из-за этого, естественно, план может измениться. Попробуйте флаг трассировки 9481, он заставит сиквел работать по старым алгоритмам. Подробнее тут https://msdn.microsoft.com/en-us/library/dn600374.aspx и тут https://support.microsoft.com/ru-ru/kb/2801413
3 фев 16, 18:53    [18769576]     Ответить | Цитировать Сообщить модератору
 Re: SSIS 2014 проблема производительности  [new]
wizli
Member

Откуда: Minsk
Сообщений: 270
Daba,
Вы и базу апгрейднули до 2014? Или только SSIS?
4 фев 16, 09:06    [18771006]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить