Вход | Регистрация
 

Взаимосвязь управляемых блокировок 1С и эскалации блокировок СУБД

Взаимосвязь управляемых блокировок 1С и эскалации блокировок СУБД
Я
   yabes
 
27.04.20 - 13:46
Подскажите, пожалуйста, нигде не смог найти ответа на свой вопрос. Может ли установка управляемых блокировок 1с повлиять на эскалацию блокировок СУБД? У меня при записи большого набора записей возникает эскалация блокировок СУБД. Существует мнение, что если установить по измерениям управляемую блокировку 1С, это поможет убрать эскалацию блокировок СУБД. У меня избавиться от эскалации таким образом не получилось и статью, в которой бы говорилось о такой взаимосвязи я тоже не нашел. Так можно ли избавится от эскалации блокировок СУБД с помощью управляемых блокировок 1С или нет?)
   fisher
 
1 - 27.04.20 - 13:51
Можно. Или нельзя. Зависит от причины эскалации.
Прямой взаимосвязи нет никакой.
   fisher
 
2 - 27.04.20 - 13:55
Вообще, если запись одним набором, то непонятно как помогут управляемые блокировки. СУБД видит тонны блокировок строк и вполне естественно делает эскалацию, чтобы оптимизировать блокировки. А нет вариантов более гранулярно писать?
   fisher
 
3 - 27.04.20 - 13:59
Возможно, исходное мнение имело в виду, что при параллельной записи можно делать грануляцию по измерениям и использование управляемых блокировок при этом уменьшит количество блокировок СУБД в конфликтных ситуациях.
   fisher
 
4 - 27.04.20 - 14:00
Потому что конфликт будет разрулен еще на уровне управляемых блокировок, не доводя его до СУБД.
   fisher
 
5 - 27.04.20 - 14:02
Но если алгоритм параллелизации исключает конфликты, то что в лоб, что по лбу.
   H A D G E H O G s
 
6 - 27.04.20 - 14:24
(0) Нельзя.
Юзайте ключ трассировки 1211
https://its.1c.ru/db/metod8dev#content:5946:hdoc
   palsergeich
 
7 - 27.04.20 - 14:30
(0) Нет это не так работает.
   palsergeich
 
8 - 27.04.20 - 14:33
Грубо из коробки у MSSQL триггер эскаляции 5000, у управляемой блокировки 100000
Если ты пишешь разом более 5000 записей то или юзай ключи трассировки или воспринимай это как неизбежное
   palsergeich
 
9 - 27.04.20 - 14:33
   H A D G E H O G s
 
10 - 27.04.20 - 14:40
(8) Откуда дровишки про 100000 строк от сервера 1С?
   H A D G E H O G s
 
11 - 27.04.20 - 14:41
От сервера 1С есть еще охеренные неявные блокировки при записи НабораЗаписей РС в режиме перезаписи. Но там думать надо, не копать.
   yabes
 
12 - 27.04.20 - 16:00
Т.е. получается, что если требуется провести документ, который записывает в регистр большой набор записей (> 10 000 строк), то нет никакой возможности избежать эскалации блокировок СУБД, кроме как отключить эскалацию MS SQL для таблицы? В нашем случае мы мучаемся с сохранением документов “Форма ввода бюджета”
   H A D G E H O G s
 
13 - 27.04.20 - 16:22
(12) Включите флаг 1211 и перезагрузите сервак. Ну написано же.
   yabes
 
14 - 27.04.20 - 16:27
(13) Так я и спрашиваю в сообщении (12), если другая возможность избавиться от эскалации блокировок СУБД, кроме как отключить эскалацию MS SQL для конкретной таблицы или всего сервера (с помощью флага трассировки 1211)?
   Вафель
 
15 - 27.04.20 - 16:28
ну можно еще мин размер увеличить
   fisher
 
16 - 27.04.20 - 16:31
(12) И что они блокируют? Или вы их параллельно проводите?
   H A D G E H O G s
 
17 - 27.04.20 - 16:38
(14) Можно для таблицы SQL через Alter Table
поставить
LOCK_ESCALATION =disable

Но зачем?
   yabes
 
18 - 27.04.20 - 16:39
(16) Возникает эскалация блокировок СУБД по регистру накопления, в котором хранятся данные по бюджету. В такие моменты другие документы, которые делают движение по этому регистру периодически вылетают с ошибками превышения ожидания на блокировках
   yabes
 
19 - 27.04.20 - 16:40
(17) "Но зачем?" - вы имеете в виду зачем устанавливать на таблицу если можно установить на весь сервер или зачем вообще это нужно?
   fisher
 
20 - 27.04.20 - 16:53
(18) Пытаюсь сообразить, какие еще документы могут двигать бюджет.
   H A D G E H O G s
 
21 - 27.04.20 - 16:55
(19) Да, если можно установить на весь сервер.
По опыту - никакого особого повышенного потребления памяти или CPU это не вызывает
   yabes
 
22 - 27.04.20 - 16:58
(20) Хотя бы другие Формы ввода бюджета, например
   fisher
 
23 - 27.04.20 - 17:13
(22) Вот я и спрашивал - вы их параллельно проводите? Тогда ясно. Неясно только почему такая огромная детализация, если существует еще и дополнительная гранулярность (раз параллельно проводить надо).
Если это какие-то распределения, то их можно попробовать делать отложенно. Таблицы не любят, когда в них пытаются параллельно писать громадными порциями :) Когда это реально надо - там специально заморачиваются. Секционирование таблиц делают или еще чего похлеще.


Список тем форума
Рекламное место пустует  Рекламное место пустует
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.