Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Зависание sql server / 25 сообщений из 36, страница 1 из 2
05.03.2021, 15:05
    #40051090
Max_Tpop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зависание sql server
В общем есть такая проблема.
Перенесли БДшку с сервера (windows server 2016, sql server 2016) на сервер (windows server 2019, sql server 2019), сейчас БД в совместимости sql server 2016.
После переноса день-два всё работало стабильно, потом начались тормоза. Часть запросов выполняется по 1 мин., вместо 2-3 секунд.
Начал делать перестроение индексов, скуль полностью заблочил таблицу, пришлось ребутить и убивать запрос на перестроение.
После ребута, работа нормализовалась, индексы так же хорошо перестроились и быстро перестроились.
Спустя 2-3 дня снова такие же тормоза.

Что пробовал делать:
- обновление планов запроса (выполняется быстро, но не помогает);
- перестроение индекса (скуль блочит таблицу, приходится ребутить);
- выполнял dbcc flushprocindb и dbcc freeproccache (выполняются быстро, но не помогает);

В общем у меня идеи закончились куда копать. Сталкивался кто с таким? Может перевести БДшку в режим совместимости 2019?

Кто что посоветует?
...
Рейтинг: 0 / 0
05.03.2021, 15:07
    #40051092
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зависание sql server
Max_Tpop,

для начала покажите
select @@version
...
Рейтинг: 0 / 0
05.03.2021, 15:09
    #40051093
teCa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зависание sql server
Max_Tpop,

Может быть tempdb на медленном диске оставили или одним файлом?
...
Рейтинг: 0 / 0
05.03.2021, 15:19
    #40051099
Max_Tpop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зависание sql server
komrad,

Microsoft SQL Server 2019 (RTM) - 15.0.2000.5 (X64) Sep 24 2019 13:48:23 Copyright (C) 2019 Microsoft Corporation Enterprise Edition (64-bit) on Windows Server 2019 Standard 10.0 <X64> (Build 17763: )
...
Рейтинг: 0 / 0
05.03.2021, 15:22
    #40051102
Max_Tpop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зависание sql server
teCa,

на nmve лежит БДшка, логи на ssd, tempdb на ssd (не один файл)
логи и tempdb на одном диске
...
Рейтинг: 0 / 0
05.03.2021, 15:28
    #40051105
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зависание sql server
Max_Tpop
komrad,

Microsoft SQL Server 2019 (RTM) - 15.0.2000.5 (X64) Sep 24 2019 13:48:23 Copyright (C) 2019 Microsoft Corporation Enterprise Edition (64-bit) on Windows Server 2019 Standard 10.0 <X64> (Build 17763: )


у вас RTM, на который вышло уже 9 фиксов

Max_Tpop- перестроение индекса (скуль блочит таблицу, приходится ребутить);

это в общем нормально, в зависимости от команды
ребут сервера - это через чур

какие профилактические работы настроены и с какой периодичностью?

Max_TpopВ общем у меня идеи закончились куда копать.

Для начала попробуйте обновить статистику на базе.

В 2019 доступен QueryStore - посмотрите на планы ваших тормозящих запросов.
...
Рейтинг: 0 / 0
05.03.2021, 18:11
    #40051148
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зависание sql server
Max_Tpop
teCa,

на nmve лежит БДшка, логи на ssd, tempdb на ssd (не один файл)
логи и tempdb на одном диске


простите, а "лежит БДшка" - означает "база"?
...
Рейтинг: 0 / 0
05.03.2021, 21:54
    #40051223
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зависание sql server
Max_Tpop,

проверьте настройки подключений по умолчанию сервера на соответствие набору ansi defaults, кроме всего прочего.
...
Рейтинг: 0 / 0
08.03.2021, 10:52
    #40051533
Max_Tpop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зависание sql server
komrad,

Обновили сервер до версии
Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64) Jan 25 2021 20:16:12 Copyright (C) 2019 Microsoft Corporation Enterprise Edition (64-bit) on Windows Server 2019 Standard 10.0 <X64> (Build 17763: )
Но не особо помогло.

Профилактические работы раз в день с утра, обновление статистики и перестроение/реорганизация индексов
...
Рейтинг: 0 / 0
08.03.2021, 10:54
    #40051534
Max_Tpop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зависание sql server
Ролг Хупин,

Да, база данных находится на NVMe носителе
Логи и tempdb на отдельном SSD
...
Рейтинг: 0 / 0
08.03.2021, 10:55
    #40051536
Max_Tpop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зависание sql server
Владислав Колосов,

Настройки сервера по умолчанию, ничего не включали (в общем все галки сняты из этого раздела)
...
Рейтинг: 0 / 0
08.03.2021, 14:35
    #40051608
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зависание sql server
Max_Tpop,

поставьте так
...
Рейтинг: 0 / 0
08.03.2021, 14:38
    #40051610
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зависание sql server
Max_Tpop,

верная картинка
...
Рейтинг: 0 / 0
08.03.2021, 17:34
    #40051660
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зависание sql server
перестроение индексов отменить, для проблемных запросов смотреть планы
Причины по которым планы могут менятся изложены здесь
http://sqlcom.ru/dba-tools/sql-server-management-studio-optimization-part-1/
http://sqlcom.ru/dba-tools/sql-server-management-studio-optimization-part-2/
http://sqlcom.ru/dba-tools/sql-server-management-studio-optimization-part-3/
...
Рейтинг: 0 / 0
08.03.2021, 17:41
    #40051662
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зависание sql server
Max_Tpop

Начал делать перестроение индексов, скуль полностью заблочил таблицу, пришлось ребутить и убивать запрос на перестроение.

оффлайновое перестроение всегда лочит таблицу,
не нравится, перестаивайте онлайново, редакция позволяет.
---
чем не угодил kill убить rebuild, что за мания чуть что "ребутить"?
---
статистику ожиданий покажите:
SQL Server Wait Statistics
на сервере, куда меня позвали разбираться,
любители апдэйтить по 20млн строк за раз лочили таблицы эксклюзивно целиком (lock escalation),
а лечили это ребутом.
ну да, если отвалить всех блокировщиков, таблицы неожиданно становятся доступными.
их рассказы на ваши похожи
...
Рейтинг: 0 / 0
09.03.2021, 09:44
    #40051770
Max_Tpop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зависание sql server
Yasha123,

Yasha123чем не угодил kill убить rebuild, что за мания чуть что "ребутить"?
kill не помогает, пробовал, всё зависает.

Сейчас еще заметил особенность, при добавление constraint всё так же зависает...до этого, на другом сервере, constraint добавлялись быстро и не висло ничего.
...
Рейтинг: 0 / 0
09.03.2021, 09:46
    #40051772
Max_Tpop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зависание sql server
Владислав Колосов,

включение этих галок может привести к неработоспособности текущих запросов? Поверх БД написано очень много кода на C#, с помощью которого дергается БДшка (выполнение запросов через System.Data.SqlClient)
...
Рейтинг: 0 / 0
09.03.2021, 09:48
    #40051774
Max_Tpop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зависание sql server
Yasha123,

БДшка больше OLTP, массовых апдейтов нет, в основном быстрые транзакции по работе с одной записью (вставка, обновление)
...
Рейтинг: 0 / 0
09.03.2021, 10:27
    #40051803
Max_Tpop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зависание sql server
Yasha123,

WaitTypeWait_SResource_SSignal_SWaitCountPercentageAvgWait_SAvgRes_SAvgSig_SCXPACKET1530824.411452679.1578145.2672271432836.170.00210.00200.0001SOS_SCHEDULER_YIELD1152985.75153.921152831.8335994301927.240.00320.00000.0032LATCH_EX1070784.87997224.9973559.8871537376125.300.00150.00140.0001LCK_M_IS160630.80160583.7447.0768553.8023.432623.42580.0069LCK_M_IX108341.18108311.5029.68653112.561.65891.65840.0005
...
Рейтинг: 0 / 0
09.03.2021, 12:49
    #40051860
teCa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зависание sql server
Max_Tpop
Yasha123,

WaitTypeWait_SResource_SSignal_SWaitCountPercentageAvgWait_SAvgRes_SAvgSig_SCXPACKET1530824.411452679.1578145.2672271432836.170.00210.00200.0001SOS_SCHEDULER_YIELD1152985.75153.921152831.8335994301927.240.00320.00000.0032LATCH_EX1070784.87997224.9973559.8871537376125.300.00150.00140.0001LCK_M_IS160630.80160583.7447.0768553.8023.432623.42580.0069LCK_M_IX108341.18108311.5029.68653112.561.65891.65840.0005


Первые 2 строки - это ожидания связанные с CPU, почитал несколько статей по этим типам ожидания,
Понял - что эта статистика может как означать нехватку ресурса CPU, так и указывать на то, что сервер просто хорошо работает с параллелизмом.
Не понял - как выяснить, проблема это или нет, на одном из моих серверов примерно такая же статистика, при этом загрузка CPU в пределах 80%.

Интересно послушать мнение специалистов.
...
Рейтинг: 0 / 0
09.03.2021, 12:54
    #40051864
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зависание sql server
Max_Tpop
Владислав Колосов,

включение этих галок может привести к неработоспособности текущих запросов? Поверх БД написано очень много кода на C#, с помощью которого дергается БДшка (выполнение запросов через System.Data.SqlClient)


Да, некоторые могут оказать влияние, например, если вы намеренно используете игнорирование NULL при конкатенации. В таком случае, включите только арифметические прерывания. MS настоятельно рекомендует включать эту настройку для формирования оптимальных планов запроса.
...
Рейтинг: 0 / 0
09.03.2021, 13:05
    #40051877
Max_Tpop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зависание sql server
teCa
Max_Tpop
Yasha123,

WaitTypeWait_SResource_SSignal_SWaitCountPercentageAvgWait_SAvgRes_SAvgSig_SCXPACKET1530824.411452679.1578145.2672271432836.170.00210.00200.0001SOS_SCHEDULER_YIELD1152985.75153.921152831.8335994301927.240.00320.00000.0032LATCH_EX1070784.87997224.9973559.8871537376125.300.00150.00140.0001LCK_M_IS160630.80160583.7447.0768553.8023.432623.42580.0069LCK_M_IX108341.18108311.5029.68653112.561.65891.65840.0005


Первые 2 строки - это ожидания связанные с CPU, почитал несколько статей по этим типам ожидания,
Понял - что эта статистика может как означать нехватку ресурса CPU, так и указывать на то, что сервер просто хорошо работает с параллелизмом.
Не понял - как выяснить, проблема это или нет, на одном из моих серверов примерно такая же статистика, при этом загрузка CPU в пределах 80%.

Интересно послушать мнение специалистов.

ну нехватка ЦПУ точно мимо, конфигурация сервера мощная

ЦП

Intel(R) Xeon(R) Gold 6240 CPU @ 2.60GHz

Базовая скорость: 2,60 ГГц
Сокетов: 2
Ядра: 36
Логических процессоров: 72
Виртуализация: Включено
Кэш L1: 2,3 МБ
Кэш L2: 36,0 МБ
Кэш L3: 49,5 МБ

Использование 38%
Скорость 3,37 ГГц
Время работы 13:21:19:45
Процессы 160
Потоки 7633
Дескрипторы 135735
...
Рейтинг: 0 / 0
09.03.2021, 13:06
    #40051879
Max_Tpop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зависание sql server
Владислав Колосов
Max_Tpop
Владислав Колосов,

включение этих галок может привести к неработоспособности текущих запросов? Поверх БД написано очень много кода на C#, с помощью которого дергается БДшка (выполнение запросов через System.Data.SqlClient)


Да, некоторые могут оказать влияние, например, если вы намеренно используете игнорирование NULL при конкатенации. В таком случае, включите только арифметические прерывания. MS настоятельно рекомендует включать эту настройку для формирования оптимальных планов запроса.


Вечером попробуем включить данную настройку, отпишусь по результатам
...
Рейтинг: 0 / 0
09.03.2021, 14:13
    #40051915
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зависание sql server
Max_Tpop
Yasha123,

БДшка больше OLTP, массовых апдейтов нет, в основном быстрые транзакции по работе с одной записью (вставка, обновление)


1. что такое "БДшка" ?
2. что значит фраза "БДшка больше OLTP"?
3. спасиба
...
Рейтинг: 0 / 0
09.03.2021, 14:40
    #40051927
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зависание sql server
ну вот же LCK_M_IS, LCK_M_IX.
лочите вы свои таблицы целиком,
или потому что ребилдите оффлайново
(энтерпрайз же, приспичило днем ребилдить, делайте онлайново),
или апдэйтите тучу строк и у вас идет эскалация до таблицы,
или кто-то нарочно хинты использует TABLOCK/TABLOCKX.
для разблокировки читателей, ибо они точно ждут, на базе включите RCSI.
будут читать последнюю закоммиченную копию, LCK_M_IS уйдет.
для разруливания писателей ищите, какие таблицы лочатся целиком массовыми апдэйтами или вставками с таблоком.
проверьте все модули на наличие таблоков в виде хинтов,
не найдете хинты, ищите, на каких таблицах апдэйтите просто тучу строк за раз.
да скорее всего и сами знаете, куда временами не можете достучаться.
разбивайте апдэйты на пачки или переносите на ночь
или на проблемных таблицах запретите эскалацию
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Зависание sql server / 25 сообщений из 36, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]