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

Откуда:
Сообщений: 8
Здравствуйте!

Опыт небольшой, поэтому заранее прошу извинить за нубские вопросы.
Стоит SQL server 2016, на нем база 1С. Эмпирически вычислено, что когда база начинает тормозить, нужно в свойствах базы выбрать параметры, где изменить уровень совместимости с SQL Server 2012(110) на SQL Server 2016(130) и тут же поменять обратно-база оживает. Почему так происходит?
Заранее благодарю!
29 дек 20, 00:42    [22256099]     Ответить | Цитировать Сообщить модератору
 Re: Уровень совместимости  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 54576
Grogan
Почему так происходит?
вы хотите узнать именно это?
29 дек 20, 00:47    [22256101]     Ответить | Цитировать Сообщить модератору
 Re: Уровень совместимости  [new]
Grogan
Member

Откуда:
Сообщений: 8
Для начала да. Возможно еще после захочется что-то узнать) Вы знаете ответ на этот вопрос?
29 дек 20, 00:57    [22256104]     Ответить | Цитировать Сообщить модератору
 Re: Уровень совместимости  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37113
Grogan
Здравствуйте!

Опыт небольшой, поэтому заранее прошу извинить за нубские вопросы.
Стоит SQL server 2016, на нем база 1С. Эмпирически вычислено, что когда база начинает тормозить, нужно в свойствах базы выбрать параметры, где изменить уровень совместимости с SQL Server 2012(110) на SQL Server 2016(130) и тут же поменять обратно-база оживает. Почему так происходит?
Заранее благодарю!
Я не уверен, что хочу знать, как и зачем вы это вычисляли, но по сабжу, предполагаю, что при смене уровня совместимости происходит сброс кеша планов запросов.
29 дек 20, 01:20    [22256111]     Ответить | Цитировать Сообщить модератору
 Re: Уровень совместимости  [new]
Grogan
Member

Откуда:
Сообщений: 8
Гавриленко Сергей Алексеевич, спасибо! Надо будет проверить, так ли это)
29 дек 20, 09:07    [22256151]     Ответить | Цитировать Сообщить модератору
 Re: Уровень совместимости  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3870
Grogan
Гавриленко Сергей Алексеевич, спасибо! Надо будет проверить, так ли это)


как говорят(ц) "данезашто". И как вы это проверите?
29 дек 20, 11:27    [22256213]     Ответить | Цитировать Сообщить модератору
 Re: Уровень совместимости  [new]
Grogan
Member

Откуда:
Сообщений: 8
Первое что на ум пришло:
DBCC FREEPROCCACHE при жалобах на замедление
и посмотреть будет ли такой же результат.
29 дек 20, 14:26    [22256446]     Ответить | Цитировать Сообщить модератору
 Re: Уровень совместимости  [new]
Megabyte
Member

Откуда: ближайшее заМКАДье
Сообщений: 4957
Grogan
Первое что на ум пришло:
DBCC FREEPROCCACHE при жалобах на замедление
и посмотреть будет ли такой же результат.

Проанализировать запросы, которые работают медленно, не предлагать?
29 дек 20, 15:28    [22256525]     Ответить | Цитировать Сообщить модератору
 Re: Уровень совместимости  [new]
Grogan
Member

Откуда:
Сообщений: 8
Megabyte, предложения только приветствуются) Буду изучать вопрос. Спасибо!
29 дек 20, 16:49    [22256603]     Ответить | Цитировать Сообщить модератору
 Re: Уровень совместимости  [new]
Владислав Колосов
Member

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

попробуйте переключить настройку базы "параметризация" "простая" на "принудительная". Хотя это может иметь последствия, например, оптимизатор в таком случае не использует фильтрованные индексы.

Сообщение было отредактировано: 29 дек 20, 17:01
29 дек 20, 17:05    [22256620]     Ответить | Цитировать Сообщить модератору
 Re: Уровень совместимости  [new]
Grogan
Member

Откуда:
Сообщений: 8
К сожалению врядли причина ускорения работы базы после смены уровня совместимости сброс кэша планов запросов.
При замедлении базы инструкция DBCC FREEPROCCACHE не улучшает ситуацию, помогает только переключение туда-сюда уровня совместимости.

Надо бы докопаться до причин. Таким костылем пользоваться не совсем комильфо...Куда еще можно посмотреть?
12 янв 21, 10:18    [22261849]     Ответить | Цитировать Сообщить модератору
 Re: Уровень совместимости  [new]
L_argo
Member

Откуда:
Сообщений: 1336
А конкретный момент начала торможения существует ?
Н-р обновление конфигурации ?

Иногда достаточно обновить статистику ключевых больших таблиц.
12 янв 21, 10:39    [22261855]     Ответить | Цитировать Сообщить модератору
 Re: Уровень совместимости  [new]
ptr128
Member

Откуда: Moscow
Сообщений: 865
Grogan,

может быть глупый вопрос, но статистики как часто принудительно обновляете?
В 2016 сервере автоматическое обновление статистик было улучшено. Поэтому, не исключено, что переключение уровней совместимости форсирует автоматический расчет статистик, что и сказывается на производительности.
12 янв 21, 10:47    [22261859]     Ответить | Цитировать Сообщить модератору
 Re: Уровень совместимости  [new]
Grogan
Member

Откуда:
Сообщений: 8
L_argo
А конкретный момент начала торможения существует ?
Н-р обновление конфигурации ?

Иногда достаточно обновить статистику ключевых больших таблиц.


Тормозить начинает после того как пользователи определенные документы проведут.





ptr128
Grogan,

может быть глупый вопрос, но статистики как часто принудительно обновляете?
В 2016 сервере автоматическое обновление статистик было улучшено. Поэтому, не исключено, что переключение уровней совместимости форсирует автоматический расчет статистик, что и сказывается на производительности.


Раз в сутки обновляем статистики принудительно, ну и индексы перестраиваем тоже.

Поделитель плиз у кого есть скриптик для быстрого обновления статистик?

exec sp_msforeachtable N'UPDATE STATISTICS ? WITH FULLSCAN' -- долго выполняется.
13 янв 21, 15:12    [22262712]     Ответить | Цитировать Сообщить модератору
 Re: Уровень совместимости  [new]
aleks222
Member

Откуда:
Сообщений: 1169
Grogan

Поделитель плиз у кого есть скриптик для быстрого обновления статистик?

exec sp_msforeachtable N'UPDATE STATISTICS ? WITH FULLSCAN' -- долго выполняется.


И как ты представляешь себе "быстрое" обновление статистики?
Силой святаго духа?

ЗЫ. Фсе эти обновления статистики в 99% случаев ниочем.
Т.е. бесполезны.
Вот с чего в твоих табличках распределение данных кардинально меняется?
Ты хоть проверял наличие реального изменения статистики?
Не обновляй - вот тебе и "быстро".
13 янв 21, 15:25    [22262720]     Ответить | Цитировать Сообщить модератору
 Re: Уровень совместимости  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 34419
Блог
Grogan
Поделитель плиз у кого есть скриптик для быстрого обновления статистик?

exec sp_msforeachtable N'UPDATE STATISTICS ? WITH FULLSCAN' -- долго выполняется.


У вас выбор простой:
- запускать обновление статистики в параллельном режиме
- запускать обновление статистики только для нужных таблиц/секций
- прочитать параметры команды UPDATE STATISTICS и указать нужный SAMPLE или просто убрать FULLSCAN
13 янв 21, 15:27    [22262723]     Ответить | Цитировать Сообщить модератору
 Re: Уровень совместимости  [new]
ptr128
Member

Откуда: Moscow
Сообщений: 865
Grogan
Поделитель плиз у кого есть скриптик для быстрого обновления статистик?

Пользуюсь трудами Ola Hallengren
13 янв 21, 16:00    [22262759]     Ответить | Цитировать Сообщить модератору
 Re: Уровень совместимости  [new]
ShIgor
Member

Откуда: Нижний Новгород
Сообщений: 2368
Grogan
L_argo
А конкретный момент начала торможения существует ?
Н-р обновление конфигурации ?

Иногда достаточно обновить статистику ключевых больших таблиц.


Тормозить начинает после того как пользователи определенные документы проведут.


вот и ответ..
сегодня ту же проблему решал. статистика обновлена ночью, а устарела к утру, когда оказалось, что на таблице 3млн изменений пробежало.. после этого запрос стал работать 20 минут вместо 1 секунды.. статистику обновил, встало на место.

понять причину помогло
https://blog.sqlauthority.com/2016/07/24/find-outdated-statistics-interview-question-week-081
13 янв 21, 16:53    [22262798]     Ответить | Цитировать Сообщить модератору
 Re: Уровень совместимости  [new]
Idol_111
Member

Откуда:
Сообщений: 613
Если данные так шустро обновляются, то наверняка срабатывает автоматическое обновление статистики. И оно проходит по умолчанию с параметром SAMPLE. Вот планы и меняются. Вы ведь FULLSCAN используете.
Добавьте в свой скрипт по обновлению статы PERSIST_SAMPLE_PERCENT = ON.

В 99% не нужно обновлять всю стату ежедневно. Еженедельно максимум, и то по скрипту, т.е. выборочно.
14 янв 21, 00:02    [22262981]     Ответить | Цитировать Сообщить модератору
 Re: Уровень совместимости  [new]
Grogan
Member

Откуда:
Сообщений: 8
Тут еще вот какие мысли. При переключении уровня совместимости туда-сюда, работа в базе ускоряется. Обновление статистик врядли может так быстро произойти. Инструкция DBCC FREEPROCCACHE не дает аналогичного результата. Думаю попробовать
CHECKPOINT;
GO
DBCC DROPCLEANBUFFERS;
GO
Но почитал что это может быть не слишком грамотно. Что скажете?
14 янв 21, 01:50    [22262997]     Ответить | Цитировать Сообщить модератору
 Re: Уровень совместимости  [new]
Idol_111
Member

Откуда:
Сообщений: 613
Grogan
Обновление статистик врядли может так быстро произойти.

Тут дело не в статистике, ваше переключение просто завставляет перекомпилировать планы. И уж что заставляет сервер это делать, вопрос второй.

Попробуйте просто перекомпилировать ухудшидшийся запрос и посмотрите результат.
14 янв 21, 03:33    [22263010]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить