Имя: Пароль:
1C
1С v8
ошибка с tempdb
0 Eugene7777
 
11.10.16
09:18
добрый день, ошибка больше по SQL, но т.к. конфигурация с 1С сервером, возможно вы что-то подскажете..
имеется MS SQL 2008 R2 Express, 1С сервер, 4 базы 1С (Альфа-Авто). Сервер Intel Xeon E5520 (2 процессора), 24 Гб ОЗУ, Windows Server 2008 R2 Standard.
Последнее время SQL начал чудить: когда сотрудник отдела сервиса создает заказ-наряд на ремонт авто - 1с зависает (не всегда). При этом на сервере видно, что в консоли 1С Servers растут цифры в колонках Соединение с СУБД и Захвачено СУБД, а в мониторе ресурсов идет бешеная запись/чтение файла tempdb.mdf (обычно в районе 12-13 Мбайт/с). Пока лечится только перезапуском службы MS SQL Server, при этом если сначала не закрыть (пусть и аварийно) 1с на ПК где идет захват СУБД - перезапуск не помогает. Если удалить этот "захваченный" сеанс из консоли сервера - потом невозможно зайти в 1с, выдается ошибка сразу после ввода логина/пароля. Примечательно, что происходит это только в 1 базе и только у двух человек (которые непосредственно и создают заказ-наряды).
Что пробовал делать: 1) проверять жесткие диски с базами и логами - они в порядке; 2) переносить tempdb и сами базы на другие диски (разные), менять размер базы tempdb; 3) проверять базы 1с на ошибки; 4) чистить кэш 1С на тех двух ПК, удалять и добавлять базу в список с другим именем.
Осложняется дело тем, что ошибка плавающая, например, день-два работают нормально, на третий зависнет, хотя все делается одинаково. Помогите пожалуйста понять в чем причина такого поведения?
1 polosov
 
11.10.16
09:23
(0) ЖР открывается?
2 Повелитель
 
11.10.16
09:24
(0) В tempdb пишутся таблицы из МенеджерВременныхТаблиц.
Если есть кривой запрос с использованием временных таблиц, то такая картина возможна как у вас.
3 Eugene7777
 
11.10.16
09:28
(1) пардон, ЖР это что?
4 Eugene7777
 
11.10.16
09:29
(2) за это отвечает программист, запросы он проверил, но если есть кривой запрос, тогда почему ошибка не появляется всегда при создании заказ-наряда, а только время от времени..
5 Ёпрст
 
гуру
11.10.16
09:30
>>>Express

каков размер базы то хоть ?
6 Повелитель
 
11.10.16
09:32
(4) Не всегда выполняется запрос, может там условия какие-то. Например при неоперативно проводимом документе или наооборот, только при оперативно проводимом документе.

Запрос должно быть видно в SQL Server Profiler
7 polosov
 
11.10.16
09:35
(3) Журнал регистрации в приложении 1С
8 Повелитель
 
11.10.16
09:39
(6) Если именно при создании документа.
То программист еще мог так написать.
Если Ответсвенный = "Пупкин А.А." и Дата < 12:00 Тогда
ВешаемСервакНаЗлоАдминуОнМнеПиваДолжен();
КонецЕсли;
9 Dmitrii
 
гуру
11.10.16
09:40
Подобные "плавающие" ошибки диагностируются только через технологический журнал.
Включайте ТЖ.
http://its.1c.ru/db/v839doc#bookmark:adm:ti000000157
http://its.1c.ru/db/metod8dev/content/3474/hdoc/_top/%F2%E5%F5%ED%EE%EB%EE%E3%E8%F7%E5%F1%EA%E8%E9%20%E6%F3%F0%ED%E0%EB
Для начала можете ограничиться логированием только исключительных событий - EXCP.
Ждите повторения инцидента. Анализируйте логи ТЖ.
10 пипец
 
11.10.16
09:42
(0)обслуживание сервера производится вообще ? включая действия с SQL и ч осью ? (темпы и все такое)
ЗЫ а ничо что скуль делит процессы на уровне сервера а не на уровне баз данных ?
ЗЫЫ в это время ничо никто не копирует по сети ?
11 Eugene7777
 
11.10.16
09:48
(5) той, где происходит ошибка 3.04 Гб (размер mdf файла)
12 Eugene7777
 
11.10.16
09:56
(10) Сервера, да, производится. В журналах Windows никаких ошибок связанных с этой проблемой не обнаружено. С SQL - регламентные задания (Обновление статистик, Очистка процедурного КЭШа, Дефрагментация индексов, Реиндексация таблиц базы данных) насколько я знаю не производится.
13 dmrjan
 
11.10.16
10:31
3Гб это еще ничего, хотя просто стоит ограничить размер tempdb. Тут еще есть предположение, что проблемы с tempdb могут возникать при аварийной перезагрузке сервера. В свое время у нас на базе Раруса tempdb вырос более 100гб, заняв почти все свободное место на диске, причем перезапуск компьютера не помогал.
14 Eugene7777
 
11.10.16
10:45
(13) за размером слежу, пробовал изменять начальный размер ему (до 200-250 Мб), такого размера он и есть, не растет вообще. Аварийных перезагрузок сервера тоже нет. Он работает штатно и 2-3 раза в месяц перезагружается корректно в ночное время.
15 DrZombi
 
гуру
11.10.16
10:47
(0) Текст ошибки покажи
16 DrZombi
 
гуру
11.10.16
10:48
(4) ГУАНО код, он обычно всплывает при нагрузки на БД :)
17 DrZombi
 
гуру
11.10.16
10:51
(0) >>> а в мониторе ресурсов идет бешеная запись/чтение файла tempdb.mdf

Проверьте сперва руки программиста, посмотрите код :)
18 gorakh
 
11.10.16
11:06
Раз на платформе 8.2 динамическое обновление привело к SELECT "tab" FROM --Config   до 100000 раз в сек. Помогло тестирование и исправление в конфигураторе.
19 0wl
 
11.10.16
11:17
1C какой версии? 8.2 или 8.3? режим совместимости используется? Сколько пользователей работает?
20 Eugene7777
 
11.10.16
11:25
(15) "Ошибка преобразования данных XDTO" (это которая возникает, если захваченный сеанс убить в консоли 1с сервер)
21 Eugene7777
 
11.10.16
11:26
(19) 1С 8.2, режим совместимости не используется, пользователей.. если по консоли 1с сервер, в часы пик 30-33 сеанса
22 0wl
 
11.10.16
12:06
(21) Ок. Я думал про блокировки на Read committed snapshot, но 8.2 такого не использует. Тогда тех журналом ловить контекст долгих вызовов и, параллельно, по коду искать возможные проблемы с временными таблицами