Клиент-серверная 1С на MS SQL Server: установка с нуля

· 10 мин

Содержание

Чтобы развернуть сервер 1С с SQL, нужны четыре вещи: Windows Server 2016 или новее, установленный MS SQL Server, служба «Агент сервера 1С:Предприятия» и зарегистрированная в кластере информационная база. Порядок жёсткий: сначала система и СУБД, потом сервер 1С, потом кластер и база, в конце лицензии и права.

Ниже сквозная схема для одного сервера, где СУБД и сервер 1С стоят вместе. Это рабочий вариант для 10–30 пользователей. Для больших нагрузок СУБД и сервер 1С разносят на две машины, и в тексте отмечено, что при этом меняется.

Что подготовить до установки

Начните с ответа на вопрос: одна машина или две. Решите это до закупки железа, потом переносить дороже.

Сколько серверов нужно под клиент-серверную 1С?

Ориентиры по железу для одного сервера на 20 пользователей. Это именно ориентиры, точная цифра зависит от конфигурации и числа регламентных заданий:

РесурсМинимумКомфортно
Процессор4 ядра8 ядер с высокой частотой
Память16 ГБ32 ГБ
ДискиSSD под данныеотдельные SSD под данные, журнал и tempdb
ОСWindows Server 2016Windows Server 2019/2022

Частота ядра важнее их количества: основной поток 1С однопоточный, и тормозящий отчёт упирается именно в скорость одного ядра.

Что проверить на самой системе:

  • 🖥️ Статический IP-адрес и понятное имя сервера. Менять имя после установки службы 1С неприятно.
  • 💾 Диски разложены заранее: система отдельно, файлы баз и журналов на быстрых томах. Файловую систему NTFS, размер кластера для томов с базами лучше брать 64 КБ.
  • 🔁 Установлены обновления Windows и выбран план электропитания «Высокая производительность».
  • 🧱 Брандмауэр настроен под порты 1С (список ниже, в разделе про сеть).

Версии берите согласованные: платформа 1С должна поддерживать вашу версию SQL Server. Список поддерживаемых СУБД есть в описании релиза платформы на сайте 1С. Не ставьте самую новую платформу на старую СУБД «как получится».

Установка MS SQL Server для 1С

Ставьте только нужные компоненты: компонент «Службы Database Engine». Службы отчётов и анализа 1С не нужны.

  1. Запустите установщик SQL Server и выберите новую изолированную установку.
  2. На шаге выбора компонентов оставьте только Database Engine Services.
  3. На шаге «Конфигурация сервера» откройте вкладку сопоставления (Collation) и выставьте Cyrillic_General_CI_AS. Именно так сортируются и сравниваются строки в российских конфигурациях 1С. Сопоставление сервера потом меняется только переустановкой СУБД или перестройкой системных баз, поэтому проверьте его сразу.
  4. На шаге «Конфигурация ядра СУБД» выберите режим проверки подлинности. Смешанный режим (Windows + SQL Server) удобнее: сервер 1С обращается к СУБД под отдельной учётной записью SQL.
  5. Укажите администратора. Пароль учётной записи sa задайте длинный и храните отдельно, в 1С его вносить не нужно.
  6. На вкладках каталогов данных разведите пути: данные баз, журналы транзакций и tempdb на разные тома, если они есть.

Рекомендации к самой установке:

  • 🔑 Отдельная учётная запись SQL (например, user1c) для сервера 1С. Ей нужно право создавать базы, роль dbcreator обычно достаточно. Если планируете, чтобы 1С создавала базу сама, без этой роли не обойтись.
  • ⚡ Право «Выполнение задач обслуживания тома» для учётной записи службы SQL Server (мгновенная инициализация файлов) сильно ускоряет создание и рост файлов данных.
  • 📡 Протокол TCP/IP включите в «Диспетчере конфигурации SQL Server» и перезапустите службу СУБД, если СУБД на отдельной машине.

Перезапуск службы SQL Server обрывает все соединения. На рабочем сервере делайте это вне рабочего времени и после того, как пользователи вышли из 1С.

Установка сервера 1С:Предприятия

Серверный компонент ставится тем же установщиком, что и клиент, но его нужно отметить отдельно. Берите дистрибутив платформы 8.3 нужной редакции, разрядность 64 бит.

  1. Запустите setup.exe из дистрибутива платформы от имени администратора.
  2. В списке компонентов отметьте основные компоненты 1С:Предприятия и «Сервер 1С:Предприятия 8». Если консоль администрирования понадобится на этой же машине, оставьте и её.
  3. Когда установщик спросит про запуск сервера как службы, выбирайте установку как службы Windows, а не как приложения.
  4. Выберите учётную запись для службы. Установщик предлагает создать пользователя USR1CV8 с нужными правами. Для начала подойдёт это, потом можно заменить на доменную служебную учётную запись.
  5. Завершите установку и убедитесь, что служба «Агент сервера 1С:Предприятия 8.3 (x86-64)» запущена.

Что запомнить про эту службу:

  • 📁 Каталог служебных данных кластера по умолчанию называется srvinfo. Там лежат списки кластеров и баз. Пользователь службы должен иметь на этот каталог полный доступ.
  • 🔁 Агент сервера запускает менеджер кластера и рабочие процессы. Если служба не стартует, сначала смотрите права на srvinfo и журнал событий Windows.
  • 🔒 Не запускайте службу от имени обычного пользователя, который выходит из системы: после выхода сеанса сервер встанет.

На сервер можно поставить несколько версий платформы рядом. Но на одном порту агента одновременно работает только один экземпляр. Для второго экземпляра нужны другие порты.

Кластер, консоль и регистрация базы

После установки службы кластер появляется автоматически: локальный кластер на порту 1541 с менеджером на этом же сервере. Администрировать его удобнее из консоли «Администрирование серверов 1С:Предприятия».

Подключение к серверу и кластеру

  1. Откройте консоль и добавьте центральный сервер: Центральные серверы 1С:Предприятия → Создать → Центральный сервер 1С:Предприятия. Укажите имя сервера.
  2. Раскройте созданное подключение. Внутри будет «Локальный кластер» — это и есть ваш кластер.
  3. Если администратор кластера не назначен, консоль входит без пароля. Для рабочей среды администратора кластера нужно назначить, это делается в свойствах кластера.

Создание базы на SQL

  1. В кластере щёлкните правой кнопкой по узлу «Информационные базы» и выберите Создать → Информационная база.
  2. Заполните поля:
ПолеЧто вводить
ИмяИмя базы в списке 1С, как её увидят пользователи
Сервер баз данныхИмя или адрес сервера SQL (при общей машине — её имя)
Тип СУБДMicrosoft SQL Server
База данныхИмя базы внутри SQL Server
Пользователь сервера БДУчётная запись SQL, например user1c
Пароль пользователяПароль этой учётной записи
Смещение дат2000
Создать базу данных в случае её отсутствияОтметьте, если базы в SQL ещё нет
  1. Блокировку регламентных заданий на новой базе лучше оставить включённой, пока не загрузите данные и не проверите настройки: иначе фоновые задания начнут работать на пустой базе.
  2. Нажмите «ОК». База появится в списке, и её можно добавить в список запуска клиента, указав имя сервера и имя базы.

Смещение дат 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. Учётная запись службы 1С — полный доступ на каталог srvinfo и на каталоги временных файлов.
  2. Пользователи 1С — права только на клиентские папки. На srvinfo у них доступа быть не должно.
  3. Администраторы кластера — отдельные учётные записи в консоли, не общие.

Настройка производительности и мониторинг

Самая частая ошибка новичка — оставить 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 (полные копии плюс журнал транзакций при модели восстановления «Полная»). Проверяйте, что копию действительно можно восстановить.

Для наблюдения за сервером хватит трёх источников:

  1. Системный монитор Windows: загрузка процессора, очередь к диску, свободная память.
  2. Консоль кластера: сколько сеансов и соединений, сколько рабочих процессов и какую память они занимают.
  3. Технологический журнал платформы — когда нужно найти конкретную долгую операцию или блокировку.

Сначала смотрите на диск и память, потом на процессор. Для 1С на SQL именно диск чаще всего оказывается узким местом.

Что идёт не так при развёртывании

Типовые проблемы, которые не повторяют шаги выше:

  • ❌ База создаётся, но клиент не подключается. Проверьте порты 1540 и 1541, а затем диапазон рабочих процессов. Брандмауэр часто пропускает первые два и режет остальные.
  • ❌ Ошибка доступа к СУБД при создании базы. У учётной записи SQL нет права создавать базы. Проверьте роль dbcreator и режим проверки подлинности SQL Server.
  • ❌ Служба 1С не стартует после смены учётной записи. Новому пользователю не дали права на каталог srvinfo.
  • ❌ Кириллица сортируется странно. При установке SQL выбрано не то сопоставление. Исправить задним числом сложно, поэтому проверяйте его на шаге установки.
  • ❌ Сервер стал медленным через месяц. Не настроено обслуживание индексов и статистики, либо переполнился журнал транзакций из-за отсутствия копий журнала.
Проверка перед выдачей сервера пользователям
Выполнено: 0 / 6

Частые вопросы

Можно ли поставить SQL Server и сервер 1С на один компьютер?
Можно. Для небольшой базы и до 20–30 пользователей это нормальная схема. Главное, ограничить память СУБД, иначе она вытеснит процессы 1С.
Какой режим проверки подлинности выбрать в SQL Server?
Смешанный удобнее: сервер 1С подключается под отдельной SQL-учётной записью. Подключение под Windows-учётной записью тоже возможно, но настраивается сложнее.
Нужна ли отдельная лицензия на SQL Server?
Да. Это продукт Microsoft, его лицензируют отдельно от 1С. Бесплатные редакции SQL Server имеют ограничения по размеру базы и памяти, они подходят лишь для маленьких баз.
Где хранятся данные клиент-серверной базы?
Сами данные лежат в базе на SQL Server. Служебные сведения кластера (список баз, настройки) лежат в каталоге srvinfo. Резервировать нужно и то и другое.
Что быстрее: файловая база или клиент-серверная?
Для одного-двух пользователей файловая часто не уступает. При параллельной работе клиент-серверная выигрывает: блокировки идут на уровне записей, а не всего файла.