При выборе архитектуры для информационной системы на базе 1С:Предприятие многие малые и средние предприятия сталкиваются с вопросом экономии на лицензировании СУБД. В этой статье мы подробно разберем, насколько оправдано и надежно использование бесплатной редакции Microsoft SQL Server Express, какие «подводные камни» ожидают системного администратора и как правильно организовать работу базы в условиях технических ограничений.
Рассмотрим распространенное заблуждение о том, что бесплатный SQL Server появился только недавно. На самом деле, бесплатные редакции существовали практически всегда. Вспомним MSDE (Microsoft SQL Server Desktop Engine) для версии 2000, который имел ограничение на размер базы в 2 ГБ. Позже появились полноценные редакции Express. Стратегия корпорации здесь проста: дать разработчикам и малому бизнесу бесплатный инструмент «на вырост», чтобы при увеличении нагрузки переход на платную версию Standard или Enterprise был максимально бесшовным.
Проанализируем ситуацию с надежностью. Версия Express построена на том же движке, что и старшие редакции. Это означает, что механизмы транзакций, целостности данных и обработки запросов абсолютно идентичны. Если ваша база помещается в лимиты, она будет работать так же стабильно, как и на платной версии.
Выясним основные лимиты, которые накладывает Microsoft на бесплатную редакцию. Для версий 2017 года и выше актуальны следующие параметры:
.mdf. Файл лога транзакций .ldf может расти сверх этого лимита, но его рекомендуется своевременно обрезать (truncate).Разберем, как это влияет на 1С. Ограничение в 10 ГБ для многих современных конфигураций, таких как 1С:Управление торговлей 11 или 1С:ERP, может показаться критичным. Однако для небольших компаний с малым объемом документооборота этой емкости может хватить на несколько лет работы. Например, база УТ 11 при 5-10 пользователях может прирастать всего на 1 ГБ в год.
Рассмотрим критически важный момент, который часто упускают из виду. Использование SQL Server Express само по себе бесплатно, но для работы 1С в клиент-серверном режиме (а именно так она работает с SQL) вам в любом случае потребуется лицензия на «Сервер 1С:Предприятия».
Если вы планируете уйти от файлового режима к серверному, используя бесплатный SQL, вам придется приобрести либо полноценный сервер 1С, либо более бюджетный вариант — 1С:Предприятие 8.3. Сервер МИНИ на 5 подключений. Без этого компонента 1С просто не сможет подключиться к базе данных SQL.
Выясним причину, по которой системные администраторы часто недолюбливают Express-версию. В ней отсутствует SQL Server Agent — служба, отвечающая за выполнение регламентных заданий (бэкапы, обновление статистики, реиндексация).
В платных версиях мы привыкли настраивать Maintenance Plans через графический интерфейс. Здесь же нам придется действовать иначе. Посмотрим на пример решения через sqlcmd и планировщик заданий Windows.
Для создания бэкапа можно использовать скрипт следующего вида:
-- backup_script.sql
DECLARE @path VARCHAR(256)
DECLARE @fileName VARCHAR(256)
SET @path = 'C:\Backups\'
SET @fileName = @path + 'Base1C_' + convert(varchar, getdate(), 112) + '.bak'
BACKUP DATABASE [Base1C] TO DISK = @fileName WITH NOFORMAT, NOINIT, SKIP, NOREWIND, NOUNLOAD, STATS = 10
Затем создадим .bat файл для запуска через планировщик:
sqlcmd -S SERVER_NAME\SQLEXPRESS -i C:\Scripts\backup_script.sql
Таким образом, автоматизация возможна, но она требует ручной настройки скриптов.
Проанализируем ситуацию: почему некоторые пользователи переходят с PostgreSQL на SQL Express? Несмотря на то, что PostgreSQL не имеет ограничений по объему базы и памяти, 1С исторически лучше оптимизирована под MS SQL Server. Платформа 1С:Предприятие автоматически строит оптимальные запросы именно под диалект T-SQL.
PostgreSQL требует глубокой настройки параметров (shared_buffers, work_mem и др.), в то время как MS SQL показывает хорошую производительность «из коробки» на небольших объемах данных. Если ваша база гарантированно не вырастет выше 10 ГБ в ближайшие годы, SQL Express обеспечит более стабильную работу без лишних манипуляций.
Что касается IBM DB2 Community Edition, то она менее популярна в сообществе 1С, что затрудняет поиск специалистов и документации при возникновении ошибок.
Разберем по шагам, как выжать максимум из бесплатной связки:
REORGANIZE или REBUILD индексов.Auto Shrink, так как это вызывает сильную фрагментацию файлов и падение производительности. Лучше настройте регламентное сжатие лога транзакций скриптом.Проанализируем ситуацию с SQL Server Developer Edition. Многие ошибочно ставят её в «продакшн», так как она бесплатна и не имеет ограничений. Важно: лицензия Developer запрещает использование базы для реального учета. Это юридически приравнивается к использованию пиратского ПО. Для работы предприятия подходит только Express.
Подведем итог нашему исследованию. Использование Microsoft SQL Server Express для 1С — это рабочее и надежное решение для малого бизнеса. Оно идеально подходит для баз до 10 ГБ с количеством активных пользователей до 10-15 человек. Основная сложность заключается в необходимости покупки лицензии на сервер 1С и ручной настройке регламентных процедур (бэкапов) из-за отсутствия SQL Agent. Если же ваша база растет быстро, стоит заранее рассмотреть переход на PostgreSQL или покупку Standard версии MS SQL.