Разворачиваем копию информационной базы 1С из .dt, папки или бэкапа SQL
Содержание
Установить копию базы
1С проще всего так: создайте новую пустую информационную базу, откройте её в Конфигураторе и выполните Администрирование → Загрузить информационную базу…, указав файл выгрузки .dt. Для файловой базы можно ещё быстрее: скопировать папку с файлом 1Cv8.1CD и добавить её в список баз. Для клиент-серверной базы на SQL Server есть третий путь — восстановить бэкап .bak средствами СУБД и зарегистрировать базу в кластере 1С.
Какой путь выбрать, зависит от того, что у вас на руках и куда разворачиваете копию. Главное, о чём забывают администраторы, — после установки копии нужно сразу отключить в ней регламентные задания, обмены и почту. Иначе тестовая база начнёт отправлять отчёты и выгружать документы контрагентам от имени рабочей.
Что приготовить перед развёртыванием копии
Сначала определите, из какого источника ставите копию. От этого зависит весь дальнейший порядок.
| Что у вас есть | Куда разворачиваете | Способ |
|---|---|---|
Файл .dt | Файловая или серверная база | Загрузка через Конфигуратор |
Папка с 1Cv8.1CD | Файловая база | Копирование папки + добавление в список |
Бэкап .bak из SQL Server | Серверная база на SQL Server | Восстановление в SSMS + регистрация в кластере |
| Рабочая серверная база | Серверная база | Выгрузка в .dt или бэкап СУБД |
Перед стартом проверьте пять вещей:
- 💾 Место на диске. Под загрузку
.dtзакладывайте в 3–4 раза больше размера самого файла: выгрузка сжата, а база вместе с индексами занимает заметно больше. - 🔢 Версия платформы. Номер платформы, на которой загружаете, должен быть не ниже номера той, на которой делали выгрузку. Версию в Конфигураторе рабочей базы смотрят в
Справка → О программе. - 🖥️ Разрядность клиента. Базы крупнее нескольких гигабайт загружайте 64-битным Конфигуратором. 32-битный может упасть на нехватке памяти посреди загрузки.
- 🔑 Пароль администратора. Пользователи переезжают вместе с базой. Если вы не знаете логин и пароль пользователя с полными правами в исходной базе, в копию вы потом не войдёте.
- 📂 Целостность файла. Сравните размер
.dtна источнике и после копирования по сети. Обрезанный при передаче файл загрузится до середины и выдаст ошибку.
Если копию снимаете с работающей базы сами, файловую базу копируйте, только когда в ней никого нет. Копия папки «на ходу» может оказаться повреждённой. Выгрузка в .dt требует монопольного режима, так что её тоже делают при пустой базе — например, вечером.
Установка копии файловой базы 1С
Способ 1. Копирование папки
Это самый быстрый вариант, если исходная база тоже файловая.
- Убедитесь, что в исходной базе нет пользователей. Надёжный признак — в папке базы нет файла
1Cv8tmp.1CDи не висят открытые сеансы. - Скопируйте всю папку базы целиком. Основные данные лежат в файле
1Cv8.1CD, но рядом могут быть каталоги с файлами вложений и полнотекстовым индексом — их тоже забирайте. - Положите копию в новое место, например
D:\1C_Bases\Buh_Copy. - Запустите 1С, в окне выбора баз нажмите
Добавить. - Выберите
Добавление в список существующей информационной базы. - Задайте понятное имя, например «Бухгалтерия — КОПИЯ», и укажите путь к папке с
1Cv8.1CD. - Нажмите
Готовои откройте базу.
Способ 2. Загрузка файла .dt
Подходит, когда у вас только выгрузка или исходная база серверная, а копия нужна файловая.
- В окне запуска нажмите
Добавить→Создание новой информационной базы. - Выберите
Создание информационной базы без конфигурации…. - Укажите имя и пустую папку на компьютере, тип расположения — на данном компьютере или в локальной сети.
- Откройте новую базу кнопкой
Конфигуратор. - Выполните
Администрирование → Загрузить информационную базу…и выберите файл.dt. - Подтвердите предупреждение о том, что текущие данные будут заменены.
- Дождитесь окончания загрузки. Для базы на 10–20 ГБ это может занять от получаса до нескольких часов, в зависимости от диска.
- Конфигуратор предложит перезапуститься — соглашайтесь.
Загрузку можно запустить и без интерфейса, из командной строки. Это удобно для регулярного обновления тестовой копии по расписанию:
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F"D:\1C_Bases\Buh_Copy" /N"Администратор" /P"пароль" /RestoreIB "D:\Backup\buh.dt" /Out "D:\Backup\restore.log" /DisableStartupMessages
Номер платформы в пути замените на свой. Результат загрузки будет в файле лога, указанном в /Out.
Загрузка .dt полностью затирает данные базы, в которую грузите. Перед запуском дважды проверьте, что открыта именно новая пустая копия, а не рабочая база с похожим названием.
Развёртывание клиент-серверной копии на SQL Server
Для серверной базы есть два пути. Через .dt — универсальный, работает с любой СУБД. Через бэкап SQL Server — быстрее на больших базах и не требует монопольного режима в рабочей базе: бэкап СУБД снимается на ходу.
Вариант А. Новая база в кластере + загрузка .dt
- Откройте консоль администрирования серверов 1С:Предприятия.
- Раскройте
Центральные серверы 1С:Предприятия→ ваш сервер →Кластеры→ кластер →Информационные базы. - В контекстном меню выберите
Создать→Информационная база. - Заполните поля:
- Имя — имя базы в кластере, например
buh_copy; - Защищённое соединение — оставьте выключенным, если не настраивали;
- Сервер баз данных — имя SQL Server, при именованном экземпляре
SRV\INSTANCE; - Тип СУБД —
MS SQL Server; - База данных — имя новой базы в SQL, удобно совпадает с именем в кластере;
- Пользователь сервера БД и пароль — логин SQL с правом создавать базы;
- Смещение дат — для MS SQL ставьте
2000; - флажок Создать базу данных в случае ее отсутствия — включите;
- флажок Установить блокировку регламентных заданий — включите обязательно.
- Имя — имя базы в кластере, например
- Нажмите
ОК. Кластер создаст пустую базу в SQL Server. - На клиенте добавьте базу в список:
Добавить→Добавление в список существующей информационной базы→ типНа сервере 1С:Предприятия, кластер и имяbuh_copy. - Откройте её в Конфигураторе и загрузите
.dt, как в файловом варианте.
То же самое из командной строки — ключ /S вместо /F:
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /S"srv1c\buh_copy" /N"Администратор" /P"пароль" /RestoreIB "D:\Backup\buh.dt" /Out "D:\Backup\restore.log"
Вариант Б. Восстановление бэкапа SQL и регистрация в кластере
- В SQL Server Management Studio восстановите бэкап рабочей базы под новым именем. Важно переименовать файлы данных и журнала, иначе SQL попытается перезаписать файлы рабочей базы:
RESTORE DATABASE [buh_copy]
FROM DISK = N'D:\Backup\buh_full.bak'
WITH
MOVE N'buh' TO N'E:\SQLData\buh_copy.mdf',
MOVE N'buh_log' TO N'F:\SQLLog\buh_copy_log.ldf',
RECOVERY, STATS = 10;
Логические имена файлов (buh, buh_log) у вас будут свои. Узнать их можно командой RESTORE FILELISTONLY FROM DISK = N'D:\Backup\buh_full.bak'.
- В консоли кластера создайте информационную базу, как в варианте А, но в поле База данных укажите
buh_copy, а флажок Создать базу данных в случае ее отсутствия снимите. Блокировку регламентных заданий — включите. - Добавьте базу в список на клиенте и откройте её.
Не регистрируйте восстановленную SQL-базу в том же кластере под именем рабочей и не указывайте в новой базе кластера имя рабочей базы SQL. Две записи кластера, смотрящие в одну базу данных, — прямой путь к испорченным данным.
Первый запуск: блокировки, пользователи и права
Регламентные задания и внешние ресурсы
При первом запуске копии в режиме 1С:Предприятие типовые конфигурации (БП 3.0, ЗУП 3.1, УТ 11 и другие на БСП) замечают, что база запущена по другому адресу. Появляется окно с вопросом: база перемещена или это её копия.
Выбирайте вариант, означающий копию. Тогда программа заблокирует работу с внешними ресурсами: обмены, отправку почты, синхронизацию с сайтами и сервисами ЭДО. Если выбрать «перемещена», копия продолжит ходить во внешний мир наравне с рабочей базой.
Дополнительно проверьте вручную:
- 📧 Учётные записи почты — удалите или смените пароли, чтобы рассылки не уходили клиентам.
- 🔄 Узлы обмена — отключите автоматическую синхронизацию с другими базами.
- 📤 1С-Отчётность и ЭДО — в копии их не используйте: отправка из тестовой базы уйдёт в ФНС и контрагентам по-настоящему.
- 🏷️ Заголовок программы — в БП 3.0 его меняют в
Администрирование → Общие настройки. Напишите «КОПИЯ — НЕ РАБОЧАЯ», чтобы никто не перепутал окна.
Пользователи и доступ к данным
Список пользователей 1С переезжает вместе с базой без изменений: те же логины, пароли и роли. Если копия нужна разработчику или аудитору, заведите ему отдельного пользователя в Администрирование → Настройки пользователей и прав → Пользователи, а лишних отключите флажком «Вход в программу разрешён».
Для файловой базы есть ещё права Windows. У каждого, кто будет работать с копией, должны быть права на изменение папки базы: 1С пишет в неё служебные файлы при каждом входе. Без этого вход завершится ошибкой доступа к файлу.
Для серверной базы на стороне SQL нужен логин с ролью db_owner на базе копии. Если базу создаёт кластер, логину также нужна серверная роль dbcreator. Давать копии логин sa — плохая привычка: при ошибке в настройках он позволяет кластеру дотянуться до любой базы на этом SQL Server.
Когда копия не встаёт: ошибки и что с ними делать
Если загрузка .dt завершилась ошибкой посередине, не пытайтесь работать с тем, что успело загрузиться. Создайте базу заново и повторите загрузку целиком.
Как ускорить базу после восстановления
Свежая копия часто работает заметно медленнее рабочей, хотя данные те же. Причины понятны: остыли кэши, статистика SQL устарела, индексы фрагментированы.
Серверная копия на SQL Server
- Обновите статистику по всей базе:
USE [buh_copy];
EXEC sp_updatestats;
- Для тестовой копии переведите модель восстановления в простую. Журнал транзакций перестанет расти на десятки гигабайт:
ALTER DATABASE [buh_copy] SET RECOVERY SIMPLE;
- Если копия будет жить долго, перестройте индексы — в SSMS это делается планом обслуживания с задачей перестроения индексов.
После RESTORE из бэкапа рабочей базы журнал транзакций может оказаться огромным. При простой модели восстановления его можно сжать через Задачи → Сжать → Файлы в SSMS для файла журнала.
Файловая копия
Запустите в Конфигураторе Администрирование → Тестирование и исправление… с флажками «Реиндексация таблиц информационной базы» и «Сжатие таблиц информационной базы». Режим требует монопольного доступа, так что выполняйте его до того, как пускать пользователей.
Для любой копии
- 🔍 Полнотекстовый поиск. Если индекс не переехал, обновите его: в БП 3.0 это
Администрирование → Общие настройки → Полнотекстовый поиск. - 🧮 Итоги регистров. На больших базах в копии стоит пересчитать итоги через
Администрирование → Обслуживание, если отчёты строятся медленно. - 🚀 Первый запуск. Первый вход после загрузки всегда долгий: платформа строит кэш конфигурации на клиенте. Второй вход проходит обычно.
| Что тормозит | Где лечить | Режим базы |
|---|---|---|
| Медленные запросы, отчёты | sp_updatestats, перестроение индексов | Серверная |
| Растёт журнал SQL | Простая модель восстановления | Серверная |
| Медленно всё и сразу | Тестирование и исправление: реиндексация | Файловая |
| Поиск не находит документы | Обновление полнотекстового индекса | Любая |
Частые вопросы
Можно ли из серверной базы сделать файловую копию?
.dt и загрузите файл в новую файловую базу. Обратный путь работает так же.Нужна ли отдельная лицензия на копию базы?
Как часто обновлять тестовую копию?
/RestoreIB по расписанию.Можно ли развернуть бэкап SQL Server на PostgreSQL?
.dt.Почему копия весит больше рабочей базы или меньше?
.dt таблицы и индексы строятся заново, без фрагментации и пустот, поэтому файловая копия часто меньше оригинала. Серверная копия из бэкапа SQL совпадает по размеру с исходной.