Как перенести базу 1С на новый сервер с сохранением журнала регистрации?

Системный администратор 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием IT и автоматизация бизнеса
← На главную

Перенос информационной базы на новое «железо» часто сопровождается опасениями потерять историю работы пользователей, зафиксированную в ЖурналеРегистрации. Давайте разберем детально, как выполнить эту задачу профессионально и безопасно, разделяя физические данные базы MS SQL и файлы конфигурации сервера 1С.

Основные принципы миграции

Важно понимать, что ЖурналРегистрации и сама база данных — это разные сущности. База данных хранится в СУБД MS SQL Server (файлы .mdf и .ldf), а журнал регистрации — в файловой структуре каталога srvinfo сервера 1С:Предприятие. При смене сервера эти компоненты нужно переносить по отдельности.

Шаг 1: Подготовка к переносу

Для обеспечения консистентности данных необходимо исключить их изменение в процессе копирования.

  1. Остановите службу «Агент сервера 1С:Предприятия» на старом и новом серверах.
  2. Если вы используете MS SQL Server, выполните полное резервное копирование базы данных средствами СУБД (создайте файл .bak).

Шаг 2: Перенос базы данных

Так как вы планируете переход на другой сервер, наиболее надежным способом будет восстановление базы из резервной копии:

Шаг 3: Перенос журнала регистрации (ЖР)

Это самый ответственный этап. Файлы журнала находятся в папке srvinfo\reg_1541. Внутри этой директории вы увидите подпапки с длинными именами — это GUID (уникальные идентификаторы) ваших баз данных.

  1. На старом сервере откройте файл 1CV8Clst.lst с помощью текстового редактора (например, Блокнота). В нем вы увидите соответствие имен баз и их GUID.
  2. Найдите нужную папку с GUID, которая соответствует вашей базе.
  3. Скопируйте содержимое этой папки.
  4. На новом сервере создайте новую пустую базу в консоли администрирования 1С. Это создаст новый GUID для вашей базы.
  5. Перейдите в каталог srvinfo\reg_1541 на новом сервере, найдите папку с новым GUID и вставьте туда скопированные ранее файлы журнала.
  6. Важно: Если вы хотите сохранить старые записи, убедитесь, что структура файлов скопирована корректно.

Шаг 4: Регистрация базы на сервере 1С

Вместо того чтобы копировать файлы 1CV8Clst.lst целиком (что может привести к конфликтам настроек кластера), мы рекомендуем:

  1. Зарегистрировать базу вручную через консоль администрирования серверов 1С.
  2. Указать параметры подключения к новому SQL Server.
  3. После запуска службы и подключения к базе, 1С «подхватит» файлы журнала из папки, соответствующей текущему GUID.

Советы для обеспечения целостности

Мы настоятельно не рекомендуем копировать файлы в то время, когда служба 1С активна. В такие моменты SQLite, используемый 1С для хранения журнала, может находиться в состоянии открытой транзакции, что приведет к повреждению индекса. Всегда останавливайте службы, если хотите гарантировать сохранность данных.

Если в вашей системе активно используется ПолнотекстовыйПоиск, помните, что его индекс также хранится в папке базы данных. При переносе папки с GUID он перенесется автоматически, однако после запуска рекомендуется зайти в конфигуратор и выполнить проверку индекса.

После завершения всех операций обязательно проверьте работу РегламентныхЗаданий и актуальность статистики SQL Server, выполнив команду:


USE [ИмяВашейБазы];
GO
EXEC sp_updatestats;
GO

Следуя этому алгоритму, вы сможете безопасно мигрировать инфраструктуру 1С, сохранив всю историю действий пользователей без потерь и повреждений.

← На главную