Перенос информационной базы — одна из самых частых и ответственных задач для системного администратора 1С. В отличие от обычных файлов, база данных 1С представляет собой сложную структуру, которая может храниться либо в файловой системе, либо на сервере СУБД. Некорректное копирование или нарушение последовательности действий при перемещении может привести к полной неработоспособности системы и потере критически важных данных.
Необходимость переноса может возникнуть по разным причинам: замена серверного оборудования, смена дискового пространства, переезд офиса или масштабирование инфраструктуры. Важно понимать, что методика действий кардинально различается в зависимости от того, файловая это база или клиент-серверная (на основе MS SQL, PostgreSQL и др.). В первом случае мы работаем с папками и файлами, во втором — с дампами и службами баз данных.
Прежде чем приступать к активным действиям, убедитесь, что у вас есть права администратора как на уровне операционной системы, так и в конфигураторе 1С. Без этих привилегий вы не сможете корректно завершить процесс регистрации перемещенной базы в списке пользователей. Также крайне важно убедиться в наличии свободного места на целевом диске, превышающего текущий размер базы минимум в 1.5 раза.
Подготовка инфраструктуры и создание резервной копии
Любые манипуляции с данными должны начинаться с создания их полной копии. Это золотое правило системного администрирования, которое спасает от катастрофических последствий в случае сбоя. Для файловой базы достаточно просто скопировать папку с данными на внешний носитель или в облачное хранилище. Для клиент-серверного варианта процедура сложнее и требует создания резервной копии (бэкапа) средствами СУБД.
Если вы работаете с Microsoft SQL Server, используйте стандартный мастер резервного копирования или T-SQL команды. В случае с PostgreSQL, который набирает популярность в среде 1С, оптимальным решением будет использование утилиты pg_dump. Она позволяет создать дамп базы в текстовом или бинарном формате, который затем можно легко восстановить на новом сервере.
Внимание, не пытайтесь просто скопировать файлы данных СУБД (.mdf, .ldf или файлы таблиц PostgreSQL) во время работы сервера 1С. Это гарантированно приведет к повреждению базы данных из-за незавершенных транзакций и блокировок файлов операционной системой. Остановка службы 1С:Предприятие и службы СУБД обязательна перед прямым копированием файлов, если вы не используете специализированные инструменты бэкапа.
⚠️ Внимание! Убедитесь, что версия платформы 1С:Предприятие на новом сервере не ниже версии на старом. Попытка открыть базу, созданную в более новой версии платформы, на старой версии приведет к ошибке и невозможности запуска.
☑️ Чек-лист перед переносом
Перемещение файловой базы 1С:Предприятие
Файловый вариант хранения данных является наиболее простым для миграции, так как не требует сложных процедур экспорта и импорта. Вся информация хранится в одной папке, структура которой понятна даже неспециалисту. Однако простота не означает отсутствие рисков: прерывание процесса копирования или потеря одного системного файла может сделать базу нечитаемой.
Процесс начинается с полной остановки работы пользователей. Необходимо убедиться, что ни один сеанс 1С не активен, иначе файлы базы будут заблокированы и скопируются некорректно. После этого просто скопируйте всю папку базы (обычно она имеет расширение .1CD или не имеет расширения вовсе, внутри лежит файл 1Cv8.1CD) в новое целевое расположение на диске или сетевом ресурсе.
После завершения копирования необходимо зарегистрировать базу в списке на новом месте. Запустите платформу 1С в режиме выбора базы, нажмите кнопку Добавить и выберите пункт Добавить в список существующую информационную базу. Укажите имя базы и путь к новой папке. Система проверит целостность файлов и добавит базу в список для запуска.
При переносе файловой базы по сети используйте протокол SMB 3.0 для обеспечения целостности данных и ускорения передачи больших объемов информации.
Если база переносится на другой компьютер, где она ранее не использовалась, может потребоваться обновление конфигурации базы данных. При первом запуске в режиме 1С:Предприятие система автоматически предложит обновить конфигурацию. Отказываться от этого нельзя, так как внутренние таблицы метаданных могут отличаться в зависимости от версии платформы.
Миграция клиент-серверной базы на SQL или PostgreSQL
Перенос клиент-серверной базы — это задача для квалифицированного администратора баз данных. Здесь мы перемещаем не файлы, а логическую структуру данных. Первым шагом является создание полного дампа базы на исходном сервере. Для MS SQL это файл .bak, для PostgreSQL — скрипт дампа.
Далее файл дампа переносится на целевой сервер. Важно проверить, что на новом сервере установлена та же или более новая версия СУБД. Процесс восстановления (Restore) создаст новую базу данных с тем же именем или новым, в зависимости от ваших настроек. После восстановления необходимо проверить владельца базы (owner) и права доступа для пользователя, от имени которого работает сервер 1С.
Следующий критический этап — изменение параметров подключения в списке баз 1С. Вам нужно создать новую запись в списке баз, выбрав тип размещения На сервере 1С:Предприятия. В поле Сервер 1С:Предприятия укажите имя или IP нового сервера, а в поле Имя базы в списке сервера 1С — имя, которое вы задали при регистрации базы в кластере серверов 1С.
| Параметр | Файловая база | Клиент-серверная (SQL) | Клиент-серверная (PostgreSQL) |
|---|---|---|---|
| Метод переноса | Копирование папки | Restore из .bak | pg_restore из дампа |
| Риск потери данных | Низкий (при копировании) | Средний (ошибки СУБД) | Средний (кодировки) |
| Сложность настройки | Минимальная | Высокая | Высокая |
| Требования к ПО | Только платформа 1С | СУБД + Сервер 1С | СУБД + Сервер 1С |
Настройка кластера серверов 1С
Для работы клиент-серверного варианта необходимо правильно настроить кластер серверов 1С. Если вы переносите базу на новый физический сервер, где еще не установлен сервер 1С, потребуется его инсталляция и начальная конфигурация. Центральный сервер 1С должен видеть рабочую базу данных в СУБД.
Регистрация базы в кластере осуществляется через консоль администрирования серверов 1С или утилиту командной строки ras. В свойствах информационной базы необходимо указать корректные параметры подключения к СУБД: Сервер баз данных, Тип СУБД, Имя базы данных, а также логин и пароль пользователя СУБД, имеющего права DBOwner.
Частой ошибкой является несоответствие кодировки базы данных и настроек сервера 1С. Особенно это актуально для PostgreSQL, где по умолчанию может использоваться кодировка, отличная от требуемой 1С (обычно UTF8). Если при запуске вы получаете ошибки о несовместимости кодировок, проверьте настройки СУБД и при необходимости пересоздайте базу с правильными параметрами локализации.
⚠️ Внимание! При переносе на новый сервер не забудьте обновить лицензионные ключи защиты (HASPLM), если они привязаны к конкретному серверу или сетевому адресу. Без действующей лицензии многопользовательский режим работать не будет.
Обновление конфигурации и тестирование работоспособности
После физического переноса и регистрации базы в списке необходимо убедиться, что конфигурация работает корректно. Зайдите в базу в режиме Конфигуратор и выполните команду Администрирование → Обновить конфигурацию базы данных. Даже если система сообщает, что обновление не требуется, эта процедура пересобирает служебные таблицы и индексы под новую среду.
Особое внимание уделите проверке внешних подключений. Если в базе настроены обмены данными, HTTP-сервисы или подключения к внешним источникам данных, пути к ним могли измениться при переезде. Проверьте настройки SMTP-серверов, адреса веб-сервисов и пути к печатным формам, если они хранятся локально на старом диске.
Тестирование должно включать запуск основных бизнес-процессов: проведение документов, формирование отчетов, закрытие периодов. Желательно провести эти тесты под разными пользователями, чтобы убедиться в корректности прав доступа (RLS), которые могли сбиться при переносе прав в СУБД.
Что делать, если база не запускается после переноса?
Если база не запускается, первым делом проверьте журнал регистрации событий сервера 1С. Ошибки там часто указывают на проблемы с правами доступа к папкам временных файлов или отсутствие необходимых библиотек СУБД на новом сервере. Также попробуйте запустить базу в безопасном режиме, отключив внешние обработки.
Типичные ошибки и способы их устранения
Одной из самых распространенных проблем является ошибка «Монополистический режим» или невозможность захвата базы. Это происходит, если на старом сервере остался зависший процесс rphost или rmngr, который удерживает блокировку на базе данных в СУБД. Решение — принудительная остановка всех служб 1С на старом оборудовании и очистка активных сеансов в консоли администрирования.
Другая частая проблема — отсутствие прав на запись в папку с файлами базы или во временную папку пользователя Windows. При переносе на новый сервер учетные записи пользователей могут иметь другие SID (идентификаторы безопасности), и старые права доступа (ACL) не применятся автоматически. Необходимо явно выдать права Full Control группе пользователей или конкретному сервисному аккаунту 1С.
Если вы столкнулись с ошибкой при подключении к серверу 1С, проверьте настройки брандмауэра Windows. Порты по умолчанию для сервера 1С (1540-1560) и для кластера (1541) должны быть открыты для входящих подключений из локальной сети. Блокировка этих портов сделает сервер невидимым для клиентов.
⚠️ Внимание! Интерфейсы и названия пунктов меню могут отличаться в зависимости от версии платформы 1С:Предприятие (8.2, 8.3) и типа используемой СУБД. Всегда сверяйтесь с официальной документацией для вашей конкретной версии ПО перед внесением изменений в реестр или конфигурационные файлы.
Главный залог успеха при переносе — это наличие актуальной резервной копии и тщательная проверка прав доступа к файлам и портам после переезда.
Можно ли перенести базу 1С просто копированием папки, если она на SQL?
Нет, простое копирование файлов данных СУБД (.mdf, .ldf) без остановки службы SQL Server приведет к повреждению базы. Необходимо использовать штатные средства резервного копирования (Backup) и восстановления (Restore) внутри среды управления базами данных.
Нужно ли менять имя базы в списке 1С после переноса?
Нет, имя базы в списке пользователей 1С — это лишь ярлык для удобства. Вы можете оставить прежнее имя, изменив только путь к файлам (для файловой версии) или адрес сервера (для клиент-серверной). Однако для клиент-серверного варианта имя базы в кластере серверов 1С должно совпадать с тем, что указано в настройках подключения.
Что делать с лицензиями HASP при переезде на новый сервер?
Если используется сетевой ключ защиты HASP, необходимо переподключить его к новому серверу или настроить проброс USB-порта по сети. Для программных лицензий (пин-коды) может потребоваться активация заново, если изменился идентификатор оборудования сервера, на который они были выданы.
Как проверить целостность базы после переноса?
В режиме Конфигуратора выполните команду Администрирование → Тестирование и исправление информационной базы. Выберите все пункты проверки, особенно «Логическую целостность» и «Физическую целостность». Это выявит возможные повреждения, возникшие в процессе копирования или восстановления.
Влияет ли перенос на историю изменений (журнал регистрации)?
При корректном переносе клиент-серверной базы через бэкап СУБД журнал регистрации сохраняется полностью, так как он хранится в таблицах базы данных. Для файловой версии журнал также сохраняется внутри файлов базы, если вы скопировали папку целиком, включая файл 1Cv8Log.