Перенос файловой базы 1С на сервер: от выгрузки .dt до первого входа пользователей

· 10 мин

Содержание

Конвертировать базу 1С из файлового варианта в серверный (MS SQL Server или PostgreSQL) проще всего через файл выгрузки .dt: в Конфигураторе файловой базы Администрирование → Выгрузить информационную базу, затем создать пустую базу в кластере серверов 1С и в её Конфигураторе выполнить Администрирование → Загрузить информационную базу. Данные, конфигурация и список пользователей переедут целиком.

Типичная ситуация: бухгалтерия выросла до 10–15 человек, файловая база на общей папке тормозит, при закрытии месяца ловятся блокировки. Решение — перенос базы 1С на сервер 1С:Предприятия с СУБД. Сама конвертация занимает от получаса до вечера, но почти все проблемы возникают не в момент загрузки, а до и после неё. Поэтому порядок ниже начинается с подготовки и заканчивается проверкой.

Что нужно для конвертации базы 1С в клиент-серверный вариант

Файловая база — это один файл 1Cv8.1CD в каталоге базы. Клиент-серверная база живёт в СУБД, а работу с ней обеспечивает кластер серверов 1С. Прямого «конвертера» файла 1Cv8.1CD в таблицы SQL нет: переносят через универсальный формат .dt, который понимают оба варианта.

Перед началом проверьте, что у вас есть:

  • 🖥️ Сервер 1С:Предприятия той же версии платформы, что и у клиентов (номер вида 8.3.xx.xxxx должен совпадать полностью).
  • 🗄️ СУБД: Microsoft SQL Server или PostgreSQL в сборке, адаптированной для 1С (обычная сборка PostgreSQL без доработок для 1С не подходит).
  • 🔑 Лицензия на сервер 1С. Клиентские лицензии, которые были у файловой базы, по-прежнему нужны — серверная лицензия их не заменяет.
  • 👤 Учётная запись СУБД с правом создавать базы (в MS SQL — роль dbcreator или выше; в PostgreSQL обычно используют пользователя postgres или отдельного с правом CREATEDB).
  • 💾 Свободное место: на диске для файла .dt и на сервере СУБД — минимум вдвое больше текущего размера 1Cv8.1CD, с учётом журнала транзакций.
Что сравниваемФайловая базаКлиент-серверная база
Где хранятся данныефайл 1Cv8.1CDбаза в MS SQL / PostgreSQL
Строка подключенияFile="D:\Bases\Buh"Srvr="srv1c";Ref="buh"
Резервная копиякопия каталога или .dtсредствами СУБД + .dt
Чем проверять целостностьchdbfl.exe и «Тестирование и исправление»«Тестирование и исправление», средства СУБД

Шаг 1. Подготовьте файловую базу к переносу

Ошибки в исходной базе при загрузке никуда не денутся. Хуже того, повреждённый файл часто вообще не выгружается в .dt или выгружается, но не загружается. Поэтому сначала приводим базу в порядок.

  1. Сделайте копию каталога базы. Закройте все сеансы и скопируйте папку целиком, вместе с 1Cv8.1CD. Это ваша точка отката.
  2. Проверьте физическую целостность файла. В каталоге установленной платформы, в папке bin, лежит утилита chdbfl.exe. Запустите её, укажите путь к 1Cv8.1CD и сначала прогоните проверку без флажка исправления.
  3. Запустите логическую проверку. Конфигуратор → Администрирование → Тестирование и исправление. Для первого прохода хватит флажков «Проверка логической целостности информационной базы» и «Проверка ссылочной целостности».
  4. Посмотрите, нет ли несохранённых изменений конфигурации. Если в Конфигураторе конфигурация изменена, но не сохранена в базу данных, — сохраните или откатите. Выгружается то, что записано в базу.
  5. Обновите платформу на клиентах до той же сборки, что стоит на сервере.

Тестирование и исправление требует монопольного доступа: все пользователи должны выйти из базы. Запускайте вечером или в выходной и предупредите людей заранее.

Перед любым исправлением ошибок в базе делайте копию каталога — режим исправления удаляет битые ссылки и объекты, вернуть их без копии нельзя.

Проверьте, где используются абсолютные пути: обработки, загружаемые из папок, каталоги обмена, выгрузки в банк. После переезда базу запускает не ваш компьютер, а служба сервера 1С, и путь C:\Users\buh\Desktop\... она не увидит.

Шаг 2. Выгрузите базу 1С в файл .dt

Файл .dt — это полный архив базы: конфигурация, данные, список пользователей и их настройки. Выгрузка делается из Конфигуратора файловой базы.

  1. Откройте базу в режиме Конфигуратора под пользователем с полными правами.
  2. Меню Администрирование → Выгрузить информационную базу.
  3. Укажите папку и имя файла, например D:\Backup\buh_2026.dt. Для удобства используйте латиницу и путь без пробелов.
  4. Дождитесь сообщения о завершении выгрузки.

Чтобы выгрузка была согласованной, пользователи в этот момент работать в базе не должны. Иначе часть документов попадёт в файл, а часть нет.

Если базу нужно выгружать регулярно или ночью, удобнее пакетный режим Конфигуратора:

"C:\Program Files\1cv8\8.3.25.1374\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" /N "Администратор" /P "пароль" /DumpIB "D:\Backup\buh.dt" /Out "D:\Backup\dump.log"

Номер платформы в пути подставьте свой. Результат пишется в журнал из параметра /Out — загляните в него, прежде чем удалять исходную базу.

Размер .dt обычно в несколько раз меньше 1Cv8.1CD: файл сжат. Если 1Cv8.1CD весит 8 ГБ, а .dt вышел на 40 МБ — выгрузка оборвалась, проверьте журнал.

Шаг 3. Создайте пустую базу на сервере 1С

Новую базу создают в кластере серверов. Удобнее всего — прямо из окна запуска 1С на любом компьютере, где установлен клиент.

  1. В окне запуска нажмите Добавить.
  2. Выберите «Создание новой информационной базы» → «Создание информационной базы без конфигурации». Пустая база нужна, потому что конфигурация придёт из .dt.
  3. Укажите имя для списка и вариант «На сервере 1С:Предприятия».
  4. Заполните параметры:
ПолеЧто указатьПример
Кластер серверов 1С:Предприятияимя сервера 1С (если порт агента не стандартный — имя:порт)srv1c
Имя информационной базы в кластерекороткое имя латиницейbuh
Защищённое соединениевыключено, если не настраивали—
Тип СУБДMS SQL Server или PostgreSQLMS SQL Server
Сервер баз данныхимя сервера СУБД (и экземпляра, если он именованный)srvsql
Имя базы данныхимя базы в СУБДbuh
Пользователь и пароль сервера БДучётная запись СУБДsa / свой
Смещение датдля MS SQL — 2000, для PostgreSQL — 02000
  1. Включите флажок «Создать базу данных в случае её отсутствия».
  2. Если это тестовый перенос, включите «Установить блокировку регламентных заданий» — тогда копия не начнёт параллельно с рабочей базой загружать курсы валют и выполнять обмены.

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

Создавайте базу данных средствами 1С, а не вручную в SQL Server Management Studio. Тогда 1С сама выставит нужные параметры, в том числе порядок сортировки (collation). База, созданная вручную с чужими параметрами, — частая причина странных ошибок при загрузке.

Шаг 4. Загрузите данные из файла .dt в серверную базу

  1. Запустите новую серверную базу в режиме Конфигуратора. Пользователей в ней пока нет, программа пустит без пароля.
  2. Меню Администрирование → Загрузить информационную базу.
  3. Выберите файл .dt, подтвердите предупреждение о замене данных.
  4. Дождитесь окончания. На базе в 5–10 ГБ это может занять час и больше: время зависит от дисков сервера СУБД и числа индексов.
  5. На вопрос о перезапуске Конфигуратора ответьте «Да».

Загрузку тоже можно выполнить пакетно:

"C:\Program Files\1cv8\8.3.25.1374\bin\1cv8.exe" DESIGNER /S "srv1c\buh" /N "Администратор" /P "пароль" /RestoreIB "D:\Backup\buh.dt" /Out "D:\Backup\restore.log"

Загрузка .dt полностью заменяет содержимое базы-приёмника. Проверьте строку подключения дважды: загрузка не в ту серверную базу уничтожит её данные без возможности отмены.

После загрузки пользователи и пароли будут такими же, как в файловой базе. Поэтому после перезапуска Конфигуратор попросит авторизацию — входите под тем же администратором.

Если загрузка падает с нехваткой памяти, используйте 64-разрядный клиент или Конфигуратор: 32-разрядному процессу на больших базах не хватает адресного пространства.

Шаг 5. Настройте пользователей и права после переноса базы

Сама конвертация на этом закончена. Дальше — то, что отличает спокойный понедельник от потока звонков.

Пользователи и аутентификация

Список берите из режима Предприятия: Администрирование → Пользователи и права. Ключевые вещи:

  • 🔐 Пароли 1С переехали без изменений.
  • 🪟 Аутентификация Windows в серверном варианте работает иначе: проверка идёт через службу сервера 1С. В доменной сети обычно всё работает. В рабочей группе или при запуске службы под локальной учётной записью вход по Windows может перестать работать — временно включите пользователям вход по паролю 1С.
  • 🧑‍💼 Учётная запись службы сервера 1С (по умолчанию USR1CV8) должна иметь доступ к сетевым папкам, с которыми работает база: каталоги обмена, выгрузки, хранилище файлов.

Права в СУБД

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

Окно «Информационная база перемещена»

Типовые конфигурации (Бухгалтерия, ЗУП, УТ) при первом запуске после смены адреса базы показывают предупреждение о перемещении базы или восстановлении из копии. Варианты:

  • «Информационная база перемещена» — выбирайте при настоящем переезде. Обмены, регламентные задания и онлайн-сервисы продолжат работать.
  • «Это копия информационной базы» — выбирайте для тестовой копии. Обмены и синхронизации будут отключены, чтобы копия не отправила данные вместо рабочей базы.

Что проверить в первый день

Проверка базы после конвертации
Выполнено: 0 / 7

Старую файловую базу не удаляйте ещё 2–3 недели. Переименуйте каталог или уберите её из списка баз у пользователей: два источника правды — хуже, чем один медленный.

Ошибки при конвертации базы 1С и как их исправить

Большинство сбоев при переносе делятся на три группы: не находится сервер, не пускает СУБД, не загружается файл. Найдите свой симптом:

Диагностика: выберите симптом

Если загрузка .dt не проходит совсем

Бывает, что база выгружается, но при загрузке на сервер падает на одном и том же месте. Обычно виноваты битые данные, которые файловый вариант прощал, а СУБД нет. Что делать:

  1. Восстановите исходную базу из копии каталога.
  2. Запустите Тестирование и исправление с флажками «Реструктуризация таблиц информационной базы» и «Пересчёт итогов» — режим исправления должен быть включён.
  3. Выгрузите .dt заново и повторите загрузку в чистую серверную базу. Предыдущую неудачную лучше удалить и создать заново, чем загружать поверх.

Если и это не помогло — загрузите .dt обратно в новую пустую файловую базу. Если там тоже ошибка, проблема в самом файле или исходных данных, и спрашивать надо с исходной базы, а не с сервера.

Частые вопросы

Можно ли вернуть серверную базу обратно в файловую?
Да, тем же путём: выгрузить .dt из серверной базы и загрузить его в новую пустую файловую базу. Формат .dt не зависит от варианта работы.
Сохранятся ли настройки отчётов и рабочего стола пользователей?
Да. Пользовательские настройки хранятся в самой базе и входят в выгрузку .dt, поэтому после загрузки они на месте.
Нужно ли менять конфигурацию под SQL?
Для типовых конфигураций — нет: они рассчитаны на оба варианта работы. Доработанные конфигурации стоит проверить на запросах с временными таблицами и на управляемых блокировках — в серверном варианте их поведение заметнее.
Сколько длится простой при переносе?
Пользователи не работают от начала выгрузки до конца проверки. Для базы на несколько гигабайт закладывайте вечер; поэтому сначала делают пробный перенос в тестовую базу и замеряют время.
Можно ли перенести базу без остановки работы?
Нет. Чтобы данные в файле .dt были согласованными, пользователи не должны работать в базе в момент выгрузки, а загрузка требует монопольного доступа к серверной базе.