Перейти к содержанию

Как работать, если было изменение даты/времени на сервере

Вопрос:

В СУБД Cache версий 5.0. возможны потери данных в случае перевода часов на сервере. Это может произойти в следующих случаях:

  • Если дата сервера меньше, чем дата последнего входа пользователя.
  • Если уже после старта СУБД Cache будет изменение даты или времени больше, чем на 2 часа (в прошлое или будущее).

    Примечание

    Расхождение в 2 часа использовалось для того, чтобы учесть «штатные» сезонные переходы на зимнее и летнее поясное время.

Ответ:

  • Если при старте СУБД Cache дата сервера меньше, чем дата последнего входа пользователя (часы на сервере были переведены назад – в прошлое), то ситуация считается критической. Программа сообщает о расхождении дат и запрещает вход в систему.

    В этом случае необходимо выполнить следующие действия:

    1. Убедиться, что дата сервера соответствует текущей календарной дате. Если не соответствует – исправить.

    2. Остановить СУБД Cache.

    3. Переместить файлы с журналами .aij в резервный каталог (произвольный).

    4. Запустить СУБД Cache.

    5. Удалить данные хранения истории входа пользователей:

      Через Проводник Cache' удалить в базе USER две глобали:

      • ^User.EmployeeInProcessD.
      • ^User.EmployeeInProcessI.
    6. Войти в программу «М-АПТЕКА плюс» в монопольном режиме (только одному администратору) и привести в соответствие данные, введённые в момент, когда дата сервера была неверной (либо удалить, либо перенести на текущую дату).

    7. После выполнения этих процедур можно удалить копии журналов .aij и разрешить пользователям работу в штатном режиме.

  • Если уже после старта СУБД Cache будет изменение даты или времени больше, чем на 2 часа (в прошлое или будущее).

    • Если вход в систему ещё не выполнен, то ситуация считается критической. Программа сообщает о расхождении дат и запрещает вход в систему. В этом случае необходимо выполнить следующие действия:

      1. Исправить дату или время на сервере.
      2. Перезапустить СУБД Cache.
      3. Повторить попытку входа в программу.
    • Если вход в систему уже выполнен, ситуация не считается критической, но препятствует дальнейшей работе. Программа сообщает о расхождении дат и запрещает выполнение текущей операции. В этом случае необходимо исправить дату или время на сервере и повторить попытку выполнения текущей операции.

В случае, если после проверки обнаружена потеря большого объёма данных, или же возникли проблемы с нарушением структуры счётчиков объектов (см. Проверки, выполняемые при старте системы → Проверка счётчиков ID в основных классах), следует обратиться за помощью в службу поддержки СОК.