К статье
Практический материал

Администрирование · 10 мин

Как перенести базы 1С на другой диск

Перенос информационных баз 1С на другой диск: файловые и клиент-серверные базы, регистрация в списке, перенос шаблонов, проверка результата и типичные ошибки.

Перенос баз 1С на другой диск — стандартная задача администратора: заканчивается место на системном разделе, сервер переводят на более быстрый SSD или просто наводят порядок в структуре хранения. Сама процедура несложная, но у неё есть важное отличие в зависимости от типа базы: файловые базы переносятся простым копированием папки, а клиент-серверные требуют работы с СУБД (MS SQL, PostgreSQL) и не переносятся «папкой».

Главное правило безопасности: перед любым перемещением сделайте резервную копию и убедитесь, что все пользователи вышли из базы. Активные сеансы блокируют файлы, а копирование «на живую» почти гарантированно приведёт к повреждению данных или рассинхронизации.

Ниже разобраны оба сценария — файловый и клиент-серверный, а также перенос списка баз пользователей, шаблонов конфигураций и проверка результата после переезда.

Подготовка: что сделать до переноса

Первый шаг — определить тип базы. Откройте окно запуска 1С, выделите базу и нажмите «Изменить»: в мастере будет указан вариант размещения — «На данном компьютере или в локальной сети» (файловая) или «На сервере 1С:Предприятия» (клиент-серверная). От этого зависит весь дальнейший сценарий.

Второй шаг — выгнать всех пользователей. В файловом режиме достаточно убедиться, что программа закрыта у всех, кто работает с базой, включая фоновые сеансы и регламентные задания. В клиент-серверном режиме сеансы завершают через консоль администрирования сервера 1С. Проверить, что база свободна, можно по отсутствию файла 1Cv8.1CL в папке файловой базы — это файл блокировок, который существует, пока есть активные соединения.

Третий шаг — резервная копия. Для файловой базы минимально достаточно скопировать всю папку целиком, но надёжнее дополнительно сделать выгрузку в .dt через конфигуратор («Администрирование → Выгрузить информационную базу»). Для клиент-серверной базы штатный способ — backup средствами СУБД.

Как перенести файловую базу 1С

Файловая база — это обычная папка, в которой лежит главный файл 1Cv8.1CD (собственно данные) и служебные подкаталоги. Переносится она как обычные файлы, без каких-либо специальных утилит.

Порядок действий простой: закройте 1С у всех пользователей, скопируйте папку базы целиком на новый диск (например, с C:\Bases\Trade на D:\1C_Bases\Trade), дождитесь окончания копирования и сравните размеры исходной и новой папок — они должны совпадать. Только после этого вносите изменения в список баз.

Перенос файловой базы за 6 шагов
  1. 1
    Завершите все сеансы и убедитесь, что в папке базы нет файла 1Cv8.1CL
  2. 2
    Сделайте резервную копию папки базы или выгрузку .dt
  3. 3
    Скопируйте папку базы целиком на новый диск
  4. 4
    Откройте окно запуска 1С, выделите базу и нажмите «Изменить»
  5. 5
    Укажите новый путь к каталогу базы и сохраните изменения
  6. 6
    Запустите базу с нового места и проверьте данные, затем удалите старую копию

Изменение пути делается в стартовом окне 1С: кнопка «Изменить» открывает мастер, где на втором шаге указывается каталог информационной базы. Просто замените букву диска и путь на новые. Альтернатива — удалить базу из списка и добавить заново через кнопку «Добавить → Добавление в список существующей информационной базы».

Если баз находится на сетевом ресурсе и к ней подключаются несколько пользователей, путь менять придётся у каждого — либо вручную, либо через общий список баз (файл .v8i), о котором речь ниже.

Как перенести клиент-серверную базу

Клиент-серверная база физически хранится не в папке, а в базе данных СУБД — MS SQL Server, PostgreSQL или другой. Копирование папок здесь бессмысленно: данные лежат в файлах .mdf/.ldf (MS SQL) или в каталоге данных PostgreSQL, и переносить их нужно штатными средствами СУБД.

Перенос через выгрузку .dt — универсальный способ

Самый безопасный вариант, не требующий остановки СУБД: выгрузите базу в файл .dt через конфигуратор («Администрирование → Выгрузить информационную базу»), создайте новую пустую базу на сервере (данные которой уже размещаются на новом диске) и загрузите в неё выгрузку. Минус метода — при больших объёмах выгрузка и загрузка занимают заметное время, а .dt не переносит некоторые настройки, например хранилище конфигурации.

Перенос файлов базы данных MS SQL

Если нужно именно переместить файлы .mdf и .ldf на другой диск, используют detach/attach: отсоедините базу в SQL Server Management Studio (или командой sp_detach_db), переместите файлы на новый диск и присоедините базу, указав новые пути. Альтернатива без отсоединения — перевести базу в OFFLINE и выполнить ALTER DATABASE ... MODIFY FILE с новыми путями. После переноса убедитесь, что учётная запись службы SQL Server имеет права на новый каталог, иначе база не поднимется.

sql
ALTER DATABASE [MyBase] SET OFFLINE;
ALTER DATABASE [MyBase] MODIFY FILE (NAME = MyBase_Data, FILENAME = 'D:\SQLData\MyBase.mdf');
ALTER DATABASE [MyBase] MODIFY FILE (NAME = MyBase_Log, FILENAME = 'D:\SQLData\MyBase.ldf');
ALTER DATABASE [MyBase] SET ONLINE;

Для PostgreSQL перенос выполняют через pg_dump/pg_restore в новый кластер или через изменение tablespace. В обоих случаях перед операцией заблокируйте базу в консоли кластера 1С (свойство «Блокировка начала сеансов»), чтобы исключить подключения в момент переноса.

Как перенести список баз другим пользователям

Если базой пользуются несколько человек, править путь на каждом компьютере вручную долго. Список баз хранится в файле ibases.v8i в профиле пользователя (обычно в %APPDATA%\1C\1CEStart), и его можно отредактировать или распространить централизованно.

Более удобный вариант — общий список баз. Создайте файл с расширением .v8i (это текстовый файл с описанием баз в том же формате, что и ibases.v8i), положите его в сетевую папку и укажите путь к нему в настройках 1С: в окне запуска — «Настройка → Общие списки информационных баз». Тогда при смене диска достаточно один раз поправить путь в общем файле, и все пользователи увидят актуальное расположение.

Перенос шаблонов конфигураций и обновлений

Отдельно от баз на диске лежат шаблоны конфигураций — каталоги, из которых создаются новые базы и берутся файлы обновлений. По умолчанию они находятся в профиле пользователя (%APPDATA%\1C\1cv8\tmplts), и при переполнении системного диска их тоже имеет смысл перенести.

Переносится каталог tmplts обычным копированием, а новое расположение указывается в окне запуска: «Настройка → Каталоги шаблонов конфигураций и обновлений». Туда можно прописать несколько путей — 1С будет искать шаблоны по всем. Если шаблоны общие для нескольких пользователей терминального сервера, разумно разместить их в одной сетевой или локальной папке и прописать путь всем.

Проверка результата после переноса

После смены пути запустите базу и убедитесь, что она открылась именно с нового места. Простой способ проверки для файловой базы: в режиме 1С:Предприятие откройте «О программе» или посмотрите строку подключения — там виден фактический каталог. Также проверьте несколько свежих документов и справочников: данные должны соответствовать состоянию на момент переноса.

Для клиент-серверной базы дополнительно проверьте в консоли СУБД, что файлы данных физически лежат на новом диске (запрос к sys.master_files в MS SQL), и что старые файлы не используются. Только после успешной проверки и нескольких дней стабильной работы удаляйте старую копию — до этого момента она служит страховкой.

Контрольные точки

Как проверить результат

Путь подключения в окне запуска и в режиме Предприятия
Норма

Указан новый диск и каталог

Тревожный признак

База открывается со старого пути

Свежие документы и отчёты
Норма

Данные соответствуют состоянию до переноса

Тревожный признак

Пропали последние документы — вероятно, скопирована устаревшая копия

Расположение файлов БД в СУБД
Норма

Файлы .mdf/.ldf на новом диске

Тревожный признак

Файлы остались на старом диске

Работа пользователей
Норма

Все подключаются без ошибок

Тревожный признак

Ошибки доступа — проверьте права на новый каталог

Типичные ошибки и частые вопросы

Типичные ошибки
01
Копирование базы при открытых сеансах — файл 1Cv8.1CD переносится в несогласованном состоянии, база не открывается или требует тестирования и исправления
02
Изменение пути только у себя — остальные пользователи продолжают работать со старой копией, и данные разъезжаются по двум базам
03
Перенос клиент-серверной базы копированием папки — данные в СУБД, папка с базой в списке 1С лишь ссылка на сервер
04
Отсутствие прав у службы СУБД на новый каталог — база данных не стартует после перемещения файлов
05
Удаление старой копии сразу после переноса — при обнаружении проблемы откатиться не к чему
Можно ли перенести базу 1С простым перетаскиванием папки?

Да, если это файловая база и все сеансы закрыты. После переноса обязательно измените путь в списке баз через кнопку «Изменить» в окне запуска. Клиент-серверную базу так перенести нельзя — её данные хранятся в СУБД.

Почему после переноса 1С пишет, что база не обнаружена?

Чаще всего путь в списке баз указывает на старое расположение или содержит опечатку. Откройте свойства базы в окне запуска и проверьте путь. Также проверьте, что папка скопирована полностью и в ней есть файл 1Cv8.1CD, а у текущего пользователя есть права на чтение каталога.

Чем перенос через .dt отличается от копирования папки?

Копирование папки переносит базу «как есть», включая все служебные данные, и выполняется быстро. Выгрузка .dt создаёт переносимый архив, который можно загрузить в базу другого типа (например, из файловой в клиент-серверную), но занимает больше времени и не переносит часть настроек, например подключение к хранилищу конфигурации.

Нужно ли переустанавливать платформу 1С при смене диска?

Нет. Платформа и базы независимы: достаточно перенести данные и обновить пути в списке баз. Переустановка платформы требуется, только если вы переносите и саму программу, что для смены диска баз не нужно.

Как перенести базу, если она занимает сотни гигабайт?

Для больших файловых баз копирование по сети может занять часы — планируйте перенос на нерабочее время и используйте robocopy с возможностью докачки. Для клиент-серверных баз такого объёма предпочтительнее перенос файлов СУБД (detach/attach или backup/restore), так как выгрузка .dt займёт неоправданно много времени.

Можно ли держать разные базы на разных дисках?

Да, это нормальная практика. Каждая база в списке имеет собственный путь, и ничто не мешает разместить часть баз на SSD для скорости, а архивные — на более ёмком диске. В клиент-серверном варианте расположение файлов каждой базы данных задаётся отдельно в СУБД.

Итог

Что важно запомнить

Файловая база переносится копированием папки и сменой пути в списке баз, клиент-серверная — средствами СУБД или через выгрузку .dt. Всегда завершайте сеансы, делайте резервную копию и не удаляйте старую копию, пока не убедитесь, что база стабильно работает с нового места.