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

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

Как перевести SQL базу 1С в файловый формат

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

Перевод базы 1С из клиент-серверного режима (MS SQL Server, PostgreSQL, Oracle, IBM DB2) в файловый вариант — типовая задача при переезде на другой компьютер, создании копии для разработки или отказе от серверной инфраструктуры. Прямого переключателя «SQL → файл» в платформе нет: данные переносятся через выгрузку информационной базы в файл с расширением .dt и последующую загрузку в пустую файловую базу.

Важно понимать ограничение сразу: файловый режим официально поддерживает базы ограниченного размера и не рассчитан на интенсивную многопользовательскую работу. Если база на SQL занимает десятки гигабайт и с ней одновременно работают десятки пользователей, перевод в файловый формат приведёт к блокировкам и ошибкам. В таких случаях файловая копия годится только как тестовая или архивная.

Обратный переход — из файловой базы в SQL — выполняется тем же механизмом выгрузки/загрузки DT, либо через создание серверной базы в консоли администрирования кластера 1С. Ниже разобраны оба направления, подготовка, типовые ошибки и способы проверить, что перенос прошёл корректно.

Когда перевод SQL-базы в файловую оправдан, а когда нет

Файловый формат подходит для баз небольшого объёма, где работает ограниченное число пользователей — ориентировочно до 5–10 одновременных подключений при умеренной нагрузке. Типовые сценарии: перенос базы на ноутбук для работы вне офиса, создание копии для тестирования обновлений, архивирование закрытой базы, переезд небольшой организации на компьютер без сервера 1С.

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

Маршрут решения

Как выбрать действие

База нужна для тестов, разработки или работы 1–3 пользователейПереводите в файловый формат через выгрузку DT — это безопасно и обратимо
С базой одновременно работают больше 10 пользователейОставляйте SQL-режим; файловый вариант приведёт к конфликтам блокировок
Нужна ежедневная рабочая копия на другом сервереИспользуйте средства резервного копирования СУБД вместо выгрузки DT
База очень большая и выгрузка DT занимает часыРассмотрите выгрузку через план обмена или выгрузку только нужных данных

Подготовка перед выгрузкой

Перед началом завершите работу всех пользователей в базе: выгрузка DT требует монопольного доступа. В консоли кластера серверов 1С можно принудительно завершить сеансы, либо установить блокировку сеансов с кодом доступа и дождаться выхода пользователей. Фоновые задания также должны быть остановлены — иначе выгрузка не начнётся.

Убедитесь, что на диске достаточно свободного места. Файл DT обычно занимает заметно меньше размера базы в СУБД, но для больших баз это всё равно могут быть гигабайты. Дополнительно место понадобится на этапе загрузки в файловую базу. Проверьте также, что у вас есть права администратора информационной базы — без них пункт выгрузки будет недоступен.

Пошаговая выгрузка SQL-базы в файл DT

Выгрузка выполняется в режиме Конфигуратора. Запустите 1С, выберите нужную базу в списке и войдите в Конфигуратор под пользователем с полными правами. Затем откройте меню «Администрирование» и выберите пункт «Выгрузить информационную базу». Укажите путь и имя файла с расширением .dt и дождитесь завершения.

Время выгрузки зависит от объёма данных и производительности сервера: небольшая база выгружается за минуты, крупная может занять часы. Во время выгрузки база недоступна для пользователей, поэтому операцию планируют на нерабочее время. Если выгрузка прервалась с ошибкой, файл DT будет неполным и использовать его нельзя — процедуру нужно повторить.

Порядок действий
  1. 1
    Сделайте резервную копию базы средствами СУБД
  2. 2
    Завершите сеансы пользователей и остановите фоновые задания
  3. 3
    Откройте базу в Конфигураторе
  4. 4
    Выберите Администрирование → Выгрузить информационную базу
  5. 5
    Укажите путь к файлу .dt и дождитесь завершения без ошибок
  6. 6
    Проверьте размер файла и сохраните его в надёжное место

Создание файловой базы и загрузка данных

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

После создания откройте новую базу в Конфигураторе, перейдите в «Администрирование» → «Загрузить информационную базу» и выберите ранее выгруженный файл .dt. Платформа предупредит, что текущие данные будут замещены — для пустой базы это нормально. После загрузки запустите базу в режиме Предприятия и проверьте работоспособность.

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

Обратный перевод: из файловой базы в SQL

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

Затем из файловой базы делается выгрузка в DT тем же способом, а в новую серверную базу выполняется загрузка. Учётные записи пользователей выгружаются вместе с данными, но настройки безопасности на уровне СУБД (роли, права на саму базу данных) нужно настроить отдельно — они не переносятся файлом DT.

Если выгрузка DT большой базы занимает слишком много времени или падает по памяти, попробуйте выполнять её на сервере 1С локально, а не по сети, и убедитесь, что на диске с временными файлами достаточно места. Для очень больших баз иногда быстрее переносить данные через резервную копию СУБД на другой SQL-сервер, а не через DT.
ПЗ
Практическое замечание

Проверка результата и типичные ошибки

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

Частые ошибки: выгрузка при активных сеансах (платформа откажет в монопольном доступе), нехватка места на диске, использование устаревшей версии платформы при загрузке (база, выгруженная новой платформой, может не загрузиться в старую), а также попытка работать с файловой базой по сети через общий сетевой диск с большим числом пользователей — это ведёт к повреждению файла 1Cv8.1CD.

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

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

Запуск базы в режиме Предприятия
Норма

База открывается, пользователи входят со своими паролями

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

Ошибки формата, требование обновления или пустые данные

Оборотно-сальдовая ведомость за последний закрытый период
Норма

Совпадает с отчётом из исходной SQL-базы

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

Расхождения в итогах — перенос неполный

Тестирование и исправление
Норма

Проверка завершается без критических ошибок

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

Ошибки ссылочной целостности — требуется повторная выгрузка

Список пользователей
Норма

Все учётные записи и роли на месте

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

Пользователей нет — выгрузка была неполной

Типичные ошибки
01
Копирование MDF/LDF файлов SQL-сервера вместо выгрузки DT — данные так не переносятся, файлы несовместимы с файловым режимом
02
Выгрузка при работающих пользователях — платформа откажет в монопольном доступе или выгрузка окажется неполной
03
Загрузка DT, сделанного новой версией платформы, в старую — ошибка несовместимости версий
04
Размещение файловой базы на сетевом диске для десятков пользователей — конфликты блокировок и риск повреждения файла 1Cv8.1CD
05
Отсутствие резервной копии перед операцией — при сбое восстановить данные будет нечем

Альтернативы выгрузке DT

Если цель — не смена формата, а перенос SQL-базы на другой сервер, правильнее использовать штатные средства СУБД: резервное копирование и восстановление (backup/restore) в MS SQL Server или pg_dump/pg_restore в PostgreSQL. Это быстрее и надёжнее для больших баз, а после восстановления базу достаточно перерегистрировать в консоли кластера 1С с новыми параметрами подключения.

Для переноса только части данных (например, одной организации из многорганизационной базы) используют типовые обработки выгрузки/загрузки данных в формате XML или механизмы конвертации данных. Это сложнее, но позволяет не тащить в новую базу лишнюю историю.

Итог

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

Перевод SQL-базы 1С в файловую выполняется только через выгрузку в файл .dt и загрузку в пустую файловую базу — прямого конвертера не существует. Перед операцией сделайте резервную копию средствами СУБД, завершите сеансы пользователей, после загрузки проверьте отчёты и выполните тестирование базы. Файловый формат подходит для небольших баз и ограниченного числа пользователей.

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

Можно ли просто скопировать файлы базы с SQL-сервера и открыть их как файловую базу?

Нет. Файлы MDF/LDF — это внутренний формат СУБД, а файловая база 1С хранится в собственном формате 1Cv8.1CD. Они несовместимы. Единственный штатный способ переноса — выгрузка в файл .dt через Конфигуратор и загрузка в новую базу.

Перенесутся ли пользователи и их пароли при выгрузке в DT?

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

Какой максимальный размер базы допустим в файловом режиме?

Жёсткого ограничения платформа не устанавливает, но на практике файловый режим комфортно работает с базами объёмом в несколько гигабайт. При больших объёмах замедляются проведение документов, закрытие месяца и обновление конфигурации, а риск повреждения файла при сбоях растёт. Для крупных баз рекомендуется клиент-серверный режим.

Почему загрузка DT завершается ошибкой несовместимости версий?

Файл, выгруженный более новой версией платформы, нельзя загрузить в базу под управлением старой версии. Обновите платформу на компьютере, где выполняется загрузка, до версии не ниже той, на которой делалась выгрузка, и повторите операцию.

Можно ли выгрузить DT без остановки работы пользователей?

Нет, выгрузка требует монопольного доступа к информационной базе. Если простой недопустим, сделайте резервную копию средствами СУБД, восстановите её в отдельную копию на другом сервере и выгружайте DT уже из этой копии, не трогая рабочую базу.

Что делать, если файловая база после переноса работает медленно?

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