Эта статья объединяет проверенные методы настройки и оптимизации Microsoft SQL Server при работе с платформой 1С:Предприятие. Цель — повысить стабильность, устранить тормоза и предотвратить частые сбои индексов или блокировок.
SQL Server по умолчанию может использовать почти всю доступную оперативную память, что мешает работе ОС и других процессов (например, rphost
).
Макс. память = Общий объём RAM (МБ) – 4096 – (1536 × количество процессов rphost)
Пример: при 32 ГБ RAM и 2 процессах rphost
:
32768 – 4096 – (2 × 1536) = 25600 МБ
2048
..mdf
или .ndf
) установите:
.ldf
) установите:
Для большинства конфигураций 1С рекомендуется использовать режим восстановления Простой (Simple), если не требуется точечное восстановление по времени:
ALTER DATABASE [ИмяБазы] SET RECOVERY SIMPLE;
Если используется полная модель восстановления — регулярно делайте резервные копии журнала транзакций, иначе файл .ldf
будет расти бесконечно.
Фрагментация индексов — частая причина замедления. Рекомендуется выполнять обслуживание индексов еженедельно:
REBUILD
REORGANIZE
Пример скрипта (можно запускать через задание агента):
EXEC sp_MSforeachtable 'ALTER INDEX ALL ON ? REORGANIZE';
Для полной перестройки (требует больше ресурсов):
EXEC sp_MSforeachtable 'ALTER INDEX ALL ON ? REBUILD';
Устаревшая статистика приводит к неоптимальным планам запросов. Включите автоматическое обновление:
ALTER DATABASE [ИмяБазы] SET AUTO_UPDATE_STATISTICS ON;
Также раз в неделю выполняйте принудительное обновление:
EXEC sp_updatestats;
Убедитесь, что база не «засыпает»:
ALTER DATABASE [ИмяБазы] SET AUTO_CLOSE OFF;
Сжатие создаёт нагрузку и не требуется в 1С:
ALTER DATABASE [ИмяБазы] SET AUTO_SHRINK OFF;
Размещайте файлы базы данных и журнала на отдельных SSD-дисках. Это критично для производительности при высокой нагрузке.
Создайте в SQL Server Agent задание, которое еженедельно:
DBCC CHECKDB
)sp_who2
или системные DMV (sys.dm_exec_requests
, sys.dm_os_waiting_tasks
).Правильная настройка SQL Server — ключ к стабильной работе 1С. Даже небольшие корректировки (например, ограничение памяти или отключение AUTO_SHRINK) могут кардинально улучшить производительность. Регулярное обслуживание базы предотвратит большинство проблем с индексами и тормозами.
Блог только запустил, все статьи генерирую через нейросеть т.к. лень, возможны ошибки. Просто чтобы вы знали и не запускали ядерный реактор по моим статьям ))
Если у вас есть вопросы, или Нашли неточность? пишите в коментах — вместе поправим и сделаем статью более качественной. Я лично объясню нюансы из практики.
Комментарии
Пока нет комментариев. Будьте первым!