Перенос информационной базы 1С:Предприятие на новое аппаратное обеспечение или в облачную инфраструктуру — одна из самых критичных задач для системного администратора. Ошибки на этом этапе могут привести к потере данных, простою бизнеса и сложным проблемам с лицензированием. Процесс переноса кардинально отличается в зависимости от того, используется ли файловый вариант работы или клиент-серверный вариант на базе СУБД.
Прежде чем приступать к активным действиям, необходимо провести тщательную подготовку инфраструктуры. Убедитесь, что на целевом сервере установлены все необходимые компоненты платформы, включая правильную версию сервера 1С и драйверы для работы с базой данных. Игнорирование требований к совместимости версий платформы на старом и новом сервере часто становится причиной появления фатальных ошибок при запуске.
В этом руководстве мы детально разберем алгоритмы миграции для обоих типов баз, рассмотрим нюансы настройки кластера и уделим особое внимание проверке целостности данных после переезда. Грамотное планирование и следование инструкциям минимизируют риски и обеспечат бесперебойную работу учетной системы.
Подготовительный этап и резервное копирование
Любая миграция начинается с создания полной резервной копии. Это не просто рекомендация, а обязательное требование безопасности. Перед началом работ убедитесь, что все пользователи завершили сеансы и вышли из системы. Для файловых баз достаточно скопировать каталог, но для клиент-серверных вариантов необходим полноценный бэкап СУБД.
⚠️ Внимание: Никогда не копируйте файлы базы 1С (особенно файлы .1CD) во время работы пользователей или активных сеансов. Это гарантированно приведет к повреждению структуры данных и невозможности запуска.
Если вы работаете с Microsoft SQL Server или PostgreSQL, используйте штатные средства управления базами данных для создания дампа. В случае с файловым вариантом остановите службу 1С:Предприятие 8.3 Сервер на исходном сервере, чтобы исключить возможность случайного подключения пользователей во время копирования. Проверьте свободное место на дисках нового сервера — объем должен превышать размер текущей базы с запасом в 20-30% для роста.
Также на этом этапе стоит собрать информацию о текущей конфигурации: версии платформы, используемые обновления конфигурации, параметры лицензирования и сетевые настройки. Эти данные понадобятся для точной репликации среды на новом месте. Не забудьте проверить права доступа к сетевым ресурсам, если база использует внешние хранилища файлов или отчетов.
☑️ Подготовка к миграции
Миграция файловой базы данных
Перенос файловой версии 1С является наиболее простым с технической точки зрения, но требует внимательности к правам доступа в операционной системе. Физически база представляет собой обычный каталог с файлами, поэтому основной задачей является их корректное перемещение и настройка прав доступа для службы сервера 1С.
Скопируйте весь каталог базы данных на новый сервер, сохраняя структуру папок. После копирования необходимо настроить права доступа для учетной записи, от имени которой работает служба агент сервера 1С. По умолчанию это пользователь USR1CV8, но в корпоративных средах могут использоваться доменные учетные записи. Отсутствие прав на чтение и запись приведет к ошибке "Монопольный режим" или невозможности открытия базы.
На новом сервере добавьте базу в список через консоль администрирования или утилиты командной строки. Важно указать корректный путь к каталогу данных. Если база была перемещена в сетевую папку, убедитесь, что путь указан в формате UNC (\\server\share\path), а не через маппированный диск, так как служба может не видеть буквы дисков.
- 📂 Убедитесь, что папка с базой не имеет атрибута "Только для чтения" в свойствах файловой системы.
- 🔐 Проверьте права NTFS: пользователь службы 1С должен иметь полный доступ (Full Control) к корню базы и всем вложенным файлам.
- 🌐 При размещении в общей папке убедитесь, что сетевой доступ открыт для всех необходимых узлов кластера.
Используйте утилиту robocopy с ключами /MIR и /COPYALL для переноса файловой базы — это сохранит все атрибуты файлов и права доступа, которые критичны для работы 1С.
Перенос клиент-серверной базы (SQL Server / PostgreSQL)
Миграция баз, работающих под управлением СУБД, требует более сложного подхода, так как данные хранятся в специализированном формате. Самый надежный способ — создание полного дампа базы данных на исходном сервере и его восстановление на целевом сервере. Простое копирование файлов данных (.mdf/.ldf для MS SQL) возможно только при полной остановке службы СУБД, что не всегда допустимо.
После восстановления базы данных на новом сервере необходимо зарегистрировать её в кластере серверов 1С. Для этого используется консоль администрирования ras или графический интерфейс. Вам потребуется создать новую информационную базу, указав тип СУБД, имя сервера баз данных, имя базы, пользователя СУБД и его пароль. Ошибки в параметрах подключения приведут к невозможности соединения.
⚠️ Внимание: Имя базы данных в кластере 1С и физическое имя базы в СУБД могут не совпадать, но параметры подключения в свойствах базы 1С должны точно указывать на существующую базу в СУБД.
Особое внимание уделите кодировке и параметрам сортировки (Collation) при переносе между разными СУБД или версиями. Например, при миграции с MS SQL на PostgreSQL или между разными версиями SQL Server, несовпадение параметров сортировки может вызвать ошибки при выполнении запросов или формировании отчетов. В идеале параметры новой базы должны полностью дублировать параметры исходной.
| Параметр | Источник (Старый сервер) | Цель (Новый сервер) | Критичность |
|---|---|---|---|
| Версия СУБД | MS SQL 2016 | MS SQL 2019 | Средняя |
| Параметр сортировки | Cyrillic_General_CI_AS | Cyrillic_General_CI_AS | Высокая |
| Уровень совместимости | 130 | 150 | Низкая |
| Пользователь БД | User1C | User1C | Высокая |
Настройка кластера серверов 1С
Кластер серверов 1С — это центральный компонент, управляющий распределением нагрузки и сеансами пользователей. При переносе на новый сервер часто требуется перерегистрация кластера или создание нового. Если вы переносите базу в рамках существующего кластера, достаточно добавить её в список. Если же сервер 1С тоже меняется, необходимо настроить главный сервер кластера.
В окне свойств кластера укажите имя главного сервера (обычно совпадает с именем машины или localhost) и порт (по умолчанию 1541). Убедитесь, что порт открыт в брандмауэре для входящих подключений от клиентов и рабочих серверов. Неправильная настройка сетевых экранов — самая частая причина, по которой клиенты не могут подключиться к базе после переноса.
Для управления кластером через командную строку используется утилита ras. Она позволяет создавать рабочие сервера, регистрировать базы и управлять сеансами. Например, для регистрации базы используется команда, где необходимо указать параметры подключения к СУБД. Это дает возможность автоматизировать процесс переноса при миграции большого количества баз.
ras cluster --host=NewServer --port=1541 infobase create --name=NewBase --dbms=mssql --dbserver=SQLServer --dbname=AccountingDB --dbuser=1CUser --dbpwd=SecretPassword
Оптимизация параметров кластера
В свойствах кластера можно настроить параметры рабочих процессов, такие как максимальное количество соединений и время жизни процесса. Для высоконагруженных систем рекомендуется увеличить эти значения, но делать это стоит только после тестирования под нагрузкой.
Лицензирование и ключи защиты HASP
Вопрос лицензирования при переносе сервера часто вызывает сложности. Если используются программные лицензии, привязанные к конкретному серверу защиты или количеству рабочих мест, их может потребоваться перерегистрировать. Для аппаратных ключей HASP необходимо физически переставить ключ в новый сервер или настроить проброс USB-устройства, если используется виртуализация.
В случае использования лицензионного сервера 1С, убедитесь, что он запущен на новом сервере и видит ключи защиты. Проверьте файл nethasp.ini или настройки через утилиту администрирования лицензий. Клиентские места должны иметь возможность найти лицензионный сервер в сети. Иногда требуется прописать IP-адрес лицензионного сервера явно в настройках клиентов.
Если вы переходите на программную лицензию на сервер, активируйте её через веб-интерфейс или утилиту активации, используя пин-код из письма. После активации проверьте наличие лицензий в списке доступных. Отсутствие действующей лицензии сервера 1С не позволит запустить ни одного сеанса, даже если база данных полностью исправна.
- 🔑 Для USB-ключей: установите драйверы HASP на новый сервер и проверьте отображение ключа в диспетчере устройств.
- 💻 Для программных лицензий: выполните перерегистрацию через личный кабинет партнера или утилиту активации.
- 🌐 Проверьте доступность порта лицензионного сервера (обычно 4085 или 4086) из локальной сети.
Тестирование и проверка работоспособности
После завершения технического переноса наступает этап верификации. Недостаточно просто открыть базу — необходимо проверить выполнение типичных пользовательских сценариев. Запустите базу в режиме предприятия, проведите тестовые документы, сформируйте сложные отчеты и регистры. Это позволит выявить скрытые проблемы с правами доступа или производительностью.
Обязательно выполните тестирование и исправление базы (chdbfl или аналог для SQL). Для файловых баз это делается через меню "Администрирование", для SQL-баз — через консоль конфигурации или специальные обработки. Эта процедура проверяет физическую и логическую целостность таблиц и индексов, устраняя возможные повреждения, возникшие при переносе.
⚠️ Внимание: Если после переноса база работает медленно, проверьте планы запросов в СУБД. Возможно, потребуется перестроить индексы или обновить статистику, так как сервер баз данных может использовать старые планы выполнения, актуальные для предыдущего оборудования.
Проверьте работу регламентных заданий и фоновых процессов. Убедитесь, что расписание не сбилось и задания запускаются корректно. Также протестируйте внешние подключения: обмен с сайтом, выгрузку в банк, работу с торговым оборудованием. Все пути к внешним ресурсам могли измениться при смене сервера и требуют актуализации в настройках 1С.
Финальным этапом переноса должно стать полное функциональное тестирование в присутствии ключевых пользователей, которые подтвердят корректность работы своих участков учета.
Часто задаваемые вопросы (FAQ)
Можно ли перенести базу 1С на сервер с другой операционной системой (например, с Windows на Linux)?
Да, это возможно, особенно для клиент-серверного варианта. Файловую базу также можно перенести, так как формат файлов кроссплатформенный. Однако при смене ОС для сервера 1С и СУБД необходимо внимательно проверить пути к файлам, регистронезависимость имен и права доступа, которые в Linux управляются иначе, чем в Windows.
Что делать, если после переноса база открывается в монопольном режиме?
Это обычно означает, что служба сервера 1С не запущена, либо у учетной записи службы нет прав на запись в каталог базы (для файлового варианта). Также проверьте, не заблокирован ли файл блокировки (если используется файловый вариант) и не висят ли "зомби-процессы" от предыдущих сеансов.
Нужно ли переустанавливать конфигурацию после переноса базы?
Нет, конфигурация является частью базы данных. При восстановлении дампа или копировании файлов база переносится вместе с конфигурацией, справочниками, документами и историей изменений. Переустановка платформы 1С на сервере требуется, но обновление конфигурации — нет.
Как перенести базу, если имена серверов совпадают, но IP-адреса разные?
Если имена серверов остаются прежними (например, при восстановлении на новую машину с тем же именем в домене), то настройки клиентов менять не нужно. Если имя меняется, необходимо обновить ярлыки запуска у пользователей или записи в реестре/файле соединений, указав новый адрес сервера 1С.