Стоит сервер 1С: собран на хорошем железе (2 процессора Intel Xeon E5620, 48Gb оперативки и т.д.), в качестве оси на нем Win2008 x64. В качестве СУБД используется MS SQL Server 2008 (SP3) - (X64).. На всем этом хозяйстве крутиться несколько больших баз под SQL (БП 2.0, БП 3.0, УТ 10.3) + с десяток мелких работает в обычном файловом режиме.
Около 2-х лет на серваке "жил" только сервер 1С 8.2.. затем появилась SQL-ная база Бухгалтерия 3.0, и пришлось паралельно с сервером 8.2 поставить сервер 8.3. Все это хозяйство до недавнего времени исправно работало, обновлялось и т.д.. Все было хорошо, но одновременное существование 2-х платформ на сервере напрягало. Поэтому некоторое время назад было решенено оставить на серваке только 1С Сервер 8.3, а 8.2 полностью удалить с сервера. Сделали, все вроде заработало... базы УТ 10.3 и БП 2.0 продолжили работать под сервером 8.3 в режиме совместимости с 8.2
И тут вылез неожиданный косяк, причем только под УТ 10.3
В системе вдруг стали появляться непонятные фантомные сеансы... точнее, спящие. Возникают они совершенно непредсказуемо.. несколько дней этот баг вообще может не проявляться, а затем в течении получаса вдруг в базе оказываются оказываются запущенными (и подвисшими) 5-6 сеансов одного пользователя.. какого-нибудь Иванова, например. Причем этот самый Иванов утверждает, что ничего такого не делал.. просто работал и все. Я сперва в это не верил, думал все-равно что-то должно перед этим происходить, пока не словил тот-же самый глюк: зашел в базу через конфигуратор, затем запустил ее в режиме отладки... по моему, дальше даже ничего не делал - т.е. не открывал никаких окон и не проводил документы - а просто закрыл и предприятие, и конфигуратор... После этого пытаюсь зайти снова, и вдруг вижу - не могу зайди в конфигуратор, якобы он уже запущен. Иду в консоль сервера 1С и вижу: оба моих сеанса (и в режиме конфигуратора, и запущенный через него сеанс предприятия) под моим именем, с моим временем предыдущего запуска - просто висят в консоли как спящие...
Пытаюсь победить этот глюк уже вторую неделю, и ничего не получается: переустанавливали 1С-ку (включая установку новых релизов), чистили кеш во всех сеансах, выгружали / загружали базу из dt (с полной очисткой базы после выгрузки в dt), пробовали играться с режимом совместимости (дефолтный 8.2.13 меняли на 8.2.16) - проблему победить так и не удалось. Самое смешное, что эти сеансы остаются в консоли сервера 1С даже после "железной" перезагрузки самого сервака. Убить их можно только в консоли, вручную, через правый клик > Удалить...
Главная проблема от этих фантомных сеансов:
1. бухи не могут начать монопольное перепроведение документов, т.к. даже если выгнали из базы всех "живых" пользователей, в системе остаются спящие сеансы
2. периодически звонят сами пользователи и жалуются, что не могут провести какой-нибудь документ... заходишь в консоль и видишь, что какой-нибудь сеанс Иванова поставил блокировку, а после этого заснул.. соответственно работа все это время стоит, проводить документы невозможно
Если кто-то сталкивался, прошу подсказать как можно пофиксить этот баг, т.к. возвращаться на 8.2 очень не хотелось бы..
На всякий случай привожу поясняющие скринтошы: делал их сегодня вечером, обратите внимание на сеаны Колотова, Храмцова, Мамонова. Этих юзеры к серверу не подключены. Более того, на сервере в момент снятия этих скриншотов сидел только я один, все остальные терминальные сессии были удалены (а юзеры работают в 1С исключительно через терминальное подключение к серваку)
Та же проблема на платформе 8.3 (изначально перехода с 8.2 на 8.3 не было), только база - одна - работает в режиме совместимости 8.2.16, и крутится на виртуальном 2008 (64) сервере. После перезагрузки сеансы не отваливались, грешил на то, что сервер - виртуальный, оказывается нет. Буду рад ели кто разобрался.
Для сеанса реализовано состояние Спящий, что позволяет сохранять сеанс при нештатном разрыве соединения с клиентским компьютером. В этом состоянии сеанс освобождает занятую лицензию (если таковая была получена). При назначении спящему сеансу соединения - сеанс автоматически лишается статуса Спящий. При «пробуждении» происходит попытка получения лицензии (если она требуется). При невозможности получения лицензии сеанс завершается аварийно. Реализована возможность автоматического завершения «спящего» сеанса при превышении временного порога. При разрыве клиентского соединения на сервере «1С:Предприятия» сеанс не завершается, а переходит в «спящее» состояние.
Настройки времени засыпания сеанса и времени завершения спящего сеанса доступны с помощью диалога настройки параметров информационной базы в конфигураторе.
На самом деле ты должен сделать два вывода
1) 1с почему-то считает окончание работы с ней аварийным завершением. Это основное направление, в котором тебе надо копать.
2) уменьшить время спящего сеанса - ты верно понял. Но это временная мера, она позволит тебе разобраться с основной проблемой.
(6) Vovan1975, Спасибо, 1С считает окончание работы с ней аварийным завершением т.к. польз-ли работают в терминалах и крестиком закрывают, а отключенный сеанс остается. Затем сервер автоматически через минуту сбрасывает отключенный сеанс. Тут по-моему 1С никак не объяснишь, что такое завершение не аварийно. Пользователям бесполезно объяснять как правильно закрывать сеанс, убрал с RDP-сеансов крестик, они тупо выключают локальный компьютер, тем самым сбрасывая свой сеанс в RDP.