Связка 1С:Предприятие 8.3 и Microsoft SQL Server от нуля до рабочей базы
Содержание
Чтобы установить сервер
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 пользователей этого хватает, разносить их по разным серверам есть смысл при сотне активных сеансов и больше.
Ориентиры по железу для одной машины:
| Пользователей | Процессор | ОЗУ | Диски |
|---|---|---|---|
| до 15 | 4 ядра | 16 ГБ | SSD |
| 15–50 | 8 ядер | 32 ГБ | SSD/NVMe, базы и журналы отдельно |
| 50–100 | 12–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.
Учётные записи и сортировка
На шаге конфигурации сервера есть две важные настройки:
- На вкладке служб отметьте Grant Perform Volume Maintenance Task privilege. Это мгновенная инициализация файлов: база и её рост не будут ждать обнуления диска.
- На вкладке Collation нажмите
Customizeи выберитеCyrillic_General_CI_AS.
Сортировку выбирают при установке. Поменять её у готового экземпляра — это пересборка системных баз, по сути переустановка. Если поставили с SQL_Latin1_General_CP1_CI_AS, базы 1С будут работать с проблемами в сортировке русских строк.
Аутентификация и каталоги
- Режим проверки подлинности — Mixed Mode (смешанный). Задайте сложный пароль для
sa. - Добавьте администратора Windows в список администраторов SQL Server.
- На вкладке Data Directories разнесите данные, журналы и tempdb по разным дискам, если они есть. Хотя бы журнал транзакций — не на диск с системой.
- На вкладке 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С Предприятия. - Правой кнопкой на «Central 1C:Enterprise 8.3 servers» → Создать → Центральный сервер 1С:Предприятия.
- Укажите имя компьютера, протокол TCP/IP, порт 1540.
- Разверните узел сервера: внутри должен быть кластер, а в нём папки «Информационные базы», «Рабочие серверы», «Менеджеры кластера».
Проверить можно и из командной строки. Для утилиты rac нужна служба ras (сервер администрирования), её запускают отдельно. Список кластеров выводит команда:
rac cluster list
Администратор кластера
По умолчанию кластер открыт любому, кто зашёл в консоль. На рабочем сервере стоит завести администратора кластера: папка «Администраторы» внутри кластера → создать пользователя с паролем.
Сначала добавьте администратора агента (центрального сервера), потом кластера. Пароль сохраните в менеджере паролей: восстановить его штатно нельзя, только через резервную копию настроек кластера из каталога srvinfo.
Параметры рабочих процессов, диапазон портов и требования назначения функциональности задаются в свойствах рабочего сервера, а не кластера. На одной машине их обычно не трогают.
Создание базы 1С на SQL Server
Сначала подготовьте логин в SQL Server, потом создайте базу из 1С. Сама база данных на SQL Server появится автоматически.
Логин для 1С в SSMS
- В SSMS:
Security → Logins → New Login. - Выберите SQL Server authentication, придумайте имя, например
usr1c, и пароль. Снимите флажок принудительной смены пароля. - На странице Server Roles отметьте
dbcreator— этого хватает, чтобы 1С создала базу. Логин станет её владельцем.
Многие администраторы дают логину sysadmin, чтобы не разбираться с правами. Работать будет, но если сервером СУБД пользуются другие системы, такой логин получает доступ и к их базам.
Создание базы из окна запуска
Удобнее всего на самом сервере или на рабочем месте администратора:
- Запустите 1С, нажмите
Добавить.... - Выберите Создание новой информационной базы, затем — создать из шаблона или пустую.
- Укажите название и вариант расположения На сервере 1С:Предприятия.
- Заполните параметры.
| Поле | Что указать |
|---|---|
| Кластер серверов 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 настройте ночной план:
- Полная резервная копия базы.
- Перестроение или реорганизация индексов (раз в неделю).
- Обновление статистики (каждую ночь).
- Очистка процедурного кэша после обновления статистики — чтобы планы пересобрались по новой статистике:
DBCC FREEPROCCACHE;
Для работы планов должна быть запущена служба SQL Server Agent с автоматическим запуском. В Express её нет — там задания ставят через Планировщик заданий Windows и sqlcmd.
Права пользователей
Пользователи 1С к SQL Server напрямую не подключаются: все запросы идут от рабочих процессов под одним логином usr1c. Права на справочники и документы настраиваются только внутри 1С, через роли и профили групп доступа. Давать бухгалтерам логины в SQL не нужно.
Ошибки при установке и подключении
Большинство проблем первого запуска сводится к сети, сортировке, правам логина и лицензии.
Перезапуск службы агента 1С или SQL Server обрывает все сеансы пользователей. На рабочем сервере делайте это после окончания рабочего дня, предупредив пользователей.
Отдельно о сортировке. Если экземпляр поставили с латинской сортировкой и это обнаружилось после загрузки баз, переустановка экземпляра — не катастрофа: выгрузите базы в .dt, переустановите SQL Server с Cyrillic_General_CI_AS, создайте базы заново и загрузите выгрузки.
Частые вопросы
Можно ли использовать бесплатный SQL Server Express для 1С?
Обязательно ли ставить SQL Server и сервер 1С на одну машину?
Можно ли перенести файловую базу на SQL Server?
.dt через Конфигуратор, создайте пустую серверную базу по инструкции выше и загрузите в неё выгрузку.