Перенос информационной базы 1С 8.3 на другой диск, компьютер или сервер
Содержание
Чтобы переместить базу 1С, сначала выводят из неё всех пользователей, делают резервную копию и переносят данные одним из двух способов. Файловую базу
переносят простым копированием каталога с файлом 1Cv8.1CD на новый диск или компьютер, а потом заново добавляют в список баз. Клиент-серверную — выгрузкой в файл .dt через Конфигуратор либо резервной копией самой СУБД (MS SQL или PostgreSQL), после чего регистрируют базу в кластере нового сервера.
Ниже порядок действий для обоих вариантов, переход с файловой базы на сервер, настройка кластера и разбор ошибок, которые чаще всего ловят после переезда. Всё описано для платформы 8.3 и Windows Server 2016 и новее.
Что проверить до переноса базы 1С
Переезд ломается не на копировании, а на мелочах, о которых вспоминают уже на новом месте. Соберите их заранее.
- 🗂️ Тип базы. Откройте окно запуска 1С и выделите базу: внизу видна строка подключения.
File="D:\Bases\Buh"— файловая база,Srvr="srv01";Ref="buh"— серверная. - 🔢 Версия платформы. Посмотрите в
Справка → О программе. На новом месте нужна платформа с номером не ниже текущего, иначе база может не открыться. - 💾 Размер базы. От него зависит способ. Файловая база в 5 ГБ копируется за минуты, серверная на 200 ГБ через
.dtможет грузиться часами. - 🔑 Лицензии. Программная лицензия сервера привязана к оборудованию. При смене компьютера её активируют заново, и число повторных активаций ограничено резервными пин-кодами из комплекта. Аппаратный ключ просто переставляют в новый компьютер.
- 🔗 Внешние пути. Каталоги обмена с другими базами, папки загрузки банковских выписок, внешние обработки и отчёты на диске, общие папки для сканов. Если путь был
D:\Obmen, на новом месте он должен существовать или быть изменён в настройках.
Резервная копия перед переездом
Копию делают всегда, даже если переносите «просто на соседний диск». Самый универсальный вариант — выгрузка в .dt:
- Откройте базу в режиме Конфигуратор.
- Выберите
Администрирование → Выгрузить информационную базу. - Укажите путь к файлу и дождитесь сообщения о завершении.
Для выгрузки нужен монопольный доступ: все пользователи должны выйти. То же самое из командной строки удобно ставить в скрипт:
"C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" /N "Администратор" /P "пароль" /DumpIB "E:\Backup\buh.dt" /Out "E:\Backup\dump.log"
Номер платформы в пути замените на свой. Для серверной базы вместо /F пишут /S "srv01\buh".
Выгрузку .dt проверьте сразу: загрузите её во временную пустую базу и откройте. Битый архив обнаруживается именно тогда, когда исходник уже удалён.
Как перенести файловую базу 1С на другой диск или компьютер
Файловая база — это каталог. Главный файл в нём 1Cv8.1CD, рядом каталог журнала регистрации 1Cv8Log и, возможно, другие служебные папки. Переносить нужно каталог целиком, а не один файл: без 1Cv8Log пропадёт журнал регистрации.
Пошагово
- Попросите всех закрыть 1С. Убедитесь, что никто не работает : в каталоге базы не должно быть активных сеансов, а в журнале — свежих записей.
- Скопируйте весь каталог базы на новое место: на другой диск (
E:\Bases\Buh) или на другой компьютер через сеть, флешку или облако. - Сравните размер
1Cv8.1CDв исходном и новом каталоге — до байта. - Откройте окно запуска 1С и нажмите
Добавить. - Выберите «Добавление в список существующей информационной базы», задайте имя, укажите тип «На данном компьютере или на компьютере в локальной сети» и путь к новому каталогу.
- Запустите базу в режиме 1С:Предприятие и проверьте, что открываются свежие документы.
- Старую строку в списке удалите кнопкой
Удалить. Сама база при этом с диска не стирается — удаляется только ссылка.
Исходный каталог не трогайте неделю-другую. Если выяснится, что какая-то настройка ссылалась на старый путь, будет откуда достать данные.
Файловая база в общей сетевой папке
Если база переезжает на файловый сервер, чтобы с ней работали несколько человек, всем пользователям нужны права на изменение в каталоге базы: чтение, запись, создание и удаление файлов. Только чтения недостаточно — платформа создаёт в папке служебные файлы.
Путь в окне запуска лучше указывать в виде \\fileserver\Bases\Buh, а не через букву сетевого диска. Буква может отличаться на разных компьютерах, а UNC-путь одинаков у всех.
⚠️ Не открывайте файловую базу одновременно с двух копий каталога. Если кто-то продолжит работать в старой копии, его документы в новую базу не попадут, и сводить их придётся вручную.
Перенос серверной базы 1С на MS SQL или PostgreSQL
Для клиент-серверной базы есть два пути. Выбор зависит от того, меняется ли СУБД.
| Способ | Когда подходит | Минусы |
|---|---|---|
Выгрузка и загрузка .dt | Смена СУБД (MS SQL ↔ PostgreSQL), переход из файловой базы на сервер, небольшие базы | Долго на больших объёмах, нужен монопольный доступ на время выгрузки |
| Бэкап и восстановление средствами СУБД | Та же СУБД на новом сервере, большие базы | Нельзя сменить тип СУБД, нужно разбираться с пользователями СУБД |
Через бэкап MS SQL Server
На старом сервере сделайте копию базы
. Параметр COPY_ONLY не сбивает цепочку регулярных бэкапов:
BACKUP DATABASE [buh]
TO DISK = N'E:\Backup\buh.bak'
WITH COPY_ONLY, COMPRESSION, STATS = 10;
Перенесите .bak на новый сервер. Узнайте логические имена файлов внутри копии:
RESTORE FILELISTONLY FROM DISK = N'E:\Backup\buh.bak';
Восстановите базу, указав новые пути к файлам данных и журнала:
RESTORE DATABASE [buh]
FROM DISK = N'E:\Backup\buh.bak'
WITH MOVE N'buh' TO N'D:\SQLData\buh.mdf',
MOVE N'buh_log' TO N'L:\SQLLog\buh_log.ldf',
STATS = 10;
Логические имена buh и buh_log здесь условные — подставьте те, что вернула команда FILELISTONLY.
После восстановления у базы остаются пользователи старого сервера без привязки к логинам нового. Если 1С подключалась к СУБД под отдельным логином, создайте его на новом сервере и свяжите с пользователем внутри базы:
USE [buh];
ALTER USER [user1c] WITH LOGIN = [user1c];
Через бэкап PostgreSQL
Для 1С используют сборку PostgreSQL, адаптированную под 1С: обычная сборка без доработок с платформой корректно не работает. На старом сервере:
pg_dump -U postgres -Fc -f E:\Backup\buh.backup buh
На новом создайте пустую базу и загрузите в неё дамп:
createdb -U postgres -T template0 buh
pg_restore -U postgres -d buh E:\Backup\buh.backup
Версия PostgreSQL на новом сервере должна быть той же или новее. При переходе на новую основную версию сначала проверьте, что её поддерживает ваша платформа 1С.
Через выгрузку .dt
Когда меняется тип СУБД или база переезжает с файлового режима на сервер, остаётся только .dt:
- Выгрузите базу в
.dt, как описано в первом разделе. - Зарегистрируйте на новом сервере пустую базу в кластере (следующий раздел).
- Откройте её в Конфигураторе и выберите
Администрирование → Загрузить информационную базу. - Укажите файл
.dtи подтвердите замену данных.
Загрузка полностью перезаписывает целевую базу. Проверьте два раза, что открыли новую пустую базу, а не рабочую.
Регистрация базы в кластере серверов 1С
Сама база в СУБД для 1С не видна, пока её не зарегистрировали в кластере. Делается это в консоли администрирования серверов 1С:Предприятия.
- Откройте консоль и разверните
Central 1C:Enterprise 8.3 servers → имя сервера → Кластеры → Local cluster. - Нажмите правой кнопкой на
Информационные базыи выберитеСоздать → Информационная база. - Заполните поля:
- Имя — под этим именем база будет видна клиентам, например
buh; - Сервер баз данных — имя сервера СУБД, для MS SQL с экземпляром
sqlsrv\INST1; - Тип СУБД — MS SQL Server или PostgreSQL;
- База данных — имя базы в СУБД, куда вы восстановили бэкап;
- Пользователь и пароль сервера БД — логин, под которым 1С ходит в СУБД;
- Смещение дат — для MS SQL ставят
2000, как было на старом сервере.
- Имя — под этим именем база будет видна клиентам, например
- Если база восстановлена из бэкапа СУБД, флажок «Создать базу данных в случае ее отсутствия» не нужен: она уже есть.
- Включите «Установить блокировку регламентных заданий».
Последний пункт спасает от неприятного сценария. Если старая и новая база какое-то время живут параллельно, регламентные задания в обеих одновременно загрузят выписки, отправят отчётность или выгрузят обмен. Снимайте блокировку, только когда старую базу выведете из работы.
Сеть и порты
Клиент сначала обращается к агенту сервера по порту 1540, тот передаёт его менеджеру кластера на 1541, а данные идут через рабочие процессы в диапазоне 1560–1591. Диапазон задаётся в свойствах рабочего сервера. Все эти порты должны быть открыты в брандмауэре нового сервера.
На клиентах исправьте строку подключения: в окне запуска выберите базу, нажмите Изменить и впишите новый кластер серверов
и имя базы. Если адрес сервера сменился, а клиентов много, проще разослать новый файл списка баз или настроить общий список через 1CEStart.cfg.
Проверка базы на новом месте и обновление конфигурации
Первый запуск делайте сами, под администратором, до прихода пользователей.
Сообщение о перемещённой базе
Типовые конфигурации на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) отслеживают смену строки подключения. После переноса при первом входе появится окно с вопросом, перемещена ли база или это её копия. От ответа зависит, разрешит ли программа работу с внешними ресурсами: обмены, регламентные задания, отправку почты и отчётности.
- Если база переехала насовсем — отвечайте, что база перемещена. Обмены и задания продолжат работать.
- Если это тестовая копия — выбирайте вариант с копией. Тогда она не начнёт тянуть выписки и отправлять отчёты от имени организации.
Что проверить вручную
- Откройте несколько последних документов и отчёт за текущий месяц — данные должны совпадать со старой базой.
- Запустите обмен с одним узлом или сервисом и посмотрите, дошли ли данные.
- Проверьте отправку отчётности и загрузку выписок, если они настроены.
- Откройте внешние обработки и печатные формы, подключённые из файлов.
Конфигурация после переезда
Сам перенос не меняет конфигурацию. Но если на новом сервере стоит более новая платформа, при первом входе в Конфигуратор может появиться предложение обновить конфигурацию базы данных или конвертировать формат. Соглашайтесь, только убедившись, что все пользователи перейдут на ту же платформу: открыть базу старым клиентом после этого не получится.
Плановое обновление релиза типовой конфигурации лучше не совмещать с переездом. Сначала убедитесь, что база работает на новом месте, потом обновляйте. Если что-то сломается, будет понятно, из-за чего.
Ошибки после перемещения базы 1С и как их исправить
Большинство сбоев после переезда сводится к трём вещам: неверный путь, закрытая сеть или лицензия.
Если после переноса просто «всё медленно», посмотрите на диск. Файловая база на сетевой папке по Wi-Fi или через VPN тормозит заметно сильнее, чем на локальном SSD. Для пяти и более активных пользователей разумнее перейти на клиент-серверный вариант или терминальный доступ.
Кэш клиента
Иногда клиент «помнит» старую базу и показывает странные ошибки при подключении к новой. Перед сбросом кэша закройте все окна 1С на этом компьютере. Затем запустите клиент с параметром /ClearCache или удалите кэш вручную в профиле пользователя: %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8. Сбрасывайте только кэш отдельных баз, а не весь каталог: там же лежит список баз пользователя.