Переход с платформы 1С:Предприятие 8.1 на 8.2 является важным шагом для обеспечения стабильности и расширения функциональности информационной системы. Несмотря на то что процесс кажется автоматическим, работа с крупными базами (более 15 ГБ) под управлением MS SQL Server требует особого внимания к деталям. Разберем пошагово, как выполнить эту процедуру максимально безопасно и эффективно.
Прежде чем приступать к конвертации, мы должны убедиться в целостности данных. На платформе 8.1 выполним следующие действия:
.dt и создаем полную копию базы средствами MS SQL Server..ldf. Если он чрезмерно разросся, выполним сжатие (Shrink).Для оптимизации процесса на стороне SQL Server рекомендуется перевести базу данных в модель восстановления Simple. Это предотвратит лавинообразный рост лога во время массовой перестройки индексов в процессе конвертации. Рассмотрим пример SQL-запроса для этой операции:
USE [Имя_Вашей_Базы];
ALTER DATABASE [Имя_Вашей_Базы] SET RECOVERY SIMPLE;
GO
DBCC SHRINKFILE (N'Имя_Файла_Лога' , 1);
GO
Процедура миграции на 8.2 встроена в саму платформу. Разберем алгоритм действий:
Запустим Конфигуратор версии 8.2 и выберем существующую базу 8.1. Платформа распознает старый формат и выдаст запрос: "Информационная база будет сконвертирована. Продолжить?". При нажатии "Да" начнется процесс преобразования внутренних таблиц. Внимание: после завершения этого процесса база больше не сможет быть открыта версией 8.1.
В процессе конвертации 1С выполняет следующие ключевые изменения:
v8users. Это значительно повышает надежность, но требует прав администратора SQL при выполнении процедуры.Для того чтобы миграция не "аукнулась" программными ошибками, проанализируем конфигурацию на наличие несовместимого кода. В дистрибутив платформы 8.2 часто входит обработка ПроверкаКонфигурацииДляПереходаНа82.epf. Рассмотрим, что она проверяет:
Посмотрим на пример кода, который может потребовать внимания, если мы решим отключить режим совместимости:
// В 8.1 получение пользователя выглядело так:
ИмяПользователя = ПользователиИнформационнойБазы.ТекущийПользователь().Имя;
// В 8.2 при использовании новых механизмов рекомендуется проверять
// наличие прав и контекст исполнения (сервер/клиент)
После успешной конвертации в свойствах конфигурации по умолчанию будет установлен "Режим совместимости — Версия 8.1". Проанализируем, что это дает:
Этот режим эмулирует поведение старой платформы. Это позволяет запустить систему немедленно, без правки кода. Однако при этом нам будут недоступны многие возможности 8.2, такие как оптимизированные агрегаты в регистрах или новые возможности компоновки данных. Если мы планируем развивать систему, режим совместимости со временем стоит отключить, предварительно исправив все ошибки, выявленные обработкой проверки.
При работе с MS SQL Server после перехода на 8.2 важно выполнить регламентные операции на стороне СУБД. Выясним причину возможного замедления базы сразу после миграции: это происходит из-за устаревания статистики индексов.
Сразу после конвертации выполним следующие команды в SQL Server Management Studio:
EXEC sp_updatestats;Также стоит учитывать, что сервер 1С 8.2 устанавливается как отдельная служба. Мы можем запустить сервер 8.1 и 8.2 одновременно на одном физическом сервере, но они должны использовать разные сетевые порты (по умолчанию 1540 и 1541 для 8.1, и те же для 8.2, если не изменить их при установке).
Проанализируем ситуацию с защитой. Ключи HASP (USB-заглушки) для 8.1 обычно подходят и для 8.2. Однако, если вы переходите с 32-битного сервера на 64-битный сервер 8.2, убедитесь, что ваша лицензия на сервер это позволяет. 64-битный сервер 1С требует отдельной лицензии, которая отличается от лицензии на 32-битную версию, существовавшую во времена 8.1.
Переход на 8.2 — это не только техническое обновление, но и возможность повысить производительность за счет более эффективной работы платформы с блокировками в MS SQL. Выполнив все шаги — от тестирования в 8.1 до обновления статистики в SQL после конвертации — мы обеспечим стабильную работу системы и создадим фундамент для дальнейшего перехода на версию 8.3.