Администрирование · 11 мин
Как перенести файловую базу 1С 8.3 в SQL
Пошаговая инструкция по переносу файловой базы 1С 8.3 на SQL Server: выгрузка dt, настройка сервера, загрузка и проверка результата без потери данных.
Файловый вариант работы 1С 8.3 удобен для небольших команд, но с ростом числа пользователей и объёма данных он становится узким местом: замедляются проведение документов и отчёты, возникают блокировки и ошибки при одновременной работе. Переход на клиент-серверный вариант с СУБД (чаще всего Microsoft SQL Server или PostgreSQL) снимает эти ограничения, но требует аккуратной подготовки.
Сама процедура переноса технически несложна: база выгружается из файлового режима в файл с расширением .dt через конфигуратор, затем загружается в новую информационную базу, созданную на сервере 1С и SQL. Однако успех зависит от подготовки: проверки целостности исходной базы, правильной настройки прав доступа к СУБД и достаточного объёма дискового пространства.
Ниже разобран полный цикл переноса: от подготовительных проверок до контроля результата, а также типичные ошибки, из-за которых миграция затягивается или заканчивается повреждением данных.
Когда переход на SQL действительно нужен
Перенос имеет смысл не всегда. Файловый режим стабильно обслуживает базы с несколькими пользователями и умеренным объёмом данных. Сигналами к миграции обычно служат: одновременная работа более 10–15 пользователей, регулярные ошибки «Конфликт блокировок», длительное формирование отчётов, размер файла 1Cv8.1CD в десятки гигабайт, а также необходимость регламентных заданий, веб-доступа и тонкого разграничения прав на уровне СУБД.
Дополнительное преимущество клиент-серверного варианта — надёжность: транзакционная модель SQL-сервера устойчивее к внезапным отключениям питания и сетевым сбоям, чем файловый формат, где такой сбой может привести к повреждению файла базы.
Как выбрать действие
Подготовка: что проверить до выгрузки
Первый шаг — резервная копия. Скопируйте каталог файловой базы целиком (файл 1Cv8.1CD и сопутствующие файлы) на отдельный носитель. Не полагайтесь только на выгрузку .dt: копия каталога позволяет вернуться к исходному состоянию мгновенно.
Второй шаг — тестирование и исправление базы. Откройте конфигуратор в монопольном режиме, перейдите в «Администрирование → Тестирование и исправление» и выполните проверку логической и ссылочной целостности. Ошибки, найденные на этом этапе, нужно устранить до выгрузки, иначе они могут прервать загрузку на SQL-сервере или перейти в новую базу.
Третий шаг — оценка объёма. Размер файла .dt обычно сопоставим с размером исходной базы или меньше за счёт сжатия, но для загрузки потребуется свободное место и на диске с .dt, и на SQL-сервере (файлы данных и журнала транзакций), и во временном каталоге. Заложите запас не менее двукратного размера базы на каждом этапе.
Выгрузка файловой базы в файл .dt
Выгрузка выполняется штатными средствами платформы, сторонние утилиты не требуются. Запустите конфигуратор от имени администратора базы, дождитесь установки монопольного режима и выберите «Администрирование → Выгрузить информационную базу». Укажите путь и имя файла с расширением .dt, желательно на локальном диске — выгрузка на сетевую папку медленнее и чувствительнее к сбоям соединения.
Время выгрузки зависит от объёма данных и скорости диска: небольшая база выгружается за минуты, база в десятки гигабайт может занять часы. Не прерывайте процесс, даже если индикатор кажется зависшим. После завершения убедитесь, что файл существует и его размер отличен от нуля.
- 1Завершите все сеансы пользователей и фоновые задания
- 2Сделайте копию каталога файловой базы
- 3Откройте конфигуратор и выполните тестирование и исправление
- 4Выберите Администрирование → Выгрузить информационную базу
- 5Укажите локальный путь для файла .dt и дождитесь завершения
- 6Проверьте наличие и размер созданного файла
Подготовка SQL-сервера и создание пустой базы
Перед загрузкой нужно развернуть и настроить серверную часть: установить СУБД (Microsoft SQL Server или PostgreSQL с адаптацией для 1С), сервер 1С:Предприятия той же версии платформы, что использовалась в файловом режиме, и убедиться, что агент сервера запущен и доступен.
Новую информационную базу создают через консоль кластера серверов 1С или через диалог добавления базы в стартовом окне с указанием варианта «На сервере 1С:Предприятия». При создании задаются имя базы в кластере, сервер СУБД, имя базы данных на SQL-сервере и учётная запись с правами на создание базы данных. Важно: база создаётся пустой, без конфигурации — загрузка .dt полностью заполнит её структуру и данные.
Для SQL Server рекомендуется заранее выбрать сортировку (collation), совместимую с 1С, и простую или полную модель восстановления в зависимости от политики резервного копирования. Учётной записи, под которой сервер 1С обращается к СУБД, нужны права на создание и изменение баз данных; после развёртывания избыточные права можно сузить.
Загрузка .dt в базу на SQL-сервере
Запустите конфигуратор для только что созданной пустой серверной базы. Платформа сообщит, что база пуста, — это нормально. Выберите «Администрирование → Загрузить информационную базу» и укажите файл .dt, полученный на этапе выгрузки. Подтвердите загрузку: все существующие данные в целевой базе (их нет, она пустая) будут замещены.
Загрузка обычно занимает больше времени, чем выгрузка, поскольку сервер создаёт таблицы, индексы и переносит данные транзакциями. Следите за свободным местом на дисках SQL-сервера: активно растут и файл данных, и журнал транзакций. После завершения платформа может предложить реструктуризацию или обновление — выполните его и дождитесь окончания.
Для больших баз удобно запускать загрузку с машины, расположенной в одной сети с SQL-сервером, и в часы минимальной нагрузки. Разрыв соединения во время загрузки оставляет базу в незавершённом состоянии — процедуру придётся начинать заново с пересоздания пустой базы.
Проверка результата и подключение пользователей
После загрузки войдите в базу в режиме «Предприятие» под учётной записью администратора. Проверьте ключевые участки: открытие основных справочников и документов, проведение тестового документа, формирование типовых отчётов, работу обменов и печатных форм. Сверьте остатки по нескольким контрольным отчётам (например, оборотно-сальдовую ведомость или складские остатки) с теми же отчётами в файловой копии — цифры должны совпадать полностью.
Затем перенастройте подключения пользователей: в списке информационных баз старый путь к файловой базе заменяется на новый, с указанием сервера 1С и имени базы в кластере. Если использовались внешние обработки, обмены через каталоги или COM-соединения по файловому пути — обновите и эти настройки. Старую файловую базу не удаляйте сразу: переведите её в режим «только чтение» и храните как архив до подтверждения стабильной работы новой.
Как проверить результат
Совпадают с отчётами файловой базы до копейки
Расхождения в суммах или количестве
Документы проводятся без ошибок блокировок
Ошибки СУБД или конфликты транзакций
Все пользователи подключаются к серверной базе
Часть пользователей продолжает работать в файловой копии
Выполняются по расписанию на сервере
Задания не запускаются или завершаются ошибкой
Типичные ошибки при переносе
Большинство проблем миграции связано не с самой процедурой, а с нарушением подготовки и контроля. Характерные сценарии: выгрузка при активных сеансах (файл .dt оказывается повреждён), нехватка места на диске SQL-сервера в середине загрузки, несовпадение версий платформы и попытка загрузить .dt в базу с уже существующей конфигурацией вместо пустой.
Отдельная группа ошибок — организационные: пользователей не предупредили о переходе, и часть сотрудников продолжила вносить данные в старую файловую копию, после чего данные разошлись. Чтобы этого избежать, после выгрузки заблокируйте вход в файловую базу или переименуйте её каталог.
Альтернативные способы переноса и их ограничения
Выгрузка через .dt — универсальный метод, но не единственный. Для очень больших баз иногда применяют средства репликации и резервного копирования на уровне СУБД, однако это актуально при переходе между SQL-серверами, а не из файлового режима. Для переноса только части данных (например, справочников без документов) используют типовую обработку «Универсальный обмен данными в формате XML» или конвертацию данных, но это заметно сложнее и требует настройки правил обмена.
Также существует вариант публикации файловой базы на веб-сервере как промежуточный шаг, но он не решает проблему масштабирования и не заменяет полноценный клиент-серверный режим. Для полноценного перехода на SQL выгрузка и загрузка .dt остаётся рекомендуемым и наиболее надёжным способом.
Сравнение вариантов переноса
Штатный и самый надёжный способ; переносит всё целиком; требует монопольного доступа и времени на больших базах
Подходит для переноса выборочных данных или объединения баз; не переносит настройки и требует идентичных конфигураций
Гибкие правила переноса между разными конфигурациями; сложная настройка, оправдана только в нестандартных сценариях
Что важно запомнить
Перенос файловой базы 1С 8.3 в SQL выполняется через выгрузку .dt и загрузку в пустую серверную базу. Критичны три вещи: резервная копия и тестирование до выгрузки, монопольный доступ и достаточное место на дисках, контрольная сверка остатков и блокировка старой файловой базы после перехода.
Частые вопросы
Сколько времени занимает перенос базы в SQL?
Зависит от объёма данных и скорости дисков. Небольшая база переносится за час-полтора с учётом подготовки, база в десятки гигабайт может занять рабочий день. Планируйте миграцию на нерабочее время и закладывайте запас на повторную попытку.
Можно ли перенести базу без остановки работы пользователей?
Полностью без остановки — нет: выгрузка .dt требует монопольного доступа. Минимизировать простой можно, выполнив подготовку заранее (установка сервера, создание пустой базы, тестовая загрузка на копии), а финальную выгрузку и переключение проведя в выходные.
Что делать, если загрузка .dt прервалась с ошибкой?
Сначала проверьте свободное место на дисках SQL-сервера и журнал ошибок. Целевую базу проще удалить и создать заново пустой, чем пытаться продолжить прерванную загрузку. Если ошибка повторяется, выполните тестирование и исправление исходной файловой базы и сделайте новую выгрузку.
Нужно ли обновлять конфигурацию после перехода на SQL?
Сама миграция конфигурацию не меняет. Обновление потребуется только если версия платформы на сервере новее той, в которой работала файловая база, — тогда при первом запуске конфигуратора будет предложено обновление структуры базы данных.
Можно ли вернуться к файловому режиму после перехода?
Да, обратный перенос выполняется тем же способом: выгрузка серверной базы в .dt и загрузка её в файловую базу. Учтите, что некоторые возможности клиент-серверного режима (например, регламентные задания на сервере) в файловом варианте работать не будут.
Переносятся ли пользователи и их права вместе с базой?
Да, список пользователей, их роли и пароли хранятся внутри информационной базы и переносятся вместе с данными через .dt. Отдельно настраивается только способ аутентификации на уровне кластера, если планируется, например, доменная авторизация.