Переезд с MS SQL на файловый вариант 1С без потери данных
Содержание
Чтобы перевести базу 1С из SQL в файловую, выгрузите её в файл .dt через Конфигуратор (Администрирование → Выгрузить информационную базу), создайте пустую файловую базу
и загрузите в неё этот файл (Администрирование → Загрузить информационную базу). Конвертировать таблицы SQL напрямую в файл 1Cv8.1CD не нужно и нельзя: формат .dt и есть мост между вариантами работы.
Частое заблуждение — что достаточно скопировать файлы .mdf и .ldf с сервера. Файловая 1С их не прочитает. Вся процедура занимает от 15 минут для небольшой базы до нескольких часов для базы в десятки гигабайт. Описание ниже — для платформы 1С:Предприятие 8.3 и подходит для любой конфигурации: Бухгалтерии, ЗУП, УТ, УНФ.
Что проверить до начала переезда
Переход на файловый вариант оправдан, когда пользователей стало мало, сервер дорого содержать или базу нужно отдать в архив. Перед стартом проверьте пять вещей.
- 🔑 Права в базе. Выгрузку делает пользователь 1С с ролью «Полные права» или с правом администрирования. Без него пункт выгрузки в Конфигураторе будет недоступен.
- 🖥️ Доступ к кластеру. Если на кластере серверов 1С задан администратор, для блокировки сеансов понадобятся его логин и пароль.
- 🧩 Версия платформы. Номер платформы на компьютере, где будет файловая база, должен быть не ниже номера на сервере. Файл
.dt, выгруженный более новой платформой, старая не загрузит. - 💾 Место на диске. Нужно место под сам
.dtи под будущую базу. Файловая база обычно в несколько раз больше архива.dt, ориентируйтесь на размер базы в SQL с запасом. - ⚙️ Состояние конфигурации. Откройте Конфигуратор. Если в заголовке дерева конфигурации видна звёздочка или при открытии появляется сообщение о несоответствии конфигурации базы данных, сначала завершите обновление:
Конфигурация → Обновить конфигурацию базы данных(F7).
Расширения конфигурации, список пользователей и их пароли переносятся вместе с .dt. Отдельно сохранять их не нужно.
Если база используется в обменах (РИБ, обмен с сайтом, с ЗУП), заранее выпишите настройки узлов. Сами настройки перенесутся, но после переезда их придётся проверить: адреса и пути могут смениться.
Шаг 1. Выгрузка базы из MS SQL в файл .dt
Выгрузку делают из клиент-серверной базы. Пользователи на время выгрузки должны выйти: иначе данные, внесённые в процессе, могут не попасть в файл, а сама операция займёт больше времени.
Как закрыть доступ пользователям
- В типовых конфигурациях на БСП: раздел
Администрирование → Обслуживание, команда блокировки работы пользователей. В некоторых релизах раздел называется «Поддержка и обслуживание». Установите блокировку и задайте код разрешения, чтобы зайти самому. - В консоли администрирования серверов 1С: свойства информационной базы, флажок «Блокировка начала сеансов включена». Там же задаётся код разрешения.
Активные сеансы при установке блокировки будут завершены. Предупредите пользователей заранее и делайте это вне рабочего времени.
Выгрузка в Конфигураторе
- Запустите 1С в режиме Конфигуратора под администратором базы.
- Откройте меню
Администрирование → Выгрузить информационную базу. - Укажите путь и имя файла, например
D:\Backup\buh_2026.dt. - Дождитесь сообщения о том, что выгрузка завершена. Окно с этим сообщением — признак успеха, без него файл считать готовым нельзя.
Для больших баз удобнее пакетный режим: он не требует открытого окна и пишет журнал в файл.
"C:\Program Files\1cv8\8.3.24.1586\bin\1cv8.exe" DESIGNER /S "srv1c\buh" /N "Администратор" /P "пароль" /DumpIB "D:\Backup\buh.dt" /Out "D:\Backup\dump.log" /DisableStartupMessages
Здесь srv1c — имя сервера 1С, buh — имя базы в кластере. Номер версии в пути замените на свой. Для базы с кодом блокировки добавьте параметр /UC <код>.
Не удаляйте базу из SQL и из кластера, пока файловая копия не проверена. Старая база — ваша страховка на первые недели.
Шаг 2. Создание файловой базы и загрузка .dt
Файловую базу создают пустой, без конфигурации. Конфигурация и данные придут из .dt.
Создание пустой базы
- В окне запуска 1С нажмите «Добавить».
- Выберите «Создание новой информационной базы».
- Отметьте вариант создания базы без конфигурации — для переноса существующей.
- Задайте понятное имя, например «Бухгалтерия (файловая)».
- Тип расположения — «На данном компьютере или на компьютере в локальной сети».
- Укажите пустой каталог, например
D:\Bases\Buh. Лучше заранее создать отдельную папку под каждую базу. - Оставьте язык и остальные параметры по умолчанию и нажмите «Готово».
То же самое одной командой:
"C:\Program Files\1cv8\8.3.24.1586\bin\1cv8.exe" CREATEINFOBASE File="D:\Bases\Buh" /Out "D:\Backup\create.log"
Загрузка данных
- Откройте новую базу в Конфигураторе. Пароль не нужен: в пустой базе пользователей нет.
- Меню
Администрирование → Загрузить информационную базу. - Выберите файл
.dtи подтвердите, что текущие данные будут заменены. - После загрузки Конфигуратор предложит перезапуститься — согласитесь.
Пакетный вариант:
"C:\Program Files\1cv8\8.3.24.1586\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" /RestoreIB "D:\Backup\buh.dt" /Out "D:\Backup\restore.log" /DisableStartupMessages
После перезапуска в базе появятся те же пользователи и пароли, что были на сервере. Войдите под администратором и убедитесь, что конфигурация и данные на месте.
Первый запуск в режиме «Предприятие»
Типовые конфигурации замечают, что строка подключения изменилась. Появится окно о блокировке работы с внешними ресурсами с выбором: база перемещена или это копия.
- Если вы переводите рабочую базу и сервер больше не будет использоваться — выберите вариант «Информационная база перемещена». Обмены, регламентные задания и почта продолжат работать.
- Если это архив или тестовая копия, а серверная база остаётся рабочей — выберите «Это копия». Иначе обе базы начнут параллельно выгружать обмены и отправлять отчёты.
Это главный момент, который часто упускают. Ошибка здесь приводит к задвоенным документам в обменах.
Шаг 3. Права на папку, сетевой доступ и запуск у пользователей
Файловая база — это папка с файлом 1Cv8.1CD и служебными файлами блокировок. Каждый пользователь работает с этим файлом напрямую, поэтому права нужны на уровне Windows.
Права на каталог базы
- 📁 Пользователям 1С дайте в NTFS право «Изменение» на папку базы. Одного «Чтения» мало: 1С создаёт рядом служебные файлы, без права записи база не откроется.
- 🌐 Для сетевой работы откройте общий доступ к папке и выдайте тем же пользователям чтение и запись на уровне общего ресурса.
- 🛡️ Добавьте папку базы в исключения антивируса. Проверка файла
1Cv8.1CDна лету заметно тормозит работу и иногда вызывает ошибки блокировки.
Подключение у пользователей
На каждом рабочем месте добавьте базу в список: «Добавить» → «Добавление в список существующей информационной базы» → указать сетевой путь вида \\fileserver\Bases\Buh. Буквы подключённых дисков вроде Z:\Bases\Buh надёжны хуже: у части пользователей диск может не подключиться.
Для десятка рабочих мест быстрее раздать готовый файл списка баз .v8i или прописать его в общем конфигурационном файле стартера. Старую серверную базу
из списка уберите, чтобы никто не продолжил работать в ней по привычке.
Аутентификация и лицензии
| Что было на сервере | Что делать в файловой базе |
|---|---|
| Вход по паролю 1С | Ничего, пароли перенеслись |
| Аутентификация Windows | Проверьте в карточках пользователей, что указаны верные доменные учётные записи |
| Серверная лицензия 1С | В файловом режиме не нужна |
| Клиентские лицензии | Нужны те же, по числу одновременных сеансов |
Программные клиентские лицензии привязаны к компьютеру, на котором активированы. Если раньше они стояли на сервере 1С и раздавались через кластер, после перехода их придётся активировать там, где их увидят клиенты: на рабочих местах или на компьютере, к которому подключаются по сети. Для пин-кода повторной активации обычно нужен комплект, выданный при покупке.
Шаг 4. Как живёт база в файловом режиме: скорость и ограничения
После переезда пользователи сразу почувствуют разницу. Что изменится:
- ⏳ Блокировки. Файловая база блокирует данные крупнее, чем SQL. Когда один бухгалтер проводит документы за месяц, остальные могут ждать.
- 📶 Сеть. Каждый клиент читает файл по сети. Wi-Fi и VPN сильно замедляют работу и повышают риск повреждения файла при обрыве связи.
- 🗓️ Регламентные задания. На сервере их выполнял кластер. В файловом режиме задания запускаются, только пока открыт хотя бы один клиентский сеанс. Ночью, когда все вышли, загрузка курсов валют и обмены не выполнятся.
- 🧰 Обслуживание. Нет SQL-планов обслуживания, переиндексации и встроенного резервного копирования СУБД.
Как выжать из файлового варианта максимум
- Храните базу на SSD того компьютера, который всегда включён. Чем быстрее диск, тем быстрее работа.
- Удалённым пользователям давайте доступ не к сетевой папке, а через терминальный сервер или публикацию на веб-сервере. Тогда по сети идёт картинка или HTTP-трафик, а не сам файл базы.
- Настройте резервное копирование
. В типовых конфигурациях это делается в разделе
Администрирование → Обслуживание(там же, где блокировка пользователей), либо простым копированием папки базы по расписанию, когда в базе нет пользователей. - Раз в месяц-квартал проверяйте базу:
Администрирование → Тестирование и исправлениев Конфигураторе. Для файловых баз есть и отдельная утилитаchdbfl.exeв папкеbinплатформы.
Перед тестированием и исправлением все пользователи должны выйти: операция требует монопольного доступа. Сделайте копию папки базы — исправление удаляет битые записи без возможности отката.
Шаг 5. Что проверить сразу после переноса
Не ограничивайтесь тем, что база открылась. Сверьте результаты со старой серверной базой, пока она доступна.
Сверку оборотов удобно делать одним отчётом, сформированным с одинаковыми параметрами в обеих базах. Расхождение на любом счёте — повод остановиться и разобраться, что не попало в выгрузку.
Ошибки при переводе из SQL в файловую и их решение
Большинство проблем возникает либо на загрузке .dt, либо в первые дни работы, когда к базе подключаются пользователи.
Если загрузка .dt падает на одном и том же месте, полезно открыть исходную серверную базу и выполнить там «Тестирование и исправление» с проверкой логической целостности. Битые ссылки и неконсистентные данные в SQL иногда проходят незамеченными, но мешают загрузке в файловый формат.