Клиент-серверная 1С на MS SQL Server: установка с нуля
Содержание
Чтобы развернуть сервер 1С с SQL, нужны четыре вещи: Windows Server 2016 или новее, установленный MS SQL Server, служба «Агент сервера 1С:Предприятия» и зарегистрированная в кластере информационная база. Порядок жёсткий: сначала система и СУБД, потом сервер 1С, потом кластер и база, в конце лицензии и права.
Ниже сквозная схема для одного сервера, где СУБД и сервер 1С стоят вместе. Это рабочий вариант для 10–30 пользователей. Для больших нагрузок СУБД и сервер 1С разносят на две машины, и в тексте отмечено, что при этом меняется.
Что подготовить до установки
Начните с ответа на вопрос: одна машина или две. Решите это до закупки железа, потом переносить дороже.
Ориентиры по железу для одного сервера на 20 пользователей. Это именно ориентиры, точная цифра зависит от конфигурации и числа регламентных заданий:
| Ресурс | Минимум | Комфортно |
|---|---|---|
| Процессор | 4 ядра | 8 ядер с высокой частотой |
| Память | 16 ГБ | 32 ГБ |
| Диски | SSD под данные | отдельные SSD под данные, журнал и tempdb |
| ОС | Windows Server 2016 | Windows Server 2019/2022 |
Частота ядра важнее их количества: основной поток 1С однопоточный, и тормозящий отчёт упирается именно в скорость одного ядра.
Что проверить на самой системе:
- 🖥️ Статический IP-адрес и понятное имя сервера. Менять имя после установки службы 1С неприятно.
- 💾 Диски разложены заранее: система отдельно, файлы баз и журналов на быстрых томах. Файловую систему NTFS, размер кластера для томов с базами лучше брать 64 КБ.
- 🔁 Установлены обновления Windows и выбран план электропитания «Высокая производительность».
- 🧱 Брандмауэр настроен под порты 1С (список ниже, в разделе про сеть).
Версии берите согласованные: платформа 1С должна поддерживать вашу версию SQL Server. Список поддерживаемых СУБД есть в описании релиза платформы на сайте 1С. Не ставьте самую новую платформу на старую СУБД «как получится».
Установка MS SQL Server для 1С
Ставьте только нужные компоненты: компонент «Службы Database Engine». Службы отчётов и анализа 1С не нужны.
- Запустите установщик SQL Server и выберите новую изолированную установку.
- На шаге выбора компонентов оставьте только Database Engine Services.
- На шаге «Конфигурация сервера» откройте вкладку сопоставления (Collation) и выставьте
Cyrillic_General_CI_AS. Именно так сортируются и сравниваются строки в российских конфигурациях 1С. Сопоставление сервера потом меняется только переустановкой СУБД или перестройкой системных баз, поэтому проверьте его сразу. - На шаге «Конфигурация ядра СУБД» выберите режим проверки подлинности. Смешанный режим (Windows + SQL Server) удобнее: сервер 1С обращается к СУБД под отдельной учётной записью SQL.
- Укажите администратора. Пароль учётной записи
saзадайте длинный и храните отдельно, в 1С его вносить не нужно. - На вкладках каталогов данных разведите пути: данные баз, журналы транзакций и tempdb на разные тома, если они есть.
Рекомендации к самой установке:
- 🔑 Отдельная учётная запись SQL (например,
user1c) для сервера 1С. Ей нужно право создавать базы, рольdbcreatorобычно достаточно. Если планируете, чтобы 1С создавала базу сама, без этой роли не обойтись. - ⚡ Право «Выполнение задач обслуживания тома» для учётной записи службы SQL Server (мгновенная инициализация файлов) сильно ускоряет создание и рост файлов данных.
- 📡 Протокол TCP/IP включите в «Диспетчере конфигурации SQL Server» и перезапустите службу СУБД, если СУБД на отдельной машине.
Перезапуск службы SQL Server обрывает все соединения. На рабочем сервере делайте это вне рабочего времени и после того, как пользователи вышли из 1С.
Установка сервера 1С:Предприятия
Серверный компонент ставится тем же установщиком, что и клиент, но его нужно отметить отдельно. Берите дистрибутив платформы 8.3 нужной редакции, разрядность 64 бит.
- Запустите
setup.exeиз дистрибутива платформы от имени администратора. - В списке компонентов отметьте основные компоненты 1С:Предприятия и «Сервер 1С:Предприятия 8». Если консоль администрирования понадобится на этой же машине, оставьте и её.
- Когда установщик спросит про запуск сервера как службы, выбирайте установку как службы Windows, а не как приложения.
- Выберите учётную запись для службы. Установщик предлагает создать пользователя
USR1CV8с нужными правами. Для начала подойдёт это, потом можно заменить на доменную служебную учётную запись. - Завершите установку и убедитесь, что служба «Агент сервера 1С:Предприятия 8.3 (x86-64)» запущена.
Что запомнить про эту службу:
- 📁 Каталог служебных данных кластера по умолчанию называется
srvinfo. Там лежат списки кластеров и баз. Пользователь службы должен иметь на этот каталог полный доступ. - 🔁 Агент сервера запускает менеджер кластера и рабочие процессы. Если служба не стартует, сначала смотрите права на
srvinfoи журнал событий Windows. - 🔒 Не запускайте службу от имени обычного пользователя, который выходит из системы: после выхода сеанса сервер встанет.
На сервер можно поставить несколько версий платформы рядом. Но на одном порту агента одновременно работает только один экземпляр. Для второго экземпляра нужны другие порты.
Кластер, консоль и регистрация базы
После установки службы кластер появляется автоматически: локальный кластер на порту 1541 с менеджером на этом же сервере. Администрировать его удобнее из консоли «Администрирование серверов 1С:Предприятия».
Подключение к серверу и кластеру
- Откройте консоль и добавьте центральный сервер:
Центральные серверы 1С:Предприятия → Создать → Центральный сервер 1С:Предприятия. Укажите имя сервера. - Раскройте созданное подключение. Внутри будет «Локальный кластер» — это и есть ваш кластер.
- Если администратор кластера не назначен, консоль входит без пароля. Для рабочей среды администратора кластера нужно назначить, это делается в свойствах кластера.
Создание базы на SQL
- В кластере щёлкните правой кнопкой по узлу «Информационные базы» и выберите
Создать → Информационная база. - Заполните поля:
| Поле | Что вводить |
|---|---|
| Имя | Имя базы в списке 1С, как её увидят пользователи |
| Сервер баз данных | Имя или адрес сервера SQL (при общей машине — её имя) |
| Тип СУБД | Microsoft SQL Server |
| База данных | Имя базы внутри SQL Server |
| Пользователь сервера БД | Учётная запись SQL, например user1c |
| Пароль пользователя | Пароль этой учётной записи |
| Смещение дат | 2000 |
| Создать базу данных в случае её отсутствия | Отметьте, если базы в SQL ещё нет |
- Блокировку регламентных заданий на новой базе лучше оставить включённой, пока не загрузите данные и не проверите настройки: иначе фоновые задания начнут работать на пустой базе.
- Нажмите «ОК». База появится в списке, и её можно добавить в список запуска клиента, указав имя сервера и имя базы.
Смещение дат 2000 — стандарт для современных конфигураций. Менять его на уже заполненной базе нельзя: даты станут некорректными.
Дальше базу наполняют так: загружают файл выгрузки .dt из файловой базы через Конфигуратор (Администрирование → Загрузить информационную базу) или создают базу из шаблона. Загрузка .dt требует монопольного доступа, поэтому сначала убедитесь, что в базе нет сеансов.
Сеть: порты и брандмауэр
Клиенты ходят к серверу 1С по нескольким портам. Откройте их на самом сервере и на сетевом оборудовании:
| Порт | Назначение |
|---|---|
| 1540 | Агент сервера, куда обращается клиент в первую очередь |
| 1541 | Менеджер кластера |
| 1560–1591 | Диапазон для рабочих процессов (по умолчанию) |
Диапазон портов рабочих процессов задаётся в свойствах рабочего сервера, а не кластера. Если рабочих процессов много, диапазон придётся расширить.
Между сервером 1С и СУБД должен быть открыт порт SQL Server, по умолчанию 1433 по TCP. Если вы используете именованный экземпляр, порт может быть динамическим. Тогда закрепите его в диспетчере конфигурации SQL Server.
Проверьте доступность с клиентской машины перед настройкой пользователей: Test-NetConnection имя_сервера -Port 1540 в PowerShell. Если результат TcpTestSucceeded : True, сетевой путь до агента открыт.
Лицензии и права
Клиент-серверный режим требует двух разных вещей: лицензии на сам сервер и клиентских лицензий. Не путайте их.
- 🧩 Лицензия на серверную часть. Без неё сервер 1С не запустит рабочие процессы. Получают через программную лицензию (пин-код) или через аппаратный ключ, вставленный в сервер.
- 👥 Клиентские лицензии. Они учитывают число одновременных подключений. Их можно получить на сервере или на клиентских машинах, это зависит от вида лицензии.
- 🛡️ Права пользователей. Для работы достаточно прав на запуск и роли в самой базе. Права в SQL пользователям не выдаются: к СУБД обращается только сервер 1С под своей учётной записью.
Практически: сразу после установки откройте консоль, зайдите в раздел лицензий кластера и проверьте, видит ли сервер лицензию. Если вы получали программную лицензию, активируйте её на этой же машине, потому что привязка идёт к конкретному серверу. Если лицензия не найдена, база не откроется, а ошибка будет про лицензию, а не про сеть. Для проверки отдельно запустите клиент на самом сервере.
Что делать с правами в Windows:
- Учётная запись службы 1С — полный доступ на каталог
srvinfoи на каталоги временных файлов. - Пользователи 1С — права только на клиентские папки. На
srvinfoу них доступа быть не должно. - Администраторы кластера — отдельные учётные записи в консоли, не общие.
Настройка производительности и мониторинг
Самая частая ошибка новичка — оставить SQL Server с настройкой памяти по умолчанию. Тогда СУБД забирает почти всю оперативную память, а сервер 1С остаётся без неё.
Пример для одного сервера с 32 ГБ памяти. Выделите СУБД примерно 20 ГБ, оставив около 12 ГБ на Windows и процессы 1С. Задаётся так:
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'max server memory (MB)', 20480;
RECONFIGURE;
Число 20480 — это 20 ГБ, посчитанные как 20 × 1024. Менять параметр можно без перезапуска службы.
Что ещё настроить:
- 📈 Размер файлов. Задайте автоприрост файлов данных и журнала крупным шагом (сотни мегабайт), а не по 1 МБ. Частый мелкий прирост тормозит запись.
- 🗂️ tempdb. Держите её на быстром диске и создайте несколько файлов равного размера, по числу ядер, но не больше 8 как стартовая точка.
- 🧹 Обслуживание. По расписанию обновляйте статистику и перестраивайте фрагментированные индексы. Без регулярной статистики планы запросов деградируют, и отчёты замедляются на ровном месте.
- 💽 Резервные копии. Настройте копирование баз средствами SQL Server (полные копии плюс журнал транзакций при модели восстановления «Полная»). Проверяйте, что копию действительно можно восстановить.
Для наблюдения за сервером хватит трёх источников:
- Системный монитор Windows: загрузка процессора, очередь к диску, свободная память.
- Консоль кластера: сколько сеансов и соединений, сколько рабочих процессов и какую память они занимают.
- Технологический журнал платформы — когда нужно найти конкретную долгую операцию или блокировку.
Сначала смотрите на диск и память, потом на процессор. Для 1С на SQL именно диск чаще всего оказывается узким местом.
Что идёт не так при развёртывании
Типовые проблемы, которые не повторяют шаги выше:
- ❌ База создаётся, но клиент не подключается. Проверьте порты 1540 и 1541, а затем диапазон рабочих процессов. Брандмауэр часто пропускает первые два и режет остальные.
- ❌ Ошибка доступа к СУБД при создании базы. У учётной записи SQL нет права создавать базы. Проверьте роль
dbcreatorи режим проверки подлинности SQL Server. - ❌ Служба 1С не стартует после смены учётной записи. Новому пользователю не дали права на каталог
srvinfo. - ❌ Кириллица сортируется странно. При установке SQL выбрано не то сопоставление. Исправить задним числом сложно, поэтому проверяйте его на шаге установки.
- ❌ Сервер стал медленным через месяц. Не настроено обслуживание индексов и статистики, либо переполнился журнал транзакций из-за отсутствия копий журнала.
Частые вопросы
Можно ли поставить SQL Server и сервер 1С на один компьютер?
Какой режим проверки подлинности выбрать в SQL Server?
Нужна ли отдельная лицензия на SQL Server?
Где хранятся данные клиент-серверной базы?
srvinfo. Резервировать нужно и то и другое.