Ситуация, когда при открытии базы 1С система внезапно выдает предупреждение о перемещении или восстановлении из копии, знакома многим администраторам. Особенно неприятно, когда это происходит «само по себе» утром, после ночных регламентных работ. Давайте подробно разберем механизмы работы этой защиты, выясним причины её срабатывания и рассмотрим шаги по устранению проблемы.
Для начала проанализируем, как именно платформа понимает, что база данных была перемещена. В современных версиях 1С:Предприятие (начиная с 8.3.3) реализован механизм защиты данных. При первом запуске или после явного подтверждения («Я переехал») система фиксирует параметры текущего подключения в специальном внутреннем хранилище. Эти параметры включают в себя:
В клиент-серверном варианте эти данные хранятся внутри базы данных (в таблице Files). При каждом запуске платформа сравнивает текущую строку соединения с сохраненным эталоном. Если обнаруживается расхождение хотя бы в одном символе (даже если вместо IP-адреса указали DNS-имя того же сервера), 1С считает, что перед ней копия базы, и блокирует выполнение критически важных операций.
Рассмотрим подробнее наиболее распространенные сценарии, которые приводят к появлению этого сообщения:
Effect Saver. Если настроено автоматическое тестовое восстановление базы для проверки целостности архива, и программа разворачивает эту копию на том же сервере, 1С может зафиксировать изменение идентификаторов.SERVER-1C на server-1c) в настройках подключения у пользователя может вызвать подозрение системы, хотя чаще это касается именно серверных настроек кластера.При появлении окна выбора у пользователя есть два основных пути. Выясним, что стоит за каждым из них:
Вариант «Информационная база перемещена» (или «Я переехал»). Мы подтверждаем системе, что текущее местоположение базы является основным. В этом случае 1С обновляет параметры подключения в своих внутренних таблицах, и работа продолжается в штатном режиме. Все регламентные задания будут включены.
Вариант «Это копия информационной базы». Система переходит в защищенный режим. Это критически важно для тестовых баз. В этом режиме блокируются:
Если вы столкнулись с тем, что база постоянно определяется как копия из-за двойного подключения, выполним следующие действия:
В конфигурациях, использующих Библиотеку стандартных подсистем (БСП), за логику определения копии отвечает программный код. Если база «зависла» в состоянии копии и стандартные кнопки не помогают, мы можем вмешаться программно. Проанализируем ситуацию: признак блокировки хранится в параметрах работы системы.
Чтобы сбросить состояние блокировки и обновить параметры связи, можно воспользоваться следующим кодом (запускать в режиме «1С:Предприятие» через внешнюю обработку):
// Сброс признака копии программно
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.БазоваяФункциональность") Тогда
МодульИнформационнаяБазаВызовСервера = ОбщегоНазначения.ОбщийМодуль("ИнформационнаяБазаВызовСервера");
// Устанавливаем параметры, как если бы пользователь нажал "Я переехал"
МодульИнформационнаяБазаВызовСервера.УстановитьПризнакИнформационнаяБазаПеремещена();
Сообщить("Параметры связи обновлены, режим копии снят.");
КонецЕсли;
Также полезно проверить состояние блокировки регламентных заданий. Посмотрим на пример кода, который позволяет снять блокировку, если она была установлена ошибочно:
// Пример снятия блокировки регламентных заданий
Блокировка = Новый БлокировкаСеансов;
Блокировка.УстановитьПараметрыСоединения = Ложь;
Блокировка.КодРазрешения = "КодДляАдмина"; // если установлен
// Очищаем параметры блокировки регламентных заданий через консоль или программно
Иногда сообщение продолжает выходить из-за «залипания» кэша сервера приложений. Выясним причину: сервер хранит временные данные о сессиях и конфигурациях баз в папке srvinfo. Если база была перенесена, старые записи в snccntx могут мешать корректной работе.
Рекомендуемый порядок очистки кэша на сервере:
C:\Program Files\1cv8\srvinfo\reg_1541\).snccntx.Важный момент: если вы используете SQL-сервер, проверьте, не заблокированы ли регламентные задания непосредственно в консоли 1С (флажок «Блокировка регламентных заданий включена» в свойствах информационной базы). При нажатии кнопки «Это копия» этот флажок устанавливается автоматически на уровне кластера.
Подводя итог, можно сказать: появление сообщения о копии — это не ошибка, а защитный механизм. Главное — убедиться, что в вашем кластере 1С нет избыточных подключений к одной физической базе и что параметры сервера (имя, сетевые реквизиты) стабильны. Проанализировав настройки консоли и при необходимости очистив кэш, вы сможете вернуть систему в нормальный рабочий режим.