Выбор сервера баз данных (СУБД) является фундаментальным решением при построении архитектуры информационной системы на платформе 1С:Предприятие. От этого выбора напрямую зависит скорость выполнения запросов, стабильность работы пользователей и масштабируемость вашей системы в будущем. Неверно подобранная версия или редакция может привести к простаиванию мощного оборудования или, наоборот, к критическим тормозам при росте базы данных.
В большинстве случаев для клиент-серверной версии 1С используется Microsoft SQL Server. Это стандарт де-факто для крупных внедрений, обеспечивающий высокую надежность и производительность. Однако, в экосистеме Microsoft существует множество редакций, каждая из которых имеет свои ограничения по используемым ресурсам процессора и оперативной памяти, а также функциональным возможностям.
В данной статье мы детально разберем, какую редакцию выбрать под ваши задачи, как лицензировать продукт, чтобы не нарушить закон, и какие аппаратные требования предъявляет 1С:Предприятие к современному серверу баз данных. Мы рассмотрим нюансы, о которых часто забывают при первичной настройке инфраструктуры.
Редакции Microsoft SQL Server и их совместимость с 1С
Компания Microsoft предлагает несколько редакций своего продукта, и выбор между ними часто становится камнем преткновения. Для работы с 1С подходят две основные платные редакции: Standard и Enterprise. Бесплатная редакция Express также технически совместима, но имеет жесткие ограничения, делающие её непригодной для серьезной работы.
Редакция Standard является наиболее популярным выбором для среднего бизнеса. Она поддерживает до 4 сокетов (или 24 ядер, в зависимости от версии SQL Server) и ограничивает использование оперативной памяти буферным пулом в 128 ГБ. Для 90% проектов на 1С этого более чем достаточно. Важно понимать, что ограничение памяти касается именно кэша данных, а не всей памяти, потребляемой процессом.
Редакция Enterprise снимает практически все ограничения по ресурсам и добавляет продвинутые функции, такие как прозрачное шифрование данных (TDE), сжатие данных на уровне строк и страниц, а также расширенные возможности аудита. Переход на Enterprise edition оправдан только при объемах баз данных свыше 500 ГБ-1 ТБ или при наличии специфических требований безопасности и высокой доступности (AlwaysOn).
⚠️ Внимание: Попытка использовать редакцию Express для базы объемом более 10 ГБ приведет к остановке записи данных в базу. 1С выдаст ошибку, и пользователи не смогут проводить документы. Используйте Express только для тестовых контуров или очень маленьких фирм.
Сравним ключевые характеристики редакций в таблице ниже, чтобы наглядно увидеть разницу в возможностях:
| Характеристика | Express | Standard | Enterprise |
|---|---|---|---|
| Макс. размер БД | 10 ГБ | Неограничен | Неограничен |
| Лимит ОЗУ (Buffer Pool) | 1.4 ГБ | 128 ГБ | До предела ОС |
| Использование ядер CPU | 4 ядра | Меньшее из 4 сокетов или 24 ядер | Без ограничений |
| Сжатие данных | Нет | Только резервных копий | Онлайн (строк и страниц) |
Версии SQL Server: стабильность против новизны
Платформа 1С:Предприятие сертифицируется под конкретные версии СУБД. Хотя 1С стремится поддерживать актуальные релизы, в производственной среде часто действует правило: "работает — не трогай". Тем не менее, использование устаревших версий, таких как SQL Server 2012 или 2014, несет риски безопасности и отсутствия поддержки со стороны вендора.
На текущий момент наиболее сбалансированным выбором является SQL Server 2019 или SQL Server 2022. Эти версии содержат оптимизации интеллектуальной обработки запросов (Intelligent Query Processing), которые могут автоматически ускорять работу медленных запросов 1С без вмешательства программиста. Функции вроде Batch Mode on Rowstore особенно полезны для аналитических отчетов.
При выборе версии необходимо учитывать совместимость с версией платформы 1С. Обычно в релиз-нотах каждой новой версии платформы указывается минимальная и максимальная поддерживаемая версия СУБД. Установка самой свежей версии SQL Server на старую платформу 1С (например, 8.3.10) может привести к ошибкам соединения или некорректной работе драйверов.
Почему не стоит ставить самую новую версию сразу?
Новые версии SQL Server могут содержать ошибки (баги), которые еще не исправлены накопительными пакетами (CU). Для критически важных систем лучше подождать выхода первого крупного обновления (CU) для новой мажорной версии, чтобы убедиться в её стабильности.
Обновление самой СУБД — процесс менее болезненный, чем обновление платформы 1С, но он требует простоя. Перед миграцией на новую версию обязательно сделайте полную резервную копию всех баз данных. Проверьте уровень совместимости базы данных (compatibility level), который должен соответствовать или быть ниже версии установленного сервера.
Лицензирование: ядра или серверы?
Вопрос лицензирования часто вызывает наибольшее количество вопросов у бухгалтерии и руководителей. Microsoft изменила модель лицензирования несколько лет назад, и теперь основным способом является лицензирование по ядрам (Per Core). Модель "Сервер + CAL" (клиентские лицензии доступа) осталась доступной только для редакции Standard в определенных сценариях, но для 1С она встречается редко.
При лицензировании по ядрам вы должны приобрести лицензии на все физические ядра процессора в сервере, на котором установлен SQL Server. Минимальное количество лицензий — 8 ядер на один физический процессор. Если у вас сервер с двумя процессорами по 8 ядер, вам нужно купить 16 лицензий. Гиперпоточность (Hyper-Threading) при этом не учитывается, считаются только физические ядра.
- 🔹 Per Core: Вы платите за мощность сервера. Это выгодно, когда у вас много пользователей, но сервер один. Лицензии покрывают неограниченное количество подключений.
- 🔹 Server + CAL: Вы платите за сервер плюс лицензию на каждого пользователя или устройство. Это может быть выгодно для небольших групп (до 20-30 человек) на мощном железе, но сложно в администрировании учета CAL-ов.
- 🔹 Software Assurance: Дополнительная подписка, дающая право на бесплатное обновление до новых версий в период действия контракта. Для долгосрочных проектов это часто экономически целесообразно.
Нарушение лицензионной политики Microsoft влечет за собой серьезные штрафы при аудите. Виртуализация немного упрощает задачу: если вы запускаете SQL Server в виртуальной машине, вы можете лицензировать только виртуальные ядра, выделенные этой машине, при соблюдении определенных условий хост-системы.
При покупке лицензий Per Core помните про упаковку: лицензии продаются пакетами по 2 ядра. Если вам нужно 10 ядер, придется купить 6 пакетов (12 ядер). Планируйте конфигурацию сервера так, чтобы минимизировать переплату за неиспользуемые ядра.
Аппаратные требования и настройка под 1С
Выбор правильного "железа" не менее важен, чем выбор софта. 1С:Предприятие крайне чувствительна к скорости дисковой подсистемы и частоте процессора. Количество ядер важно для параллельного выполнения запросов, но частота (GHz) критична для скорости выполнения однопоточных операций, которых в 1С большинство.
Для дисковой подсистемы использование SSD является обязательным требованием для современных баз 1С. HDD допустимы только для хранения архивных резервных копий или логов транзакций с низкой активностью, но даже там они будут узким местом. Оптимальным решением является использование NVMe накопителей или быстрых SAS SSD в RAID-массиве (обычно RAID 10 для баланса скорости и надежности).
Оперативная память должна быть с запасом. SQL Server старается занять всю доступную память под кэш. Если на сервере крутится только база данных, можно не ограничивать потребление памяти. Если же на том же сервере стоит сервер 1С или другие службы, необходимо вручную задать параметр max server memory.
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'max server memory', 61440; -- Пример для 64 ГБ ОЗУ
RECONFIGURE;
⚠️ Внимание: Никогда не оставляйте параметр
max server memoryпо умолчанию, если на сервере установлено менее 32 ГБ ОЗУ или если на нем работают другие приложения. SQL Server может "задушить" операционную систему, заняв всю память, что приведет к зависанию сервера.
☑️ Проверка конфигурации сервера
Альтернативы: PostgreSQL и Oracle для 1С
Хотя MS SQL доминирует на рынке, компания 1С официально поддерживает работу с PostgreSQL и Oracle Database. Выбор PostgreSQL часто продиктован желанием сэкономить на лицензиях СУБД, так как это бесплатное решение с открытым исходным кодом.
Однако, экономия на лицензиях может перейти в расходы на администрирование и тонкую настройку. PostgreSQL требует более глубокой настройки под 1С (параметры shared_buffers, work_mem, планировщик запросов), чтобы достичь производительности, сопоставимой с MS SQL. Для типовых конфигураций 1С разница в скорости может быть незаметна, но на сложных отчетных выборках MS SQL часто выигрывает за счет более совершенного оптимизатора.
Oracle Database используется в крупнейших внедрениях, где требуется высочайшая отказоустойчивость и работа с огромными массивами данных (терабайты). Порог входа по стоимости и квалификации администраторов здесь самый высокий. Для большинства средних компаний этот вариант избыточен.
Если бюджет на лицензии ограничен, PostgreSQL — отличный выбор, но закладывайте ресурсы времени квалифицированного администратора БД на его первичную настройку и регулярное обслуживание (VACUUM, статистика).
При переходе с MS SQL на PostgreSQL необходимо учитывать различия в диалектах SQL. Хотя платформа 1С абстрагирует большинство различий, некоторые хранимые процедуры или специфические запросы в внешних обработках могут потребовать доработки. Также существуют различия в правилах сортировки (Collation), что может влиять на поиск по строковым полям.
Частые ошибки при выборе и внедрении
Одной из самых распространенных ошибок является установка сервера баз данных и сервера приложений 1С на одну машину "для экономии". В момент пиковой нагрузки (закрытие месяца, формирование отчетов) процессы начинают конкурировать за ресурсы процессора и диска, что приводит к деградации производительности для всех пользователей.
Вторая ошибка — игнорирование сетевой инфраструктуры. Даже самый мощный сервер SQL не спасет, если между клиентом и сервером 1С, или между сервером 1С и базой данных, используется медленная сеть (100 Мбит/с) или есть задержки (Latency). Для связи между сервером 1С и SQL Server настоятельно рекомендуется использовать канал 1 Гбит/с или 10 Гбит/с.
Третья ошибка связана с настройкой антивируса. Антивирусное ПО на сервере баз данных должно иметь исключения для файлов данных (.mdf), логов (.ldf) и папок резервного копирования. Сканирование этих файлов в реальном времени может снизить производительность записи в базу в десятки раз.
⚠️ Внимание: Конфигурации и требования могут меняться с выходом новых релизов платформы 1С и обновлений безопасности Microsoft. Всегда сверяйтесь с официальным списком поддерживаемого ПО на сайте releases.1c.ru перед закупкой оборудования и лицензий.
Правильный выбор SQL Server для 1С — это баланс между бюджетом, текущими потребностями бизнеса и планом роста на ближайшие 3-5 лет. Не стоит экономить на этапе проектирования, так как миграция базы данных на более мощный сервер в будущем может потребовать значительного простоя системы.
FAQ: Часто задаваемые вопросы
Можно ли использовать одну лицензию SQL Server для нескольких баз 1С?
Да, лицензия приобретается на экземпляр сервера (или на ядра процессора), а не на количество баз данных. Вы можете развернуть неограниченное количество баз данных 1С в рамках одного установленного экземпляра SQL Server, пока хватает аппаратных ресурсов.
Нужно ли покупать лицензии SQL Server для тестового сервера 1С?
Технически для тестовых и разработческих сред существуют специальные лицензии (Developer Edition), которые функционально идентичны Enterprise, но стоят дешево или бесплатны для разработки. Однако использовать их в промышленной эксплуатации (production) запрещено лицензионным соглашением.
Как часто нужно делать обновление накопительными пакетами (CU) для SQL Server?
Рекомендуется устанавливать накопительные обновления (Cumulative Updates) регулярно, примерно раз в квартал, или сразу после выхода, если они содержат исправления критических уязвимостей безопасности или багов, влияющих на работу 1С. Перед установкой CU обязательно тестируйте его на копии базы.
Влияет ли версия Windows Server на выбор версии SQL Server?
Да, каждая версия SQL Server имеет минимальные требования к версии операционной системы. Например, новые версии SQL Server 2022 могут требовать Windows Server 2019 или 2022. Установка на неподдерживаемую ОС приведет к ошибке при инсталляции или отсутствию поддержки со стороны Microsoft.