Связка 1С:Предприятие 8.3 и Microsoft SQL Server от нуля до рабочей базы

· 10 мин

Содержание

Чтобы установить сервер 1С на SQL Server, нужно пройти четыре этапа: поставить Microsoft SQL Server со смешанной аутентификацией и сортировкой Cyrillic_General_CI_AS, установить серверную часть платформы 1С:Предприятие 8.3 как службу Windows, убедиться, что кластер на порту 1541 поднялся, и создать информационную базу с типом СУБД «MS SQL Server». На чистом сервере вся процедура занимает час-полтора.

Обычная история: в файловой базе стало тесно, 15 пользователей ловят блокировки, а размер 1Cv8.1CD подбирается к десяткам гигабайт. Решение — клиент-серверный вариант. Ниже порядок, который работает на Windows Server 2016 и новее с актуальной платформой 8.3.2x.

Подготовка сервера: железо, редакция SQL Server и лицензии

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

Ориентиры по железу для одной машины:

ПользователейПроцессорОЗУДиски
до 154 ядра16 ГБSSD
15–508 ядер32 ГБSSD/NVMe, базы и журналы отдельно
50–10012–16 ядер64 ГБ и большеNVMe, отдельный диск под tempdb

Цифры ориентировочные: тяжёлая ERP с регламентными заданиями съест больше, чем Бухгалтерия на тех же пользователях.

Какая редакция SQL Server подойдёт

  • 🆓 Express — бесплатная, но база ограничена 10 ГБ, а сама СУБД использует ограниченный объём памяти и не больше 4 ядер. Годится для теста или маленькой базы.
  • 💼 Standard — основной вариант для рабочих баз. Лицензируется по ядрам или по схеме «сервер + клиентские лицензии».
  • 🏢 Enterprise — нужна редко, для крупных внедрений.

Версию SQL Server сверяйте со списком поддерживаемых СУБД для вашей версии платформы. Он публикуется на сайте поддержки 1С, и свежий выпуск SQL Server может появиться в нём позже релиза.

Что нужно по лицензиям 1С

Для клиент-серверного варианта требуется лицензия на сервер 1С:Предприятия — отдельно от клиентских лицензий на рабочие места. Без неё рабочий сервер не запустит базу. Клиентские лицензии можно выдавать сервером (флажок при создании базы), тогда их не нужно ставить на каждый компьютер.

Установка Microsoft SQL Server под 1С

Запустите setup.exe из дистрибутива и выберите новую установку изолированного экземпляра. Дальше пройдите мастер.

Компоненты

Достаточно отметить Database Engine Services. Full-Text Search, Replication, Analysis Services для 1С не нужны. SQL Server Management Studio (SSMS) в современных версиях ставится отдельным дистрибутивом — скачайте его сразу, он понадобится для настройки.

Экземпляр

Экземпляр по умолчанию (MSSQLSERVER) удобнее: в 1С его указывают просто именем сервера. Именованный экземпляр тоже работает, но тогда в строке подключения пишут ИМЯСЕРВЕРА\ИМЯЭКЗЕМПЛЯРА и нужна служба SQL Server Browser.

Учётные записи и сортировка

На шаге конфигурации сервера есть две важные настройки:

  1. На вкладке служб отметьте Grant Perform Volume Maintenance Task privilege. Это мгновенная инициализация файлов: база и её рост не будут ждать обнуления диска.
  2. На вкладке Collation нажмите Customize и выберите Cyrillic_General_CI_AS.

Сортировку выбирают при установке. Поменять её у готового экземпляра — это пересборка системных баз, по сути переустановка. Если поставили с SQL_Latin1_General_CP1_CI_AS, базы 1С будут работать с проблемами в сортировке русских строк.

Аутентификация и каталоги

  1. Режим проверки подлинности — Mixed Mode (смешанный). Задайте сложный пароль для sa.
  2. Добавьте администратора Windows в список администраторов SQL Server.
  3. На вкладке Data Directories разнесите данные, журналы и tempdb по разным дискам, если они есть. Хотя бы журнал транзакций — не на диск с системой.
  4. На вкладке TempDB оставьте число файлов, которое предлагает мастер (по числу ядер, но не больше 8).

После установки откройте SQL Server Configuration Manager и проверьте, что в сетевой конфигурации включён протокол TCP/IP. В Express он по умолчанию выключен. После включения перезапустите службу SQL Server.

Инсталляция серверной части платформы 1С:Предприятие 8.3

Возьмите дистрибутив «Технологическая платформа 1С:Предприятия (64-bit) для Windows» той же версии, что стоит у пользователей. Версии клиента и сервера должны совпадать до последней цифры сборки.

Запустите setup.exe и в выборе компонентов отметьте:

  • ✅ 1С:Предприятие 8 — клиент, пригодится для проверки на самом сервере;
  • ✅ Сервер 1С:Предприятия 8;
  • ✅ Администрирование сервера 1С:Предприятия — консоль кластера;
  • ✅ Модули расширения веб-сервера — только если планируете публикацию через IIS или Apache.

На следующем шаге мастер предложит установить сервер как сервис Windows . Оставьте флажок и выберите, от чьего имени работать службе. Обычно создают пользователя USR1CV8 прямо в мастере — задайте ему пароль и запишите его.

После установки в списке служб появится «Агент сервера 1С:Предприятия 8.3 (x86-64)» с автоматическим запуском. Проверьте, что служба работает.

Порты и брандмауэр

Клиентам нужен доступ к серверу по трём направлениям:

ПортКто слушает
1540агент сервера (ragent)
1541менеджер кластера (rmngr)
1560–1591рабочие процессы (rphost), диапазон по умолчанию

Откройте их входящими правилами в брандмауэре Windows Defender. Если SQL Server стоит на другой машине, на ней откройте ещё TCP 1433 для сервера 1С.

Регистрация консоли администрирования

Консоль Администрирование серверов 1С Предприятия — это оснастка MMC, и после установки или обновления платформы она часто не открывается. Лечится регистрацией библиотеки от имени администратора:

regsvr32 "C:\Program Files\1cv8\8.3.XX.XXXX\bin\radmin.dll"

Подставьте свою версию платформы из пути установки. Регистрировать нужно ту же версию, что у работающего агента.

Кластер серверов 1С: проверка и регистрация

При установке как службы платформа сама создаёт кластер «Локальный кластер» на порту 1541. Отдельно создавать его не нужно.

Проверка в консоли:

  1. Откройте Администрирование серверов 1С Предприятия.
  2. Правой кнопкой на «Central 1C:Enterprise 8.3 servers» → Создать → Центральный сервер 1С:Предприятия.
  3. Укажите имя компьютера, протокол TCP/IP, порт 1540.
  4. Разверните узел сервера: внутри должен быть кластер, а в нём папки «Информационные базы», «Рабочие серверы», «Менеджеры кластера».

Проверить можно и из командной строки. Для утилиты rac нужна служба ras (сервер администрирования), её запускают отдельно. Список кластеров выводит команда:

rac cluster list

Администратор кластера

По умолчанию кластер открыт любому, кто зашёл в консоль. На рабочем сервере стоит завести администратора кластера: папка «Администраторы» внутри кластера → создать пользователя с паролем.

Сначала добавьте администратора агента (центрального сервера), потом кластера. Пароль сохраните в менеджере паролей: восстановить его штатно нельзя, только через резервную копию настроек кластера из каталога srvinfo.

Параметры рабочих процессов, диапазон портов и требования назначения функциональности задаются в свойствах рабочего сервера, а не кластера. На одной машине их обычно не трогают.

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

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

Логин для 1С в SSMS

  1. В SSMS: Security → Logins → New Login.
  2. Выберите SQL Server authentication, придумайте имя, например usr1c, и пароль. Снимите флажок принудительной смены пароля.
  3. На странице Server Roles отметьте dbcreator — этого хватает, чтобы 1С создала базу. Логин станет её владельцем.

Многие администраторы дают логину sysadmin, чтобы не разбираться с правами. Работать будет, но если сервером СУБД пользуются другие системы, такой логин получает доступ и к их базам.

Создание базы из окна запуска

Удобнее всего на самом сервере или на рабочем месте администратора:

  1. Запустите 1С, нажмите Добавить....
  2. Выберите Создание новой информационной базы, затем — создать из шаблона или пустую.
  3. Укажите название и вариант расположения На сервере 1С:Предприятия.
  4. Заполните параметры.
ПолеЧто указать
Кластер серверов 1С:Предприятияимя сервера 1С
Имя информационной базы в кластерекороткое латиницей, например buh_main
Тип СУБДMS SQL Server
Сервер баз данныхимя сервера SQL или сервер\экземпляр
Имя базы данныхобычно совпадает с именем в кластере
Пользователь и пароль сервера БДлогин usr1c и его пароль
Смещение дат2000
Создать базу данных в случае её отсутствияотметить
Разрешить выдачу лицензий серверомотметить, если клиентские лицензии на сервере

Смещение 2000 нужно из-за того, что тип datetime в SQL Server не хранит даты раньше 1753 года, а 1С пустую дату записывает как 0001 год. Смещение сдвигает даты и снимает конфликт. Менять его у существующей базы нельзя.

После создания базу можно наполнить: загрузить .dt через Конфигуратор → Администрирование → Загрузить информационную базу или обновить конфигурацию из файла поставки.

Загрузка .dt полностью заменяет данные в базе. На рабочей базе сначала сделайте выгрузку.

Права доступа и производительность SQL Server для 1С

Свежий экземпляр SQL Server настроен «для всех», а не для 1С. Пять настроек, которые стоит поменять сразу.

Память

По умолчанию SQL Server забирает почти всю оперативную память, и рабочим процессам 1С её не хватает. В SSMS: свойства сервера → Memory → Maximum server memory.

Пример: на сервере 32 ГБ. Оставьте около 4 ГБ системе и 8–10 ГБ процессам 1С — SQL Server получит 18–20 ГБ, то есть 18432–20480 МБ.

Параллелизм

Запросы 1С короткие и многочисленные, параллельные планы им скорее мешают. Классическая рекомендация — Max Degree of Parallelism = 1:

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'max degree of parallelism', 1;
RECONFIGURE;

Модель восстановления

Новые базы наследуют настройки системной базы model, где по умолчанию стоит модель Full. Если вы не делаете резервных копий журнала транзакций, журнал разрастётся до размеров диска. Два варианта:

  • 💾 нужно восстановление на момент времени — оставляйте Full и настраивайте бэкап журнала каждые 15–60 минут;
  • 📦 хватает ежедневной полной копии — переключите базу в Simple.

Чтобы не править каждую базу, поменяйте модель у model до создания баз.

Обслуживание

В SSMS через Maintenance Plans настройте ночной план:

  1. Полная резервная копия базы.
  2. Перестроение или реорганизация индексов (раз в неделю).
  3. Обновление статистики (каждую ночь).
  4. Очистка процедурного кэша после обновления статистики — чтобы планы пересобрались по новой статистике:
DBCC FREEPROCCACHE;

Для работы планов должна быть запущена служба SQL Server Agent с автоматическим запуском. В Express её нет — там задания ставят через Планировщик заданий Windows и sqlcmd.

Права пользователей

Пользователи 1С к SQL Server напрямую не подключаются: все запросы идут от рабочих процессов под одним логином usr1c. Права на справочники и документы настраиваются только внутри 1С, через роли и профили групп доступа. Давать бухгалтерам логины в SQL не нужно.

Проверка после настройки
Выполнено: 0 / 7

Ошибки при установке и подключении

Большинство проблем первого запуска сводится к сети, сортировке, правам логина и лицензии.

Диагностика: выберите симптом

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

Отдельно о сортировке. Если экземпляр поставили с латинской сортировкой и это обнаружилось после загрузки баз, переустановка экземпляра — не катастрофа: выгрузите базы в .dt, переустановите SQL Server с Cyrillic_General_CI_AS, создайте базы заново и загрузите выгрузки.

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

Можно ли использовать бесплатный SQL Server Express для 1С?
Можно, но база ограничена 10 ГБ, а СУБД использует ограниченную память и ядра. Для теста или небольшой базы подходит, для рабочей базы на 20 человек — нет.
Обязательно ли ставить SQL Server и сервер 1С на одну машину?
Нет. На одной машине меньше сетевых задержек, поэтому до нескольких десятков пользователей так даже быстрее. Разносят при высокой нагрузке или по требованиям безопасности.
Можно ли перенести файловую базу на SQL Server?
Да. Выгрузите файловую базу в .dt через Конфигуратор, создайте пустую серверную базу по инструкции выше и загрузите в неё выгрузку.
Нужен ли IIS для работы через SQL Server?
Нет. Толстый и тонкий клиенты подключаются к кластеру 1С напрямую. Веб-сервер нужен только для веб-клиента, мобильного доступа и HTTP-сервисов.
Какую версию платформы ставить на сервер?
Ту, которую требует ваша конфигурация, и одинаковую на сервере и всех клиентах. Минимальная версия указана в описании релиза конфигурации.