Как работать, если было изменение даты/времени на сервере¶
Вопрос:
В СУБД Cache версий 5.0. возможны потери данных в случае перевода часов на сервере. Это может произойти в следующих случаях:
- Если дата сервера меньше, чем дата последнего входа пользователя.
-
Если уже после старта СУБД Cache будет изменение даты или времени больше, чем на 2 часа (в прошлое или будущее).
Примечание
Расхождение в 2 часа использовалось для того, чтобы учесть «штатные» сезонные переходы на зимнее и летнее поясное время.
Ответ:
-
Если при старте СУБД Cache дата сервера меньше, чем дата последнего входа пользователя (часы на сервере были переведены назад – в прошлое), то ситуация считается критической. Программа сообщает о расхождении дат и запрещает вход в систему.
В этом случае необходимо выполнить следующие действия:
-
Убедиться, что дата сервера соответствует текущей календарной дате. Если не соответствует – исправить.
-
Остановить СУБД Cache.
-
Переместить файлы с журналами .aij в резервный каталог (произвольный).
-
Запустить СУБД Cache.
-
Удалить данные хранения истории входа пользователей:
Через Проводник Cache' удалить в базе USER две глобали:
- ^User.EmployeeInProcessD.
- ^User.EmployeeInProcessI.
-
Войти в программу «М-АПТЕКА плюс» в монопольном режиме (только одному администратору) и привести в соответствие данные, введённые в момент, когда дата сервера была неверной (либо удалить, либо перенести на текущую дату).
-
После выполнения этих процедур можно удалить копии журналов .aij и разрешить пользователям работу в штатном режиме.
-
-
Если уже после старта СУБД Cache будет изменение даты или времени больше, чем на 2 часа (в прошлое или будущее).
-
Если вход в систему ещё не выполнен, то ситуация считается критической. Программа сообщает о расхождении дат и запрещает вход в систему. В этом случае необходимо выполнить следующие действия:
- Исправить дату или время на сервере.
- Перезапустить СУБД Cache.
- Повторить попытку входа в программу.
-
Если вход в систему уже выполнен, ситуация не считается критической, но препятствует дальнейшей работе. Программа сообщает о расхождении дат и запрещает выполнение текущей операции. В этом случае необходимо исправить дату или время на сервере и повторить попытку выполнения текущей операции.
-
В случае, если после проверки обнаружена потеря большого объёма данных, или же возникли проблемы с нарушением структуры счётчиков объектов (см. Проверки, выполняемые при старте системы → Проверка счётчиков ID в основных классах), следует обратиться за помощью в службу поддержки СОК.