Администрирование · 10 мин
Как перенести базу 1С SQL на другой компьютер
Подробная инструкция по переносу базы 1С с SQL Server на другой компьютер: резервная копия, восстановление, настройка сервера 1С и проверка результата.
Перенос базы 1С, работающей в клиент-серверном режиме на SQL Server, отличается от простого копирования файловой базы. Здесь данные хранятся в СУБД, а сама платформа 1С обращается к ним через сервер 1С:Предприятия или напрямую. Поэтому задача состоит из двух частей: корректно перенести данные SQL Server и правильно зарегистрировать информационную базу на новом месте.
Существует два основных способа переноса: через выгрузку из конфигуратора в файл .dt и через штатные средства SQL Server — резервную копию (backup) с последующим восстановлением. Первый способ универсальнее и безопаснее для небольших баз, второй быстрее и предпочтительнее для больших объёмов, когда выгрузка в .dt занимает часы.
Перед началом работ обязательно завершите все сеансы пользователей и сделайте резервную копию базы. Ошибка на любом этапе без актуальной копии может привести к потере данных, а восстановление из старого архива — к потере введённых за последние дни документов.
Подготовка: что проверить до начала переноса
Перед переносом уточните версии всех компонентов. Версия платформы 1С на новом компьютере должна быть не ниже той, на которой работала база, иначе при запуске потребуется конвертация, а обратный откат будет невозможен. То же касается SQL Server: восстановить резервную копию можно только на версию СУБД не ниже исходной.
Проверьте, есть ли у вас административные права на SQL Server (роль sysadmin или права на создание баз и резервных копий), полные права на информационную базу 1С и доступ к консоли сервера 1С, если используется клиент-серверный режим через кластер. Заранее узнайте имя базы данных в SQL Server — его можно посмотреть в свойствах информационной базы в консоли кластера или в списке баз на старом сервере.
Оцените размер базы: файлы данных и журнала транзакций можно увидеть в свойствах базы в SQL Server Management Studio (SSMS). Убедитесь, что на целевом диске нового компьютера достаточно свободного места с запасом — желательно минимум в полтора-два раза больше текущего размера базы.
Способ 1: перенос через выгрузку в файл .dt
Это самый простой и безопасный способ, подходящий для баз небольшого и среднего размера. Выгрузка в .dt переносит данные вместе с конфигурацией в универсальном формате платформы, независимом от версии SQL Server.
На старом компьютере откройте конфигуратор с правами администратора, убедитесь, что в базе нет активных пользователей, и выберите пункт меню «Администрирование — Выгрузить информационную базу». Укажите путь к файлу .dt и дождитесь завершения процесса. Для больших баз выгрузка может занять значительное время и потребовать заметного объёма оперативной памяти.
На новом компьютере установите платформу 1С и SQL Server, создайте пустую информационную базу (без конфигурации) через консоль кластера или диалог добавления базы, затем откройте её в конфигураторе и выполните «Администрирование — Загрузить информационную базу», указав файл .dt. После загрузки платформа предложит перезапустить конфигуратор — согласитесь.
Способ 2: перенос через резервную копию SQL Server
Для больших баз быстрее и надёжнее использовать штатные средства СУБД. Откройте SQL Server Management Studio, подключитесь к старому серверу, щёлкните правой кнопкой по базе и выберите «Tasks — Back Up». Тип копии — Full, назначение — файл с расширением .bak. Рекомендуется включить проверку копии после создания (опция Verify backup).
Скопируйте файл .bak на новый компьютер. В SSMS на новом сервере щёлкните правой кнопкой по узлу «Databases» и выберите «Restore Database», укажите источник — файл копии. На вкладке «Files» проверьте пути, куда будут развёрнуты файлы данных и журнала: они должны существовать на новом сервере. На вкладке «Options» при необходимости включите перезапись существующей базы.
После восстановления проверьте, что база находится в состоянии Online и не содержит ошибок. Полезно выполнить проверку целостности средствами СУБД:
DBCC CHECKDB (N'ИмяБазы') WITH NO_INFOMSGS;Если проверка завершилась без ошибок, данные на новом сервере находятся в согласованном состоянии. Учтите, что пользователь SQL, под которым 1С подключается к базе, должен существовать на новом сервере и иметь права на восстановленную базу — либо создайте логин заново и назначьте ему роль db_owner.
Регистрация базы на новом сервере 1С
Если используется сервер 1С:Предприятия, откройте консоль администрирования кластера на новом компьютере и создайте новую информационную базу. Укажите тип СУБД (MS SQL Server), имя сервера баз данных, имя базы данных (то, под которым она восстановлена), а также учётные данные пользователя SQL.
При создании базы в консоли есть важный параметр: если база уже содержит данные (восстановлена из копии), снимите флажок «Создать базу данных при его отсутствии» или, наоборот, убедитесь, что платформа не будет создавать пустую базу поверх существующей. Для загрузки .dt, напротив, базу создают пустой, а данные добавляют через конфигуратор.
На клиентских компьютерах обновите список информационных баз: в диалоге запуска 1С отредактируйте существующую базу, указав новый сервер и имя кластера. Если адрес сервера не изменится (например, новому компьютеру присвоено то же имя), клиентские настройки можно не трогать.
- 1Завершите сеансы пользователей и заблокируйте базу
- 2Создайте полную резервную копию базы в SSMS
- 3Перенесите файл .bak на новый компьютер
- 4Восстановите базу через Restore Database на новом SQL Server
- 5Создайте логин SQL и назначьте права на базу
- 6Зарегистрируйте базу в консоли кластера 1С или обновите строку подключения
- 7Проверьте вход в базу и работу ключевых функций
Проверка результата после переноса
Первый признак успешного переноса — база открывается в режиме предприятия под учётной записью администратора без ошибок подключения к СУБД. Проверьте, что справочники и документы на месте: откройте несколько документов за последний рабочий день и сравните их с исходной базой.
Дополнительно выполните «Тестирование и исправление» информационной базы в конфигураторе в режиме проверки логической целостности. Для клиент-серверных баз также полезно убедиться, что работают регламентные задания: на новом сервере они могут быть заблокированы, и их нужно разрешить вручную в настройках базы в консоли кластера.
Проверьте права пользователей, подключение внешних компонентов, обменов с другими системами и печатных форм. Если база участвует в обмене данными (РИБ, обмен с сайтом, ЭДО), параметры подключения на новом сервере могут потребовать корректировки.
Как проверить результат
База открывается без ошибок подключения
Ошибка соединения с SQL Server или «база не найдена»
Документы и справочники актуальны на дату переноса
Отсутствуют последние документы или пустые разделы
Задания выполняются по расписанию
Задания заблокированы или завершаются с ошибкой
Пользователь 1С имеет доступ к базе
Ошибки доступа при запуске или в работе
Типичные ошибки и ограничения
Частая проблема — попытка восстановить копию на SQL Server более старой версии, чем исходный. Это невозможно технически: либо обновите СУБД на новом компьютере, либо используйте перенос через .dt. Вторая распространённая ошибка — «осиротевший» пользователь SQL: логин существует на сервере, но не связан с пользователем внутри восстановленной базы. Решается созданием логина с тем же именем и привязкой или назначением прав заново.
Не переносите базу простым копированием файлов .mdf и .ldf при работающем SQL Server — файлы будут заблокированы или копия окажется несогласованной. Если всё же используется метод detach/attach, сначала отсоедините базу штатно через SSMS.
Учтите лицензионный момент: лицензии 1С привязаны к аппаратной конфигурации компьютера. При переносе сервера 1С на новое оборудование может потребоваться повторная активация лицензии, а при существенном изменении конфигурации — новый пин-код из комплекта поставки.
Ответы на частые вопросы
Можно ли перенести базу 1С SQL без остановки работы пользователей?
Надёжного способа нет. Резервную копию SQL Server можно сделать «на горячую», но данные будут актуальны на момент начала копирования, а всё, что введено после, потребуется переносить отдельно. Для корректного переезда работу в базе останавливают.
Что выбрать: выгрузку .dt или backup SQL Server?
Для баз до нескольких гигабайт удобнее .dt — он не зависит от версии СУБД и проще в обращении. Для больших баз backup/restore значительно быстрее и менее требователен к памяти, но требует совместимости версий SQL Server.
Нужно ли заново активировать лицензию 1С после переноса?
Если переносится только база данных, а сервер 1С и клиенты остаются прежними — нет. Если сервер 1С переезжает на новый компьютер, программная лицензия, скорее всего, потребует повторной активации из-за изменения аппаратных параметров.
Что делать, если после восстановления 1С выдаёт ошибку доступа к базе?
Проверьте, что на новом SQL Server создан логин, указанный в свойствах информационной базы, и что ему назначены права на восстановленную базу (роль db_owner). Также убедитесь, что на сервере разрешена нужная проверка подлинности — SQL Server или Windows.
Можно ли перенести базу с SQL Server на PostgreSQL?
Да, но только через выгрузку в .dt: создаётся пустая база на PostgreSQL, и в неё загружается файл выгрузки. Прямой перенос backup между разными СУБД невозможен.
Сколько времени занимает перенос?
Зависит от размера базы и способа. Небольшая база через .dt переносится за десятки минут, восстановление backup большой базы может занять от нескольких минут до нескольких часов. Закладывайте дополнительное время на проверку результата и настройку подключений.
Что важно запомнить
Перенос базы 1С SQL выполняется через выгрузку .dt или backup/restore SQL Server с последующей регистрацией базы на новом сервере. Главные условия успеха: завершённые сеансы, актуальная резервная копия, совместимые версии платформы и СУБД, настроенные права SQL и проверка данных до удаления старой копии.