|
конфликт блокировок после обновления sql server 2012 до 2017
|
|||
---|---|---|---|
#18+
Дано: server 2012r2 и была установлена на нем sql server 2012 Пришла в голову идея обновить скуль до более новой версии (с нового года переходили в новую базу, т.к. старая разрослась и еле работала) - 2017 максимально возможная на server 2012r2 Был сделан бэкап баз, сами базы физически остались на дисках, их не удаляли. Удалили старый ms sql 2012, установили 2017.. Решил не восстанавливать бд из бэкапов, а просто через attach присоединить - скуль базы принял, ошибок не выдал. Далее на скуле было включено ограничение на использование памяти - выделил 70 гб из 120 а так же установил maxdop = 1, т.к. используем бд для 1с В общем, через пару дней, пользователи начали массово жаловаться о том что система выдает ошибку на конфликт блокировок. смотрю нагрузку на проц - скуль и 1с не грузят его даже на 10% запустил скрипт по ссылке (Анализ ожидания блокировок SQL сервера) результат пока в спойлере... но это значения пока часть ушла на обед... чуть позже еще запущу p.s. регламентные задания настроены.. сама база маленькая - 8гб только весит ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2022, 12:53 |
|
конфликт блокировок после обновления sql server 2012 до 2017
|
|||
---|---|---|---|
#18+
Здесь важно: "скуль", "скуля", "на скуле" - сразу ясно, что проблемы решаемы Скуль на мастдайской венде инстолирован? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2022, 13:22 |
|
конфликт блокировок после обновления sql server 2012 до 2017
|
|||
---|---|---|---|
#18+
Ролг Хупин Здесь важно: "скуль", "скуля", "на скуле" - сразу ясно, что проблемы решаемы Скуль на мастдайской венде инстолирован? windows server 2012r2 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2022, 13:35 |
|
конфликт блокировок после обновления sql server 2012 до 2017
|
|||
---|---|---|---|
#18+
Jawakharlal система выдает ошибку на конфликт блокировок. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2022, 14:17 |
|
конфликт блокировок после обновления sql server 2012 до 2017
|
|||
---|---|---|---|
#18+
invm Jawakharlal система выдает ошибку на конфликт блокировок. И можно выловить на скуле х*еМеЛьный файл с блокировками ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2022, 14:29 |
|
конфликт блокировок после обновления sql server 2012 до 2017
|
|||
---|---|---|---|
#18+
invm Jawakharlal система выдает ошибку на конфликт блокировок. Microsoft SQL Server Native Client 11.0: Превышено время ожидания запроса на блокировку. HRESULT=80040E31, SQLSrvr, SQLSTATE=HYT00, state=33, Serverity=10, native=1222, line=1 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2022, 15:04 |
|
конфликт блокировок после обновления sql server 2012 до 2017
|
|||
---|---|---|---|
#18+
Jawakharlal, 1C у вас походу выставляет set lock_timeout посмотрите запросом если можете какое у него значение Код: sql 1.
поскольку глобальной настройки со стороны сервера нет, это настраивается для каждой сессии отдельно. видимо у вас как то 1С сконфигурированна так что она его выставляет. попробуйте покопаться в настройках конфигуратора и увеличить пороговое значение. или следите за блокировками и смотрите причину почему они у вас так долго держатся ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2022, 17:06 |
|
конфликт блокировок после обновления sql server 2012 до 2017
|
|||
---|---|---|---|
#18+
felix_ff Jawakharlal, 1C у вас походу выставляет set lock_timeout посмотрите запросом если можете какое у него значение Код: sql 1.
поскольку глобальной настройки со стороны сервера нет, это настраивается для каждой сессии отдельно. видимо у вас как то 1С сконфигурированна так что она его выставляет. попробуйте покопаться в настройках конфигуратора и увеличить пороговое значение. или следите за блокировками и смотрите причину почему они у вас так долго держатся Код: sql 1.
= -1 в самой конфигурации 1с указано по-умолчанию что таймаут на ожидание блокировки 20 сек.. так и получается - нажимает пользователь на "провести документ" - ловит ошибку через 20сек, пока программа "думает".. жмет повторить - и иногда сразу проходит, а иногда 4-6 раз приходится повторять, и каждый раз ждать по 20 сек, пока программа не выдаст ошибку ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2022, 17:30 |
|
конфликт блокировок после обновления sql server 2012 до 2017
|
|||
---|---|---|---|
#18+
Jawakharlal, можете настроить отчет о заблокированных процессах Код: sql 1.
после этого начнут формироваться события blocked-process-report https://docs.microsoft.com/ru-ru/sql/relational-databases/event-classes/blocked-process-report-event-class?view=sql-server-ver15 его можно отлавливать либо через профайлер либо через xEvent сессию. там будет информация о ресурсах на которые процесс не смог получить блокировку, с помощью нее анализируете свои запросы. видимо какой то из процессов у вас запускает длительную транзакцию которая блокирует строки в таблицах к которым обращаются пользователи, несовместимыми типами блокировок. типа: Код: sql 1. 2. 3.
ну и тому подобное, ищите причину в долгих запросах. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2022, 00:46 |
|
конфликт блокировок после обновления sql server 2012 до 2017
|
|||
---|---|---|---|
#18+
felix_ff, автор1C у вас походу выставляет set lock_timeout нет, это тайм-аут на самой 1С. Если ТС совсем не разбирается в вопросе, то можно установить на сервер http://whoisactive.com/ и понаблюдать - кто создаёт длительные блокировки. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2022, 12:34 |
|
конфликт блокировок после обновления sql server 2012 до 2017
|
|||
---|---|---|---|
#18+
Владислав Колосов, блокировки создает документ(это в принципе основной документ, с которым работают сотрудники) факт в том, что до перехода на 2017 sql - дедлоков не было.. но помимо обновления субд - программисты создали новую базу, и перенесли в нее конфигурацию (вместе со всякими справочниками, и прочими данными). вот я и не могу понять, кто крайний.. я или программисты. себя виню за то что подключил базу через attach - а не путем восстановления., т.к. не уверен что так можно, но раз ошибок при подключении не было - решил оставить как есть, дабы не тратить время на процедуру восстановления (т.к. старая база вместе с логом весила около 300гб)... за блокировками наблюдаю через утилиту MSSQL Blocks ver 1.9.22.117 , и код блокирующей транзакции всегда один и тот же. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2022, 13:26 |
|
конфликт блокировок после обновления sql server 2012 до 2017
|
|||
---|---|---|---|
#18+
Jawakharlal, это походу у вас последняя инструкция из пакета показана. у вас ожидающие сессии ждут U-блокировку на ключ индекса. а сессия которая держит данную блокировку в состоянии sleeping то есть простаивает с открытой транзакцией. предполагаю там была последовательность команд до этого вида: Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2022, 13:39 |
|
конфликт блокировок после обновления sql server 2012 до 2017
|
|||
---|---|---|---|
#18+
felix_ff, приложу пример... 3 блокировки: spid75: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38.
spid71: Код: sql 1. 2. 3. 4.
spid77: Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2022, 13:56 |
|
конфликт блокировок после обновления sql server 2012 до 2017
|
|||
---|---|---|---|
#18+
Уровень совместимости какой сейчас у БД? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2022, 16:48 |
|
конфликт блокировок после обновления sql server 2012 до 2017
|
|||
---|---|---|---|
#18+
Тяп-ляп Уровень совместимости какой сейчас у БД? сейчас 140 был вроде 100 (сама бд первоначально на старом серваке была на ms sql 2008, потом переехали на другой (2012), и как-то совместимость не трогали) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2022, 16:55 |
|
|
start [/forum/topic.php?fid=46&tid=1683902]: |
0ms |
get settings: |
13ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
167ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 298ms |
0 / 0 |