Файловую базу перенесли в SQL, а документы быстрее не проводятся. Частая причина — не сама 1С, а схема развёртывания.
SQL Server занял свободную память. База, журнал и tempdb обращаются к одному накопителю. Клиент-серверный режим появился, а прежние ограничения остались.
Для офиса с 20 активными пользователями нужна понятная стартовая схема. По ней можно выбрать редакцию SQL Server, распределить ресурсы и проверить сервер перед запуском базы.
Число пользователей — лишь начальная точка. Нагрузку также определяют конфигурация 1С, объём базы, обмены, фоновые задания и RDP-сеансы.
Выберите редакцию SQL Server и схему размещения
Для растущей рабочей базы планируйте SQL Server Standard. Руководство IP-Way по настройке SQL Server для 1С рекомендует эту редакцию для продуктивных систем.
SQL Server Express годится для небольшой базы с понятным пределом роста. Руководство Ntema указывает лимит: до 10 ГБ на одну базу. Express также ограничивает память Database Engine и процессорные ресурсы.
Developer Edition не заменяет Standard на рабочем сервере. По руководству Ntema эту бесплатную редакцию можно использовать только для разработки и тестирования.
До покупки лицензии сравните условия эксплуатации SQL Server и PostgreSQL. Кроме цены, различаются требования к администрированию, резервированию и поддержке вашей версии 1С.
При 20 активных пользователях сервер 1С и SQL Server можно разместить на одной виртуальной машине. Схема подходит для ровной нагрузки без тяжёлых обменов и долгих фоновых заданий.
| Условие | Одна виртуальная машина | Отдельный сервер SQL |
|---|---|---|
| До 20 активных пользователей, нагрузка ровная | Подходит как стартовая схема | Необязателен |
| Тяжёлые обмены и фоновые задания идут днём | Роли конкурируют за CPU и память | Лучше разделить роли |
| На сервере работают RDP-сеансы | Нужен дополнительный резерв RAM и CPU | Убирает конкуренцию с пользовательскими сеансами |
| База быстро растёт | Потребуется заранее предусмотреть расширение ВМ | Проще наращивать ресурсы СУБД отдельно |
| Нагрузка приближается к 50 пользователям | Совместное размещение становится тесным | Практичнее вынести SQL Server |
Вывод: для 20 пользователей можно начать с одной ВМ. Тяжёлые дневные задания потребуют разделить роли раньше.
Для нагрузки около 50 пользователей Needsysadmin приводит ориентир: 10–12 vCPU либо 6–8 быстрых физических ядер. По памяти тот же материал рекомендует 48–64 ГБ RAM.
Это не порог совместимости и не замер нашей лаборатории. Когда нагрузка приблизится к этому уровню, пересчитайте схему под свою базу.
Заложите CPU, память и диски до установки
Для 20 активных пользователей Needsysadmin рекомендует 6–8 vCPU, 24–32 ГБ RAM и NVMe. Для 1С важна скорость одного ядра, а не только их общее количество.
По памяти возьмём верхнюю границу — 32 ГБ. Этот объём делят SQL-кэш, службы 1С, Windows и программа резервного копирования.
Число пользователей не подскажет нужный объём накопителей. Сложите текущий размер базы, ожидаемый прирост, место для tempdb и резервных копий.
Допустим, база занимает 200 ГБ и ежегодно прибавляет 80 ГБ. Через два года рабочим файлам потребуется не меньше 360 ГБ: 200 + 80 × 2 = 360.
Расчёт показывает только занятое место. Отдельно заложите пространство для обслуживания, временных файлов и роста журнала. Размер запаса зависит от модели восстановления и истории прироста базы.
Руководство IP-Way советует разнести данные, журнал транзакций, tempdb и копии по разным томам или массивам.
| Компонент | Где разместить | Что произойдёт при ошибке |
|---|---|---|
| Файлы данных | Отдельный том на NVMe | Запросы будут конкурировать с журналом и временными операциями |
| Журнал транзакций | Отдельный том или массив | Запись транзакций упрётся в операции с файлами данных |
tempdb | Отдельный быстрый том | Сортировки и временные операции создадут задержки основной базе |
| Резервные копии | Отдельное хранилище | Сбой рабочего массива уничтожит и базу, и локальные копии |
| Системные файлы Windows | Системный том | Обновления и файл подкачки будут мешать рабочим операциям SQL Server |
Вывод: решите, где будут лежать файлы, до переноса базы. Иначе придётся планировать ещё одно окно работ.
Четыре буквы тома на одном физическом NVMe не разделяют нагрузку. Такая разметка упрощает обслуживание, но все операции по-прежнему идут через один накопитель.
Копии рядом с рабочей базой тоже не защищают от отказа диска. При поломке вы потеряете оба экземпляра.
Подготовьте Windows и установите нужные компоненты
Сначала установите накопленные обновления Windows Server и драйверов. Руководство IP-Way задаёт такой порядок: подготовить операционную систему, затем установить SQL Server и 1С.
В установщике выберите Database Engine Services. Другие компоненты добавляйте, только если знаете, для какой задачи они нужны.
Для служб SQL Server создайте отдельные учётные записи с минимальными правами. Личную запись администратора домена для постоянной работы не используйте.
После установки включите TCP/IP через SQL Server Configuration Manager. Затем перезапустите службу SQL Server: без перезапуска новый сетевой протокол не заработает.
Если другие компоненты ещё не готовы, пройдите последовательность подготовки Windows, СУБД и платформы.
Проверьте, как антивирус обрабатывает рабочие каталоги SQL Server. IP-Way предупреждает, что проверка файлов базы в реальном времени добавляет задержку.
Исключение рабочих каталогов не означает отключение защиты сервера. Согласуйте каталоги, типы файлов и компенсирующие меры с вашей политикой безопасности.
Проверьте параметры сортировки до создания базы
Collation определяет правила сравнения и сортировки строк. От настройки зависят чувствительность к регистру, порядок символов и обработка текстовых данных.
Не переносите название collation из случайной инструкции. Сначала сверьте его с документацией для вашей версии платформы 1С.
После переноса исправление потребует отдельного окна работ. Поэтому заранее зафиксируйте версию платформы, редакцию SQL Server и параметры сортировки.
Ограничьте память SQL Server
Без лимита SQL Server способен занять почти всю доступную RAM. Windows, службы 1С, антивирус и агент резервного копирования получат остаток и начнут конкурировать за память.
Параметр max server memory ограничивает память для внутренних задач SQL Server. Руководства IP-Way и Ntema советуют оставить отдельный резерв операционной системе и соседним службам.
В нашей схеме у ВМ 32 ГБ RAM. Оставим Windows и службам 8 ГБ: 32 − 8 = 24 ГБ.
Стартовый лимит SQL Server — 24 ГБ, или 24 576 МБ. Это расчёт для описанной ВМ, а не универсальное значение.
Если на этой же машине открыты RDP-сеансы, увеличьте резерв для Windows. Например, при резерве 12 ГБ SQL Server получит 20 ГБ: 32 − 12 = 20.
После такого деления проверьте, хватает ли памяти СУБД. Постоянное давление на память покажет, что двум ролям на одной ВМ уже тесно.
Настройте MAXDOP, tempdb и автоприрост как стартовую схему
Для баз 1С часто выбирают MAXDOP = 1. Руководство IP-Way предупреждает: назначать это значение всему экземпляру без проверки нельзя.
На одном экземпляре могут находиться базы с разным профилем запросов. Серверная настройка затронет их все.
Количество файлов tempdb тоже не связано напрямую с числом пользователей. Его выбирают по процессорам, нагрузке и признакам конкуренции.
Начальный размер файлов данных и журнала задайте заранее. Автоприрост должен страховать от неожиданного заполнения, а не заменять плановое расширение.
| Параметр | Стартовое решение | Когда пересматривать |
|---|---|---|
max server memory | 24 576 МБ при 32 ГБ RAM и резерве 8 ГБ | Windows уходит в подкачку либо SQL Server испытывает давление на память |
MAXDOP | Рассмотреть значение 1 для выделенной базы 1С | На экземпляре есть другие базы или изменился профиль запросов |
Файлы tempdb | Задать несколько одинаковых файлов по выбранной схеме | Появилась конкуренция за страницы распределения или выросла нагрузка |
| Начальный размер файлов | Выделить место под текущую базу и ожидаемый рост | Файлы часто доходят до порога автоприроста |
| Автоприрост | Указать фиксированный шаг и контролировать свободное место | Рост происходит много раз за рабочий период |
| Сбор данных о нагрузке | Сопоставлять ожидания, блокировки и запросы за один период | Пользователи сообщают о задержках без понятной причины |
Вывод: стартовые параметры убирают предсказуемые проблемы. Поведение рабочей базы всё равно придётся наблюдать.
Порядок проверки памяти, параллелизма и временной базы описан в отдельном руководстве по параметрам SQL Server. Меняйте по одному параметру. Иначе вы не поймёте, какая настройка изменила результат.
Создайте базу и проверьте подключение с рабочего компьютера
Если SQL Server Management Studio открылся, это ещё не значит, что контур готов. Войдите в 1С с обычного рабочего компьютера.
При отказе соединения сначала проверьте TCP/IP и сетевой доступ. SQL Server по умолчанию использует порт 1433, а брандмауэр Windows может его блокировать.
Сообщение Login failed for user указывает на проблему с учётными данными или правами. Проверьте логин, пароль и наличие пользователя в нужной базе.
Не расширяйте серверные права ради первого успешного входа. Найдите конкретную причину отказа, исправьте её и подключитесь ещё раз.
Права, регистрацию базы в кластере и первый пользовательский сеанс проверяйте по схеме запуска клиент-серверной базы.
Настройте резервное копирование до передачи базы пользователям
Первый вход не завершает развёртывание. До проверенного восстановления сервер к рабочей эксплуатации не готов.
При полной модели восстановления настройте полные копии и копии журнала транзакций. Если журнал не копировать, он продолжит расти, а нужной точки восстановления не будет.
Проверяйте копию восстановлением под другим именем либо на отдельном сервере. Успешное задание подтверждает, что файл создан. Оно не доказывает, что базу можно вернуть.
Порядок заданий и проверок есть в руководстве по резервным копиям средствами SQL Server. Проведите тестовое восстановление до входа пользователей.
Индексы и статистику обслуживайте по состоянию объектов. Ежедневное перестроение без проверки нагружает сервер и не учитывает состояние конкретной базы.
Рабочая схема для 20 пользователей
Для офиса из примера стартовая схема выглядит так:
- одна виртуальная машина для сервера 1С и SQL Server;
- SQL Server Standard;
- 6–8 vCPU с высокой производительностью ядра;
- 32 ГБ RAM;
max server memory24 576 МБ при резерве 8 ГБ;- NVMe с отдельными томами под данные, журнал и
tempdb; - резервные копии на другом хранилище.
CPU, RAM и тип накопителя взяты из ориентира Needsysadmin для 20 пользователей. Лимит памяти рассчитан из 32 ГБ RAM и резерва 8 ГБ.
Перед передачей сервера пользователям проверьте пять признаков:
- база открывается с рабочего компьютера;
- Windows не уходит в подкачку во время контрольной нагрузки;
- данные, журнал,
tempdbи копии лежат на запланированных томах; - резервная копия разворачивается отдельно;
- ожидания и блокировки можно сопоставить с запросами за тот же период.
При RDP-сеансах на этой ВМ оставьте Windows больше памяти. Если база растёт или нагрузка приближается к 50 пользователям, разделите роли.
После разделения пересчитайте ресурсы по профилю нагрузки. Ориентир Needsysadmin для 50 пользователей — 10–12 vCPU и 48–64 ГБ RAM.
Если профиль базы пока неизвестен, типовой конфигурации мало. Нужна проверка конфигурации по реальной нагрузке: активным сеансам, обменам, росту базы и периодам закрытия месяца.