powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Зависание sql server
25 сообщений из 36, страница 1 из 2
Зависание sql server
    #40051090
Max_Tpop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем есть такая проблема.
Перенесли БДшку с сервера (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
Зависание sql server
    #40051092
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Max_Tpop,

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

Может быть tempdb на медленном диске оставили или одним файлом?
...
Рейтинг: 0 / 0
Зависание sql server
    #40051099
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: )
...
Рейтинг: 0 / 0
Зависание sql server
    #40051102
Max_Tpop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
teCa,

на nmve лежит БДшка, логи на ssd, tempdb на ssd (не один файл)
логи и tempdb на одном диске
...
Рейтинг: 0 / 0
Зависание sql server
    #40051105
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Зависание sql server
    #40051148
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Max_Tpop
teCa,

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


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

проверьте настройки подключений по умолчанию сервера на соответствие набору ansi defaults, кроме всего прочего.
...
Рейтинг: 0 / 0
Зависание sql server
    #40051533
Max_Tpop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Зависание sql server
    #40051534
Max_Tpop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

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

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

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

верная картинка
...
Рейтинг: 0 / 0
Зависание sql server
    #40051660
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
перестроение индексов отменить, для проблемных запросов смотреть планы
Причины по которым планы могут менятся изложены здесь
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
Зависание sql server
    #40051662
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Max_Tpop

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

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

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

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

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

БДшка больше OLTP, массовых апдейтов нет, в основном быстрые транзакции по работе с одной записью (вставка, обновление)
...
Рейтинг: 0 / 0
Зависание sql server
    #40051803
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
...
Рейтинг: 0 / 0
Зависание sql server
    #40051860
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%.

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

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


Да, некоторые могут оказать влияние, например, если вы намеренно используете игнорирование NULL при конкатенации. В таком случае, включите только арифметические прерывания. MS настоятельно рекомендует включать эту настройку для формирования оптимальных планов запроса.
...
Рейтинг: 0 / 0
Зависание sql server
    #40051877
Max_Tpop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Зависание sql server
    #40051879
Max_Tpop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
Max_Tpop
Владислав Колосов,

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


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


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

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


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


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