Лучший отвечающий
Sqlservr вдруг начинает потребять 100% процессора

Вопрос
-
С прошедшими праздниками!
На предприятии работает сервер 1С в связке с MS SQL сервер. Всё работает хорошо. Но иногда возникает проблема во время активной работы с базой данных: еженедельное задание по перепроведению документов за квартал, выполняется в течение суток. Чаще всего оно проходит без ошибок. Но иногда во время очередного перепроведения 1С начинает сыпать ошибками, а в мониторе ресурсов видно, что служба "sqlservr" утилизирует свыше 100% процессора (виртуальная машина с двумя виртуальными процессорами). В остальное время перепроведения этот показатель равен примерно 50%. Смотрел логи SQL и Windows - не увидел никаких аномалий в это время. Запланированных задач на это время ни в SQL, ни в Windows нету. Примерно через два часа ошибки прекращаются и перепроведение документов продолжается нормально. Что бы это могло быть? Время не рабочее, по-этому другие задачи не активны.Может ли быть такое, что SQL вдруг решает перестроить индексы? Как увидеть события по перестройке индесков в журнале? Какие могут быть другие причины?
8 января 2019 г. 14:20
Ответы
-
Вот статья, которая будет полезна в вашей ситуации.
Еще замечу, что статистика по ожиданиям, в том числе и по CPU, накапливается сиквелом и сбрасывается при перезапуске службы, либо при ручном обнулении статистики ожиданий.
Innovation distinguishes between a leader and a follower - Steve Jobs
- Помечено в качестве ответа Иван ПродановMicrosoft contingent staff, Moderator 31 января 2019 г. 8:47
15 января 2019 г. 9:14
Все ответы
-
Большинство проблем в связке 1C+SQL вызвано программистами желтой программы, учитывая что в логах у вас пусто, никаких запланированных задач нет и т.п., то нужно смотреть непосредственно на обработку 1С.9 января 2019 г. 6:13
-
Какая версия сиквела?
Посмотрите топ запросов по CPU и отдайте программистам 1С для анализа и оптимизации. Если поставите последнюю SSMS, то в ней есть дополнительный отчет по производительности сервера с перечнем тяжелых запросов
Также есть две волшебные "кнопки" для серверов SQL:
1. maxdop
2. перестройка индексов
Innovation distinguishes between a leader and a follower - Steve Jobs
9 января 2019 г. 7:18 -
Версия СУБД MS SQL Server 2014 Standard ver. 12.0.5589.7. Версия SSMS такая же.
Я правильно понимаю, топ запросов и отчеты производительности нужно смотреть в момент возникновения проблемы? Если да, то это затруднительно, т. к. проблема возникает редко, и мне придется еженедельно после запуска перепроведения документов сутки следить за показателями. Это не реально. Как в SQL-сервере посмотреть тяжелые запросы, которые выполнялись, скажем, вчера? Вот сейчас смотрю отчет "Performance - Top queries by total CPU time", вижу на первом месте запрос, который выполнялся 2 минуты. Может это был тяжелый отчет, а может что-то другое. Как понять, когда этот запрос выполнялся последний раз?- Изменено yurybx 10 января 2019 г. 9:04
10 января 2019 г. 8:54 -
Вот статья, которая будет полезна в вашей ситуации.
Еще замечу, что статистика по ожиданиям, в том числе и по CPU, накапливается сиквелом и сбрасывается при перезапуске службы, либо при ручном обнулении статистики ожиданий.
Innovation distinguishes between a leader and a follower - Steve Jobs
- Помечено в качестве ответа Иван ПродановMicrosoft contingent staff, Moderator 31 января 2019 г. 8:47
15 января 2019 г. 9:14