|
Блокировка при проведении РСВ вне транзакции | ☑ | ||
---|---|---|---|---|
0
noxxx
08.05.13
✎
11:59
|
Запускаем РСВ в УПП вне транзакции, он всё рассчитывает, выдает сообщения о том сколько итераций расчета было проведено, о том какая точность достигнута, и потом выдает сообщение о том, что превышен интервал ожидания блокировки при записи в регистр (какой точно - уже не помню, но по-моему корректировка себестоимости продукции).
При этом в консоли если смотреть сеансы, то никто другой блокировки не устраивает (колонки Захвачено СУБД и Заблокировано СУБД). Смотреть блокировки по сеансам - вообще не понимаю что оно показывает и зачем это надо. Куда можно копнуть? |
|||
1
noxxx
08.05.13
✎
12:01
|
Причем это случается и в 2 часа ночи, когда в базе гарантировано никого нет кроме запускающего РСВ.
Фоновых заданий, блокирующих что-либо нет. |
|||
2
tushich
08.05.13
✎
12:03
|
(1) режим блокировок какой на конфе стоит?
|
|||
3
noxxx
08.05.13
✎
12:08
|
(2) Управляемый
|
|||
4
noxxx
08.05.13
✎
12:15
|
А в документе РСВ режим управления блокировками стоит "Автоматический"
|
|||
5
tushich
08.05.13
✎
12:28
|
(4) блокировки могут возникать на уровне 1с. Бери ЦУП и мониторь. Можно в ТЖ настроить ведение блокировок 1с, не помню что за параметр. По профайлеру посмотри, это при условии что блокировка уже на сервере. Но если ты один в базе, то врядли может быть ожидание на блокировке.
|
|||
6
noxxx
08.05.13
✎
12:30
|
(5) Так в том-то и фишка, что в базе нет никого, а блокировка есть.
|
|||
7
noxxx
08.05.13
✎
12:32
|
(5) А ничего что в конфе стоит управляемый режим, а у документа - автоматический? Не должен ли стоять режим управляемый + автоматический?
|
|||
8
tushich
08.05.13
✎
12:49
|
(7) Если на конфе стоит Управляемый то для всех транзакций будет управляемый, вне зависимости от того какой режим у объектов.
|
|||
9
tushich
08.05.13
✎
12:51
|
(6) сам себя ты не можешь блокировать! Никак!
|
|||
10
tushich
08.05.13
✎
12:57
|
(0) Еще можно текущие блокировки посмотреть в Activity monitor в Менеджмент студио Скуля. Удачи)
|
|||
11
Базис
naïve
08.05.13
✎
13:01
|
А зачем ночью запускать РСВ вне транзакции? Я это в обед делаю, чтоб другим меньше мешать. Но ночью-то делайте быстро и в транзакции.
|
|||
12
noxxx
08.05.13
✎
14:45
|
Еще раз запустил что бы точное сообщение получить.
Я так понимаю это сообщение MS SQL же, а не сервера 1С? {ОбщийМодуль.КорректировкаСтоимостиУчетЗатрат.Модуль(1258)}: Ошибка при вызове метода контекста (Записать) НаборЗаписей.Записать(Ложь); по причине: Конфликт блокировок при выполнении транзакции: Microsoft OLE DB Provider for SQL Server: Lock request time out period exceeded. HRESULT=80040E31, SQLSrvr: SQLSTATE=HYT00, state=38, Severity=10, native=1222, line=1 |
|||
13
neckto
08.05.13
✎
14:59
|
На каком регистре блокировка?
|
|||
14
tushich
08.05.13
✎
15:00
|
(12) да это SQL. Стваь точку останова и смотри в (10)
|
|||
15
noxxx
08.05.13
✎
21:45
|
(14) ОК, спасибо, посмотрю
|
|||
16
krbIso
08.05.13
✎
22:22
|
1. модификация данных всегда идет в транзакции.
2. проверьте параметр max degree of parallelism в SQL, если 0 то поставьте 1 |
|||
17
Reaper_1c
08.05.13
✎
22:34
|
(9) У вас серьезный пробел в подготовке. То, что РСВ проводится вне транзакции - значит лишь то, что на уровне 1С действия производятся более чем в одной транзакции. MS SQL в своей работе накладывает блокировки совсем не на отдельные записи, а на диапазоны. При этом еще и тяготеет к эскалации после определенного уровня потребления ресурсов. Возникновение взаимоблокировки в таком режиме не является чем-то из ряда вон выходящим. Если в базе в это время никто не работает - что мешает запустить РСВ как полагается?
|
|||
18
tushich
09.05.13
✎
02:40
|
(17) т.е. вы хотите сказать что в 1с можно из под одного сеанса заблокировать самого себя? Докажите! На эксперте это преподается как аксиома, м.б. они не правы...
|
|||
19
Reaper_1c
09.05.13
✎
02:41
|
(18) Это у меня что ли РСВ не проводится?
|
|||
20
tushich
09.05.13
✎
02:44
|
(17) и при чем здесь дедлок? Если мы говорим об ожидании на блокировке?
|
|||
21
tushich
09.05.13
✎
02:47
|
(17) и на будущее 1с поддерживает только одну транзакцию в 1м сеансе. Ни вложенных ни паралельных в одном сеансе невозможно.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |