Переход с файлового режима работы на клиент-серверный вариант (SQL) — стандартный этап масштабирования инфраструктуры «1С:Предприятие 8». Однако при расчете стоимости программного обеспечения системные администраторы и руководители проектов часто сталкиваются с неочевидными правилами лицензирования Microsoft и 1С. Разберем детально, из каких компонентов складывается стоимость перехода, как правильно выбрать схему лицензирования СУБД, почему нельзя игнорировать клиентские лицензии SQL и как оптимизировать расход лицензий 1С.
Для Microsoft SQL Server существуют две основные модели лицензирования. Проанализируем, какая из них подходит для небольших и средних рабочих групп (до нескольких десятков пользователей):
Сравним экономическую целесообразность: для рабочих групп от 5 до 100 пользователей схема «Сервер + CAL» (особенно в редакции Runtime) обходится в разы дешевле, чем лицензирование по ядрам. Покупка лицензий на ядра становится выгодной только при огромном количестве одновременных подключений (от нескольких сотен до тысяч пользователей) либо при организации внешних веб-сервисов с неконтролируемым потоком обращений.
Часто возникает вопрос: «Зачем покупать клиентские лицензии MS SQL CAL на каждого пользователя, если к базе данных подключается только сервер приложений 1С под одной технической учетной записью?»
Рассмотрим официальную позицию лицензионного соглашения Microsoft (EULA). Программное обеспечение, которое объединяет подключения, перенаправляет запросы или сокращает число прямых обращений к СУБД (серверы приложений, веб-серверы, пулы подключений), классифицируется как средство мультиплексирования. Использование мультиплексора не уменьшает количество требуемых лицензий.
Каждый конечный пользователь или устройство, которое прямо или опосредованно (через кластер серверов 1С) инициирует запросы к базам данных на MS SQL Server, юридически обязано иметь клиентскую лицензию MS SQL Server CAL. Число таких лицензий должно быть не меньше числа пользователей, одновременно работающих в клиент-серверных базах 1С.
Следует учитывать, что в дистрибутивах MS SQL Server стандартных редакций клиентские CAL-лицензии физически не активируются и в консоль управления не вводятся. Лицензирование является «бумажным» (юридическим), подтверждаемым лицензионными соглашениями и финансовыми документами при проверке.
Для запуска клиент-серверного режима необходима обязательная лицензия на сервер 1С. Выясним разницу между доступными вариантами:
rphost ограничен 4 ГБ виртуального адресного пространства. Это может приводить к аварийным завершениям процессов из-за нехватки памяти при формировании тяжелых отчетов, групповом перепроведении документов или фоновых регламентных заданиях.Если пользователи одновременно открывают несколько информационных баз (например, «Бухгалтерия предприятия» и «Зарплата и управление персоналом»), необходимо грамотно настроить выдачу клиентских лицензий 1С:
Разберем обязательные технические шаги, которые необходимо выполнить при создании баз на MS SQL Server для исключения ошибок и деградации производительности:
Cyrillic_General_CI_AS (регистронезависимая сортировка с учетом диакритических знаков). Использование иных параметров приведет к ошибкам при загрузке данных из файла .dt..dt требуется выполнить регламентное задание полного обновления статистик (Update Statistics) и реиндексации. Без актуальной статистики оптимизатор запросов СУБД строит неоптимальные планы выполнения, что приводит к зависаниям типовых операций.TempDB на несколько равных файлов (по количеству физических ядер процессора, но обычно не более 8) с одинаковым начальным размером и шагом авторасширения.Если бюджет ограничен, проанализируем доступные альтернативы коммерческому MS SQL Server Standard:
postgresql.conf (параметры shared_buffers, work_mem, effective_cache_size, autovacuum).