Вопрос использования бесплатной редакции MS SQL Server Express совместно с платформой «1С:Предприятие» достаточно популярен среди небольших организаций и разработчиков. Полноценная клиент-серверная архитектура позволяет повысить надежность работы по сравнению с файловым режимом, однако ограничения бесплатной версии СУБД накладывают определенные рамки. Проанализируем возможности, аппаратные лимиты и специфику настройки MS SQL Express для работы с базами 1С.
Платформа 1С полноценно поддерживает работу с MS SQL Server Express. Для небольших информационных баз с количеством пользователей от 3 до 8 человек эта СУБД демонстрирует хорошую стабильность и скорость. Однако при внедрении важно учитывать технические лимиты, установленные разработчиком Microsoft:
MDF) и вторичным файлам (NDF). Файлы журнала транзакций (LDF) и служебные базы данных под данное ограничение не подпадают.sqlcmd или PowerShell) с использованием системного Планировщика задач Windows.Разберем интересный момент: ограничение оперативной памяти действует на уровень экземпляра СУБД. Если на одном сервере установить два или более именованных экземпляра MS SQL Express, каждый из них сможет выделять до 1.4 ГБ ОЗУ под свои базы данных, что позволяет обойти лимит для сервера в целом.
Для предотвращения зависаний сеансов, каскадных блокировок и нехватки ресурсов необходимо изменить параметры СУБД по умолчанию. Рассмотрим шаги по правильной конфигурирации сервера и информационной базы.
На уровне всего экземпляра СУБД рекомендуется ограничить максимальную степень параллелизма, чтобы избежать взаимных блокировок при выполнении тяжелых запросов платформы 1С:
Максимальная степень параллелизма (Max Degree of Parallelism) = 1
В свойствах информационной базы MS SQL следует применить следующие установки:
Simple (Простая). Это предотвращает бесконечный рост журнала транзакций (LDF), который при модели Full может быстро занять дисковое пространство.False. Отключение функции предотвращает постоянное освобождение ресурсов при отсутствии активных подключений, что исключает задержки при первом входе пользователя.False. Автосжатие приводит к сильной фрагментации диска и высочайшей нагрузке на подсистему ввода-вывода.False.Чтобы исключить накладные расходы на постоянное динамическое расширение файлов во время работы пользователей, проанализируем правила первичного выделения объема:
MDF), задав начальный размер близким к предельному (например, 8–10 ГБ).LDF) — например, 1 ГБ с шагом автоувеличения 10%.TempDB и отключите для нее автосжатие.Рассмотрим частые причины, по которым база данных быстро достигает предельного размера в 10 ГБ, и варианты их решения:
.dt объем таблиц и индексов в СУБД увеличивается в 3–5 раз. Выгрузка размером 2–3 ГБ при загрузке в MS SQL Express может упереться в лимит 10 ГБ и завершиться ошибкой.UPDATE STATISTICS по расписанию через внешние скрипты Windows, так как неактуальная статистика в условиях малого объема ОЗУ критически снижает скорость выполнения запросов.Если информационная база превышает объемы 10 ГБ или количество одновременно работающих пользователей становится больше 10–15 человек, проанализируйте вариант перехода на полнофункциональный MS SQL Server или на бесплатную СУБД PostgreSQL (в сборке для 1С), которая не имеет искусственных ограничений по объему базы и оперативной памяти.