Перенос базы 1С:Предприятие на другой физический или логический диск — задача, с которой рано или поздно сталкивается каждый администратор. Причины могут быть разными: от банального окончания свободного места на системном разделе до оптимизации производительности за счёт использования SSD или RAID-массивов. Однако просто скопировать папку с базой недостаточно — это чревато ошибками блокировок, потерей связей с конфигурацией и даже полной неработоспособностью системы.
В этой статье мы разберём все актуальные способы переноса (для файлового и клиент-серверного вариантов работы), подробно остановимся на подготовке, резервном копировании и типичных «подводных камнях». Особое внимание уделим переносу баз с активными сеансами пользователей — единственному случаю, когда стандартные инструкции от 1С требуют доработки. Материал ориентирован на администраторов и опытных пользователей, но будет полезен и тем, кто впервые сталкивается с задачей.
Подготовка к переносу: что нужно сделать до начала работ
Прежде чем приступать к физическому перемещению файлов, необходимо выполнить ряд критически важных шагов. Пренебрежение ими может привести к потере данных, конфликтам версий или невозможности запуска 1С после переноса.
Во-первых, определите тип вашей базы:
- 📂 Файловый вариант — база хранится в виде файлов
.1CDна локальном или сетевом диске. Переносится проще, но требует осторожности с правами доступа. - 🖥️ Клиент-серверный вариант — база размещена на сервере 1С:Предприятие (например, PostgreSQL или Microsoft SQL Server). Здесь перенос затрагивает не только файлы, но и настройки сервера.
Во-вторых, проверьте версию платформы через меню Справка → О программе. Для баз на PostgreSQL важно знать версию СУБД — от этого зависит метод миграции. Например, для PostgreSQL 15+ доступен инструмент pg_dump с расширенными опциями, а для старых версий может потребоваться ручное копирование кластера.
⚠️ Внимание: Если ваша база используется в режиме управляемого приложения (например, 1С:ERP или 1С:УТ 11), после переноса потребуется обновить ссылки на информационные базы вweb-сервисахирасширениях. Пропуск этого шага приведёт к ошибкам интеграции с сайтами или внешними системами.
И наконец, составьте план отката на случай сбоя. Даже при идеальном выполнении инструкций всегда остаётся риск аппаратных проблем (например, отказ диска в процессе копирования). Заранее подготовьте:
- 🔄 Полную резервную копию базы (не только файлов, но и конфигурации!).
- 📋 Список всех пользователей с правами доступа (на случай восстановления из бэкапа).
- ⏱️ Окно технических работ — перенос лучше проводить в нерабочее время.
Способ 1: Перенос файловой базы 1С (вариант для.1CD)
Файловые базы — самый распространённый формат среди небольших компаний. Их перенос технически проще, но требует внимания к деталям, особенно если база используется несколькими пользователями.
Алгоритм действий:
- Остановите все сеансы 1С на сервере или рабочих станциях. Для этого:
- Скопируйте папку с базой на новый диск. Используйте
Robocopyдля надёжности:robocopy"C:\OldPath\Base""D:\NewPath\Base" /E /ZB /R:1 /W:1 /LOG:copy_log.txtКлючи
/ZBи/R:1позволят продолжить копирование при ошибках доступа. - Обновите путь в списке баз через
1С:Предприятие:- Запустите 1С в режиме конфигуратора.
- Выберите
Файл → Открыть...и укажите новый путь к файлу.1CD. - Сохраните изменения (
Файл → Сохранить конфигурацию).
- 🖥️ Для Windows:
%APPDATA%\1C\1cv8\или%LOCALAPPDATA%\1C\1cv8\ - 🐧 Для Linux:
~/.1cv8/1C/1cv8/ - Не прерывалось ли копирование (сравните размеры старого и нового файла
.1CD). - Не изменились ли права доступа (папка должна быть доступна для записи системному пользователю
USR1CV8илиSYSTEM).
Запустите"Консоль кластера серверов 1С" (ras.exe)
Выберите ваш кластер →"Сеансы" →"Завершить все сеансы"
Если база используется через сетевой доступ, обновите путь в файле списка баз (1CV8.lst или 1CV8USR.lst), который находится в:
Закрыты все сеансы 1С|Создана резервная копия базы|Путь в 1CV8.lst обновлён|Права доступа на новую папку настроены|Тестовый запуск базы выполнен-->
⚠️ Внимание: Если после переноса база не открывается с ошибкой"Файл базы данных повреждён", проверьте:
В 90% случаев проблема решается повторным копированием с проверкой контрольных сумм (fciv -sha1).
Способ 2: Перенос клиент-серверной базы (PostgreSQL/MS SQL)
Клиент-серверные базы требуют более сложного подхода, так как данные хранятся не в файлах, а в СУБД. Здесь перенос затрагивает как физическое размещение файлов базы данных, так и настройки сервера 1С:Предприятие.
Общий алгоритм для PostgreSQL:
- Остановите службу 1С и PostgreSQL:
net stop srv1cv83net stop postgresql-x64-15
(Замените
15на вашу версию PostgreSQL.) - Создайте дамп базы:
pg_dump -U postgres -F c -f"D:\backup\base_backup.dump" dbnameГде
dbname— имя вашей базы в PostgreSQL. - Перенесите файлы кластера (если меняете диск для хранения данных PostgreSQL):
- Остановите службу PostgreSQL.
- Скопируйте папку с данными (по умолчанию
C:\Program Files\PostgreSQL\15\data\) на новый диск. - Обновите путь в файле
postgresql.conf(параметрdata_directory).
pg_restore -U postgres -d dbname"D:\backup\base_backup.dump"
- Запустите
Консоль кластера серверов 1С(ras.exe). - Выберите ваш кластер →"Информационные базы" → обновите путь к базе в настройках.
Для Microsoft SQL Server процесс аналогичен, но вместо pg_dump используется SQL Server Management Studio (операция Detach → Copy Files → Attach).
| СУБД | Инструмент для дампа | Команда восстановления | Особенности |
|---|---|---|---|
| PostgreSQL | pg_dump |
pg_restore |
Требует остановки службы. Поддерживает сжатие дампа (-F c). |
| MS SQL Server | Management Studio (Detach) |
Attach через GUI или CREATE DATABASE... FOR ATTACH |
Можно переносить без остановки SQL Server (при использовании Detach/Attach). |
| Oracle | expdp (Data Pump) |
impdp |
Требует настройки tnsnames.ora после переноса. |
Если вы переносите базу на другой сервер, а не просто на новый диск, используйте утилиту 1cv8.exe с ключом /DumpIB для создания полного дампа конфигурации и данных. Это гарантирует совместимость даже при разных версиях платформы.
Перенос базы с активными пользователями: как минимизировать простой
Самая сложная ситуация — когда переносить базу нужно без остановки работы пользователей. Например, если компания работает круглосуточно или не может позволить себе даже час простоя. В этом случае используют репликацию или зеркалирование.
Вариант 1: Репликация PostgreSQL
Если ваша база работает на PostgreSQL 10+, можно настроить логическую репликацию:
- Настройте основной сервер как
publisher:ALTER PUBLICATION mypub ADD TABLE table1, table2; - На новом сервере создайте базу и подключите как
subscriber:CREATE SUBSCRIPTION mysub CONNECTION'host=old_server dbname=db user=replicator' PUBLICATION mypub; - Дождитесь полной синхронизации (проверьте лаг через
pg_stat_replication). - Перенастройте кластер 1С на новую базу и отключите репликацию.
- 🔄 Настройте
Principal(основной сервер) иMirror(новый сервер). - 📥 Дождитесь синхронизации (статус
"Synchronized"вSQL Server Management Studio). - ↔️ Выполните
Failover— переключение на зеркало без потери данных. - 📁 Папок с файлами
.1CD(для файлового варианта). - 🗃️ Директории
dataPostgreSQL илиMSSQL\DATA. - 🔐 Папки с временными файлами (
%TEMP%\1C\). USR1CV8(илиUSR1CV82для 64-битных систем) — Полный доступ.SYSTEM— Полный доступ.- Группа
Администраторы— Полный доступ. - 🔴
"FATAL: database files are incompatible with server"— версия дампа не совместима с версией PostgreSQL. Используйтеpg_upgradeдля миграции. - 🔴
"could not access file"global/pg_control": Permission denied"— права на папкуdataневерные. Выполнитеchmod 700. - 🔴
"The database cannot be opened because it is offline"— база не прикреплена (Attach) к серверу. - 🔴
"File activation failure"— пути к файлам.mdf/.ldfизменились. ИспользуйтеALTER DATABASE... MODIFY FILE. - Запуск в режиме 1С:Предприятие:
- Откройте базу в пользовательском режиме.
- Проверьте загрузку справочников (например,
НоменклатураилиКонтрагенты). - Создайте тестовый документ (например,
Реализация товаров) и проведите его.
- Тестирование отчётов:
- Сформируйте
Оборотно-сальдовую ведомостьза последний месяц. - Проверьте
Анализ субконтодля ключевых счетов (например, 62.01).
- Сформируйте
- Проверка интеграций:
- Если база связана с сайтом или 1С:EDI, выполните тестовый обмен.
- Проверьте работу
REST-сервисов(если используются).
Вариант 2: Зеркалирование MS SQL
Для Microsoft SQL Server подходит Database Mirroring:
⚠️ Внимание: Репликация и зеркалирование требуют дополнительных лицензий на СУБД для резервного сервера. Например, для MS SQL Server нужна лицензия на каждый экземпляр, участвующий в зеркалировании. Уточните условия в лицензионном соглашении или у партнёра 1С.
Что делать если репликация прервалась?
Если синхронизация прервалась из-за ошибки сети или дискового пространства:
1. Проверьте логи PostgreSQL (pg_log\postgresql-*.log) или SQL Server Error Log.
2. Удалите повреждённую подписку (DROP SUBSCRIPTION) и создайте её заново.
3. Если разница между базами критична, восстановите дамп на новом сервере и настройте репликацию с нуля.
Настройка прав доступа после переноса
После физического переноса файлов или базы данных необходимо восстановить права доступа, иначе 1С не сможет записывать данные или создавать временные файлы. Это особенно важно для:
Для Windows:
Откройте Свойства папки → Безопасность и добавьте следующие права:
Применяйте права ко всем вложенным папкам и файлам (опция"Заменить разрешения для всех дочерних объектов").
Для Linux:
Выполните команды:
chown -R postgres:postgres /new/path/to/base/
chmod -R 700 /new/path/to/base/
(Замените postgres на пользователя, под которым работает СУБД.)
Если после переноса 1С выдаёт ошибку "Отказано в доступе", проверьте права не на папку с базой, а на %TEMP%\1C\ — именно туда платформа пытается записать временные файлы при запуске.
Типичные ошибки и как их избежать
Даже опытные администраторы сталкиваются с проблемами при переносе 1С. Вот самые распространённые ошибки и способы их предотвращения:
| Ошибка | Причина | Решение |
|---|---|---|
"Файл базы данных повреждён" |
Неполное копирование файла .1CD или сбой диска. |
Повторите копирование с проверкой контрольных сумм (fciv -sha1 old.1cd new.1cd). |
"Не найден файл информационной базы" |
Не обновлён путь в 1CV8.lst или реестре Windows. |
Проверьте файлы списка баз в %APPDATA%\1C\1cv8\ и ключ реестра HKEY_CURRENT_USER\Software\1C\1Cv8\8.x\Config\IBases. |
"Ошибка подключения к серверу 1С" |
Не обновлены настройки кластера после переноса СУБД. | Запустите ras.exe, выберите кластер →"Информационные базы" → обновите строку подключения. |
"Недостаточно прав для записи" |
Неверные права на папку или файл 1CD. |
Настройте права для USR1CV8 и SYSTEM (см. раздел выше). |
Специфические ошибки для PostgreSQL:
Специфические ошибки для MS SQL:
1. Настройки кэша в postgresql.conf (параметры shared_buffers и effective_cache_size).
2. Фрагментацию индексов — выполните REINDEX DATABASE dbname; для PostgreSQL или DBCC INDEXDEFRAG для MS SQL.
3. Производительность нового диска (используйте CrystalDiskMark для теста скорости чтения/записи).
-->
Проверка работоспособности после переноса
Перенос базы — только половина дела. Тестирование не менее важно, чтобы убедиться в целостности данных и корректности работы системы.
Минимальный чек-лист для проверки:
- Для файлового варианта:
%TEMP%\1C\Log\*.log. - Для PostgreSQL:
pg_log\postgresql-*.log. - Для MS SQL:
SQL Server Error Log(черезManagement Studio).
Если база используется в распределённой информационной системе (например, с филиалами), выполните полную синхронизацию через Управление распределёнными информационными базами и проверьте отсутствие конфликтов.
Обнаружили ошибку после переноса? Не пытайтесь исправить её"на лету" — вернитесь к резервной копии и повторите перенос с учётом выявленных проблем. Это сэкономит время и нервы!
FAQ: Частые вопросы по переносу 1С
Можно ли перенести базу 1С на внешний жёсткий диск или сетевое хранилище (NAS)?
Технически да, но не рекомендуется для постоянной работы. Причины:
- 🐢 Низкая скорость доступа — даже USB 3.0 или Gigabit Ethernet медленнее локального SSD в 5–10 раз.
- 🔌 Риск обрыва соединения — при разрыве связи база может повредиться.
- 🔒 Проблемы с правами — NAS часто не поддерживает
NTFS ACL, необходимые дляUSR1CV8.
Используйте внешние диски только для временного хранения бэкапов или переноса данных между машинами.
Как перенести 1С на другой компьютер (не только диск)?
Для этого:
- Создайте полный дамп базы через
1cv8.exe /DumpIBилиpg_dump. - Установите на новом компьютере платформу 1С той же версии.
- Восстановите дамп через
1cv8.exe /RestoreIBилиpg_restore. - Настройте лицензии (перенесите ключи или активируйте новые).
Для клиент-серверного варианта дополнительно перенесите настройки кластера 1С (файлы *.conf в папке кластера).
Что делать, если после переноса 1С просит лицензию?
Это означает, что:
- 🔑 Лицензия была привязана к аппаратному ключу (например, HASP), который остался на старом компьютере.
- 📋 Лицензия программная, но не перенеслись файлы
.lic(они хранятся в%PROGRAMDATA%\1C\licenses\). - 🖥️ Изменился сетевой адрес сервера лицензий (для сетевых лицензий).
Решение:
- Для аппаратных ключей: физически перенесите ключ на новый компьютер.
- Для программных лицензий: скопируйте файлы
.licв новую папку или переактивируйте лицензию через Личный кабинет 1С. - Для сетевых лицензий: обновите IP-адрес сервера лицензий в настройках 1С.
Можно ли перенести только часть базы (например, документы за последний год)?
Да, но это не стандартная процедура и требует:
- 🛠️ Выгрузки данных через
Конфигуратор → Администрирование → Выгрузка данных(формат.dt). - 📊 Фильтрации — например, выгрузить только документы с датой > 01.01.2026.
- 🔄 Загрузки в новую базу с той же конфигурацией.
Учтите, что при таком переносе нарушается связность данных (например, могут пропасть движения по регистрам). Для корректной работы потребуется доработка конфигурации или использование специализированных инструментов вроде 1С:Конвертация данных.
Как ускорить перенос большой базы (100+ ГБ)?
Для ускорения:
- 🚀 Используйте SSD — даже бюджетный SATA SSD копирует данные в 3–5 раз быстрее HDD.
- 🔌 Подключите диски напрямую (не по сети). Для сетевого копирования используйте
Robocopyс многопоточностью:
robocopy"C:\Old""D:\New" /E /ZB /MT:16 /LOG:copy_log.txt
.7z с максимальным сжатием). Это уменьшит объём данных на 30–70%.Для PostgreSQL ускорить дамп поможет параллельная выгрузка:
pg_dump -U postgres -F d -j 4 -f"backup_dir" dbname
(Ключ -j 4 запускает 4 параллельных потока.)