Имя: Пароль:
1C
1С v8
Конфликт блокировок при открытии документа
0 cons74
 
23.12.16
07:16
УПП, ms sql
Конфликт при открытии требования-накладной. РТУ/ПТУ - без проблем.
Раньше иногда появлялась такая проблема, но эпизодически. Решал путем dbcc freeproccache. Сейчас это не помогает.
Вчера пробовал перезапустить раб. процессы сервера приложения 1С, перезапуск самой службы сервера 1с - без результата.
Помог лишь перезапуск скуля.
Но это слишком круто для ежедневного применения (сегодня опять та же проблема).
В конфу не думаю чтоб что-то вносили по ТН, хотя посмотрю конечно.
1 cons74
 
23.12.16
08:36
ап
2 Лефмихалыч
 
23.12.16
08:46
http://www.forum.mista.ru/rules.php#rec
в топике практически нет информации
3 Мимохожий Однако
 
23.12.16
08:57
Проверь, например, регламентные задания, которые пристают к документам
4 cons74
 
23.12.16
09:26
(2) на мой взгляд все есть. Чего вам не хватает?
5 cons74
 
23.12.16
09:28
Платформа 8.2.19.106
УПП 1.3.65.3
SQL 10.50.1600.1
6 cons74
 
23.12.16
09:30
(3) отключал, проверил - толку нет.
7 Feanor
 
23.12.16
09:36
Как выглядит сообщение о конфликте?
8 cons74
 
23.12.16
09:42
9 Feanor
 
23.12.16
09:44
(8) и зачем нужно что-то делать в транзакции при открытии документа?
10 cons74
 
23.12.16
09:48
(8) я не знаю. В отладчике даже в Форма.ПередОткрытием() не заходит. Вообще ни одного шага - сразу конфликт блокировок.
11 Dotoshin
 
23.12.16
09:59
(10) Ну посмотри в модуле объекта может что-то вызывается при открытии...
12 Feanor
 
23.12.16
10:02
(10) тогда лови в профайлере запрос, который завершается с ошибкой блокировки
13 Мимохожий Однако
 
23.12.16
10:31
Еще есть обработчики событий нетиповые
14 Demiurg
 
24.12.16
11:27
бубны это хорошо
но лучше выяснять настоящие причины http://www.gilev.ru/deadlock/
15 cons74
 
28.12.16
08:03
(12) как его поймать, какой фильтр по ошибке блокировки?
16 cons74
 
28.12.16
08:25
(14) ничего не ловит
17 ptiz
 
28.12.16
09:03
(10) Посмотри еще модуль документа, в самом низу, что вызывается при создании объекта?
18 Optan
 
28.12.16
09:21
(0) Запусти на SQL запрос от Гилева:
SELECT DB_NAME(pr1.dbid) AS 'DB'
      ,pr1.spid AS 'ID жертвы'
      ,RTRIM(pr1.loginame) AS 'Login жертвы'
      ,pr2.spid AS 'ID виновника'
      ,RTRIM(pr2.loginame) AS 'Login виновника'
      ,pr1.program_name AS 'программа жертвы'
      ,pr2.program_name AS 'программа виновника'
      ,txt.[text] AS 'Запрос виновника'
FROM   MASTER.dbo.sysprocesses pr1(NOLOCK)
       JOIN MASTER.dbo.sysprocesses pr2(NOLOCK)
            ON  (pr2.spid = pr1.blocked)
       OUTER APPLY sys.[dm_exec_sql_text](pr2.[sql_handle]) AS txt
WHERE  pr1.blocked <> 0

Показывает что нибудь?
19 cons74
 
28.12.16
09:49
(17) пишу же - в модуль НЕ ЗАХОДИТ!!! Сколько еще повторять?
20 cons74
 
28.12.16
09:51
21 Optan
 
28.12.16
09:53
(20) Открывай консоль администрирования смотри столбец "Соединение с СУБД" и вычисли негодяя)
Ну и заодно посмотри на какой таблице "Затык"...
22 cons74
 
28.12.16
09:59
(20) blyat! Регламентное обслуживание СУБД не успевает завершиться (обслуживание индексов).
Всем спасибо все свободны.
Отдельное спасибо Optan
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший