Переход с файлового варианта использования базы данных на технологическую платформу SQL Server является критически важным этапом развития инфраструктуры любой компании. Когда количество пользователей превышает 3-5 человек, или объем данных начинает расти, файловый режим работы 1С:Предприятие демонстрирует заметное падение производительности. В этот момент администраторы ищут надежный способ оптимизировать работу системы, чтобы исключить блокировки и ускорить проведение документов.
Процесс конвертации не требует полного переустановки системы, но подразумевает строгое соблюдение последовательности действий от подготовки сервера до финальной настройки прав доступа. Ошибки на этапе миграции могут привести к потере целостности данных или невозможности запуска базы в многопользовательском режиме. Поэтому крайне важно детально изучить процедуру и подготовить резервные копии перед началом работ.
В данной статье мы подробно разберем технические нюансы перевода информационной базы из формата *.1CD в формат клиент-сервер, рассмотрим необходимые лицензии и типичные проблемы, с которыми сталкиваются специалисты при настройке кластера серверов 1С. Вы получите четкий алгоритм действий, который позволит минимизировать простой бизнеса во время перехода на новую архитектуру.
Подготовка инфраструктуры и лицензирование
Первым шагом является аудит текущей инфраструктуры и приобретение необходимых лицензий. Для работы в режиме клиент-сервер вам потребуется серверная лицензия 1С:Предприятие 8 (Сервер), которая устанавливается непосредственно на машину, где будет развернут кластер серверов. Без этой лицензии запуск базы в режиме SQL невозможен, даже если сама СУБД уже установлена и настроена.
Параллельно необходимо подготовить сервер баз данных. Чаще всего в связке с 1С используется Microsoft SQL Server, хотя возможна работа и с PostgreSQL. Важно убедиться, что версия СУБД совместима с вашей платформой 1С. Например, для актуальных релизов платформы рекомендуется использовать SQL Server 2016 и выше, чтобы избежать проблем с кодировкой и типами данных.
Также следует проверить наличие клиентских лицензий. В файловом режиме они могут быть локальными или сетевыми, но при переходе на SQL критически важно наличие лицензий на сервер 1С (NFR или HASP ключи), которые будут контролировать количество одновременных подключений пользователей к кластеру.
⚠️ Внимание: Лицензии на SQL Server (CAL) покупаются отдельно от лицензий 1С. Убедитесь, что количество лицензий СУБД соответствует количеству пользователей или ядер процессора сервера, иначе работа базы будет заблокирована на уровне операционной системы.
Не забудьте проверить сетевую инфраструктуру. Сервер 1С и сервер баз данных должны иметь статические IP-адреса и находиться в одной подсети для обеспечения минимальных задержек при обмене пакетами данных. Пропускная способность канала должна быть не менее 1 Гбит/с для комфортной работы более чем с 10 пользователями.
Установка и настройка кластера серверов 1С
После подготовки лицензий необходимо инсталлировать серверную часть платформы 1С на выделенный компьютер. В процессе установки дистрибутива 1С:Предприятие 8.3 следует выбрать компонент "Сервер 1С:Предприятия". Мастер установки автоматически зарегистрирует службу и создаст центральный сервер кластера.
По умолчанию кластер создается с именем, совпадающим с именем компьютера, и портом 1541. Эти параметры можно изменить в консоли администрирования серверов 1С, но для стандартных сценариев настройки по умолчанию вполне достаточно. Главное — убедиться, что служба 1С:Предприятие 8.3 Сервер успешно запущена и работает под учетной записью с достаточными правами.
Для управления кластером используется консоль администрирования, которая устанавливается вместе с сервером или клиентской частью. Через этот интерфейс вы будете создавать новые информационные базы, назначать менеджеров кластера и регулировать параметры безопасности. Важно настроить аутентификацию так, чтобы доступ к консоли имели только доверенные администраторы.
Установите сервер 1С и сервер баз данных на разные физические машины или виртуальные серверы для достижения максимальной производительности. Разделение ролей снижает конкуренцию за ресурсы процессора и дисковой подсистемы.
Если вы используете доменную структуру Active Directory, рекомендуется запускать службу сервера 1С от имени доменного пользователя. Это упростит настройку прав доступа к сетевым ресурсам и обеспечит корректную работу механизмов аутентификации Windows при подключении пользователей к базе.
☑️ Проверка установки сервера 1С
Создание пустой базы в режиме SQL
Следующим этапом является создание новой информационной базы в кластере серверов. Запустите консоль администрирования серверов 1С, раскройте дерево вашего кластера и найдите узел "Информационные базы". Вызовите контекстное меню и выберите пункт "Добавить".
В открывшемся окне мастера создания базы необходимо указать имя базы, которое будет видеть пользователь в списке при запуске 1С:Предприятие. Далее следует выбрать тип СУБД из выпадающего списка. Для Microsoft SQL Server выберите соответствующий пункт, система автоматически подставит необходимые драйверы, если они установлены корректно.
Особое внимание уделите полям "Сервер баз данных" и "Имя базы данных". В поле сервера указывается сетевое имя машины с SQL или ее IP-адрес. Имя базы данных в SQL должно быть уникальным в рамках экземпляра СУБД. Рекомендуется использовать латинские символы для имени базы, чтобы избежать проблем с кодировкой в служебных скриптах.
| Параметр | Описание | Пример значения |
|---|---|---|
| Имя ИБ | Название в списке 1С | Бухгалтерия Предприятия |
| Сервер БД | Адрес SQL сервера | SQL-SERVER-01 |
| Имя БД | Имя в SQL | AccDB_v8 |
| Пользователь БД | Учетная запись SQL | sa / User1C |
На этапе создания необходимо указать учетные данные для подключения к СУБД. Обычно используется пользователь sa с правами sysadmin для первичного создания структуры, либо специально созданный пользователь с правами db_creator. После создания базы права могут быть ограничены в целях безопасности.
Выгрузка и загрузка данных из файловой базы
Теперь, когда пустая оболочка базы в SQL готова, необходимо перенести в нее данные из старого файлового варианта. Для этого запустите платформу 1С в режиме конфигуратора, подключившись к исходной файловой базе. В меню выберите пункт Администрирование -> Выгрузить информационную базу.
Система предложит указать путь для сохранения файла выгрузки с расширением .dt. Этот файл будет содержать всю структуру метаданных, справочники, документы и регистры. Процесс выгрузки может занять от нескольких минут до нескольких часов в зависимости от размера базы и скорости дисковой подсистемы.
Что делать, если выгрузка прервалась?
Если процесс выгрузки прервался из-за ошибки или отключения питания, файл .dt может быть поврежден. Попробуйте уменьшить размер файла, выгружая базу по частям (если функционал позволяет), или освободите место на диске. Поврежденный файл восстановить практически невозможно, поэтому всегда имейте свежую резервную копию исходной базы.
После успешного создания файла выгрузки, подключитесь в режиме конфигуратора к новой пустой базе, созданной в кластере серверов (режим SQL). Выберите пункт меню Администрирование -> Загрузить информационную базу и укажите путь к ранее созданному файлу .dt.
В процессе загрузки система создаст все необходимые таблицы в SQL Server, настроит индексы и загрузит данные. В этот момент важно не прерывать соединение с сервером. По завершении загрузки база будет полностью готова к работе, но потребуется дополнительная настройка прав пользователей.
⚠️ Внимание: При загрузке данных в SQL база данных в СУБД может временно вырасти в размере в 2-3 раза из-за фрагментации и особенностей транзакционного журнала. Обязательно предусмотрите свободное место на дисках сервера баз данных перед началом операции.
Настройка прав доступа и пользователей
После миграции данных права пользователей из файловой базы не переносятся автоматически в том виде, в котором они нужны для кластера. Вам необходимо заново настроить список пользователей в самой базе 1С через окно Администрирование -> Пользователи.
Кроме внутренних пользователей 1С, необходимо настроить права на уровне кластера серверов. В консоли администрирования серверов 1С перейдите в свойства информационной базы и откройте вкладку "Безопасность". Здесь можно добавить пользователей Windows или пользователей 1С, которым разрешено подключаться к данной базе.
Для каждого пользователя или группы необходимо назначить роли. Базовая роль Полные права обычно назначается главному бухгалтеру и администратору. Для остальных сотрудников создаются роли с ограниченным доступом к конкретным справочникам или документам, что повышает безопасность системы.
Если используется аутентификация Windows, убедитесь, что доменные пользователи имеют права на вход в систему через терминальный сервер или имеют доступ к сетевой папке, если используется тонкий клиент в локальной сети. Ошибки аутентификации часто связаны с рассинхронизацией времени между клиентом и сервером.
Права доступа в 1С делятся на два уровня: права внутри базы (роли 1С) и права на подключение к кластеру серверов. Отсутствие прав на любом из этих уровней сделает вход в программу невозможным.
Оптимизация производительности и тестирование
Завершающим этапом является оптимизация работы базы в новом режиме.SQL Server по умолчанию имеет свои настройки, которые не всегда идеальны для специфики 1С. Рекомендуется выполнить перестроение индексов и обновление статистики сразу после загрузки данных.
В конфигураторе 1С используйте обработку Тестирование и исправление. Выберите режим "Выполнить тестирование и исправление" с галочкой "Пересчет итогов". Это позволит выявить логические ошибки в регистрах, которые могли возникнуть при конвертации, и ускорить работу отчетов.
Также стоит проверить настройки СУБД. Для 1С критически важны параметры степени параллелизма (MAXDOP) и порог параллелизма (Cost Threshold for Parallelism). Значение MAXDOP рекомендуется устанавливать равным 1 или количеству физических ядер (но не более 8), чтобы избежать блокировок при выполнении сложных запросов.
Проведите нагрузочное тестирование с несколькими пользователями. Запустите проведение сложных документов, формирование оборотно-сальдовых ведомостей и отчетов за большие периоды. Если скорость работы устраивает, можно переводить всех сотрудников на новую базу и отключать старый файловый вариант.
⚠️ Внимание: После перехода на SQL регулярно выполняйте обслуживание базы данных (ребилд индексов, сжатие логов). Без обслуживания производительность системы начнет падать уже через 2-3 месяца активной эксплуатации из-за фрагментации данных.
Часто задаваемые вопросы (FAQ)
Можно ли выполнить конвертацию, не выключая пользователей из базы?
Нет, это невозможно. Процесс выгрузки и загрузки требует монопольного доступа к базе данных. Все пользователи должны завершить сеанс работы, иначе выгрузка завершится ошибкой или данные будут повреждены. Планируйте миграцию на нерабочее время или выходные дни.
Что делать, если после загрузки база не открывается и выдает ошибку соединения?
Проверьте службу сервера 1С и службу SQL Server. Убедитесь, что брандмауэр не блокирует порт 1541 (для 1С) и порт 1433 (для SQL). Также проверьте, совпадает ли имя базы в свойствах информационной базы в консоли администрирования с реальным именем базы в SQL Server.
Нужно ли покупать новую лицензию 1С для работы с SQL?
Да, для работы в режиме клиент-сервер обязательно требуется лицензия "1С:Предприятие 8 (Сервер)". Клиентские лицензии (на 1, 5, 10, 20, 50, 100, 300, 500 рабочих мест) подходят те же самые, что и для файлового варианта, но серверная лицензия является обязательным дополнением.
Можно ли вернуться обратно в файловый режим после перевода на SQL?
Технически это возможно через процедуру выгрузки .dt из SQL базы и загрузки в новую файловую базу. Однако это не рекомендуется делать регулярно, так как некоторые специфические объекты или настройки могут некорректно конвертироваться при обратном переходе. Используйте файловый режим только как аварийный вариант.
Какой объем оперативной памяти нужен серверу 1С для работы с SQL?
Рекомендуемый минимум — 8 ГБ для небольших баз (до 10 пользователей). Для средних и крупных конфигураций (более 20 пользователей) рекомендуется от 16 ГБ до 32 ГБ и более. Память нужна как для самого процесса rphost, так и для кэширования данных СУБД, если сервера объединены.