Бесплатный инструмент для проверки настроек серверов баз данных, работающих с 1С:Предприятие.
1С тормозит? Запустите диагностику — соберите данные о настройках сервера за 2 минуты.
Откройте PowerShell от имени администратора:
irm https://raw.githubusercontent.com/air900/check-parameters-sql-server-for-1c/main/install.ps1 | iexСкрипт сам определит установленную СУБД (PostgreSQL или MS SQL Server) и запустит соответствующую диагностику. Если команда заблокирована политикой безопасности — используйте Способ 2.
Подходит, когда политика безопасности запрещает запуск скриптов из интернета, или нужно сохранить скрипт для повторных проверок.
- Скачайте последний релиз (ZIP-архив)
- Распакуйте в любую папку
- Откройте PowerShell от имени администратора
- Запустите:
.\scripts\powershell\Invoke-1CDiagnostic.ps1Скрипт автоматически:
- Определит СУБД на сервере: PostgreSQL ИЛИ MS SQL Server (или предложит выбрать, если установлены обе)
- Покажет список баз данных 1С и предложит выбрать нужную
- Запросит реквизиты подключения (пароль PG или Windows-аутентификация для MSSQL)
- Соберёт параметры конфигурации (только чтение, ничего не изменяет)
- Покажет собранные данные в терминале
- Сохранит HTML-отчёт на Рабочий стол
- Предложит отправить данные на углублённый анализ
# Принудительно выбрать СУБД
.\Invoke-1CDiagnostic.ps1 -DBMS postgresql
.\Invoke-1CDiagnostic.ps1 -DBMS mssql
# PostgreSQL: подключение к удалённому серверу
.\Invoke-1CDiagnostic.ps1 -DBMS postgresql -PgHost 192.168.1.10 -Port 5433 -Database my1c_db
# MS SQL Server: именованный экземпляр + SQL-аутентификация
.\Invoke-1CDiagnostic.ps1 -DBMS mssql -SqlInstance "SERVER01\1CSQL" -SqlUser sa -SqlPassword "***"
# Без HTML-отчёта и без интерактивных вопросов
.\Invoke-1CDiagnostic.ps1 -NoHtml -NoPrompt| Область | Проверок | Что выявляет |
|---|---|---|
| Память и кэш | 5 | Достаточно ли памяти выделено под кэш базы данных, хватает ли памяти для сортировок и обработки запросов, корректно ли сервер оценивает доступный объём кэша |
| Журнал транзакций (WAL) | 8 | Надёжность записи данных на диск, оптимальность настроек контрольных точек, не перегружен ли диск частой записью журнала |
| Автоочистка таблиц | 4 | Включена ли автоматическая очистка (автовакуум), достаточно ли ресурсов выделено для очистки, не замедляет ли очистка работу пользователей |
| Планировщик запросов | 5 | Правильно ли сервер строит планы выполнения запросов, не использует ли медленные алгоритмы поиска там, где можно быстрее |
| Подключения | 3 | Не установлен ли слишком высокий или низкий лимит подключений, нет ли «зависших» сессий, блокирующих работу |
| Настройки для 1С | 4 | Совместимость кодировок и форматов данных с платформой 1С:Предприятие |
| Реальные метрики | 3 | Как часто данные берутся из кэша (а не с диска), сколько создаётся временных файлов, статистика контрольных точек |
| Операционная система | 5 | Настройки подкачки (swap), энергосбережение процессора, работа с большими страницами памяти, ресурсы виртуальной машины |
| Область | Проверок | Что выявляет |
|---|---|---|
| Память сервера | 3 | Сколько памяти выделено серверу БД, не забирает ли ОС память у базы, защищён ли кэш данных от выгрузки в файл подкачки |
| Параллелизм | 3 | Не распараллеливает ли сервер каждый запрос (антипаттерн для 1С), порог стоимости параллелизма |
| TempDB | 7 | Количество и равенство размеров файлов, авторасширение, размещение, оптимизация метаданных в памяти |
| Модель восстановления | 4 | FULL recovery в продакшне, регулярность бэкапа журнала транзакций, отсутствие auto_shrink |
| Статистика и индексы | 4 | Авто-обновление статистики, контроль целостности страниц, особенности платформы 8.3.22 (ALLOW_PAGE_LOCKS) |
| Аутентификация и права | 4 | Mixed Mode для 1С, безопасность учётной записи sa, мгновенная инициализация файлов БД |
| Trace Flags | 7 | Параллельное обновление статистики, подавление шума об успешных бэкапах в журнале ошибок |
| Конфигурация экземпляра | 4 | Кодировка Cyrillic_General_CI_AS, актуальность compatibility level, оптимизация ad-hoc запросов |
| I/O и дисковая подсистема | 5 | Размещение data/log/tempdb на разных дисках, размер блока NTFS (рек. 64 КБ), отсутствие NTFS-сжатия |
| Регламентные операции | 6 | Заданы ли регулярные UPDATE STATISTICS / дефрагментация индексов / DBCC CHECKDB, бэкап журнала транзакций |
| ОС и оборудование | 4 | План электропитания, исключения антивируса для процесса и файлов БД |
| Совмещение 1С + SQL | — | Корректно ли настроена защита памяти при совмещении на одной машине |
| Реальные метрики | 9 | Длительные транзакции (рост tempdb), цепочки блокировок, низкий PLE, высокая latency дисков, переполнение wait-types |
Особый случай — платформа 1С 8.3.22+: скрипт детектирует и в отчёте отмечает необходимость адаптированного регламента дефрагментации индексов (стандартный REORGANIZE не работает после изменений в 8.3.22).
- ОС: Windows Server с одной из СУБД:
- PostgreSQL 10–17+ (любые сборки, включая
Postgres Pro); либо - MS SQL Server 2016+ (Standard / Enterprise / Express).
- PostgreSQL 10–17+ (любые сборки, включая
- PowerShell: 5.1 и выше (встроен в Windows; для PS 7+ тоже работает).
- Права для PostgreSQL: учётные данные администратора СУБД (обычно
postgres). - Права для MS SQL Server: Windows-аутентификация (учётка с правами
VIEW SERVER STATEи доступом кmsdb/master) либо SQL-логин с теми же правами. - Безопасность: скрипт выполняет только чтение — ничего не изменяет в настройках и данных.
Проверки основаны на:
- Официальные рекомендации 1С — методическая поддержка администраторов.
- Microsoft Learn (для MS SQL Server — версионная зависимость trace flags, рекомендации по latency, best practices конфигурации).
- Brent Ozar Unlimited, SQLSkills (Paul Randal), Erik Darling, Glenn Berry, Ola Hallengren — best-practices для MSSQL.
Каждое правило в анализе содержит ссылку на конкретный раздел источника. Полное описание архитектуры — в readme_public.md.
Скрипт собирает текущие значения параметров конфигурации — как есть, без интерпретации. Для углублённого анализа данные можно отправить на наш сервис, который проверит каждый параметр по рекомендациям 1С / Microsoft / экспертов сообщества и вернёт отчёт с оценкой.
Отчёт показывает проблемы и их влияние на бизнес, но не содержит конкретных параметров и значений для исправления — закрытие выявленных «дыр» выполняется как отдельная услуга по настройке СУБД.
Когда расчёт зависает, и нужно понять, что происходит во время инцидента — а не до и не после. Anamnesis Kit собирает снимки состояния SQL Server каждые 30 секунд в течение 4–8 часов, упаковывает их в архив и отправляет на наш сервер для анализа. На выходе — постоянная ссылка на отчёт с вердиктом.
irm https://raw.githubusercontent.com/air900/check-parameters-sql-server-for-1c/main/install-anamnesis.ps1 | iex# 0. Один раз — настройка SQL Server
# (папки data\snapshots, data\xe, data\archives создаются install-anamnesis.ps1)
sqlcmd -S MSSQL-TEST -i C:\Anamnesis\setup\01-enable-query-store.sql -v db=eshn_test1
sqlcmd -S MSSQL-TEST -i C:\Anamnesis\setup\02-set-blocked-process-threshold.sql
sqlcmd -S MSSQL-TEST -i C:\Anamnesis\setup\03-create-xe-session.sql -v db=eshn_test1
# 1. Перед расчётом запустить watcher
& C:\Anamnesis\watcher\Start-Watcher.ps1 -Hours 8 -Database eshn_test1
# 2. Запустить расчёт.
# 3. После расчёта — остановить watcher и отправить архив
& C:\Anamnesis\watcher\Stop-Watcher.ps1
& C:\Anamnesis\upload\Upload-Archive.ps1 -Database eshn_test1В выводе последней команды будет постоянная ссылка на отчёт — можно отправить
клиенту. Подробности — в C:\Anamnesis\README.md после установки.
Для углублённого анализа и профессиональной настройки серверов:
- audit-reshenie.ru
- info@audit-reshenie.ru
MIT