Переход на клиент-серверный вариант работы с 1С:Предприятие является неизбежным этапом развития любой крупной компании. Когда количество пользователей превышает пять человек или объем данных становится критическим, файловый режим перестает справляться с нагрузкой. В такой ситуации администратору необходимо выполнить перенос базы данных на мощный сервер СУБД, чаще всего в качестве которого выступает Microsoft SQL Server.

Процесс развертывания требует не только технических навыков работы с операционной системой Windows Server, но и глубокого понимания архитектуры взаимодействия между платформой 1С и сервером баз данных. Ошибки на этапе настройки прав доступа или выбора модели восстановления могут привести к существенному снижению производительности всей системы в будущем. Поэтому важно подойти к вопросу подготовки окружения максимально ответственно.

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

Подготовка сервера баз данных и установка компонентов

Первым шагом является установка самого сервера Microsoft SQL Server. Для корректной работы с современными версиями платформы 1С рекомендуется использовать версии SQL Server не ниже 2016 года, хотя официальная поддержка может распространяться и на более старые релизы в зависимости от версии платформы. В процессе установки мастера необходимо выбрать компонент Database Engine Services, так как именно он отвечает за хранение и обработку данных.

Критически важным моментом является выбор режима аутентификации. Для инфраструктуры 1С наиболее предпочтительным и безопасным вариантом считается смешанный режим (Mixed Mode), позволяющий использовать как учетные записи Windows, так и логины SQL. Это дает гибкость в управлении доступом, особенно если сервер 1С и сервер баз данных находятся в разных доменах или рабочей группе.

⚠️ Внимание: При установке SQL Server убедитесь, что для системной учетной записи sa установлен сложный пароль. Слабая защита учетной записи администратора СУБД является одной из самых частых причин взлома корпоративных сетей.

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

💡

Если вы развертываете новый сервер с нуля, установите компонент SQL Server Management Studio (SSMS) сразу же. Это основной инструмент для администрирования, который позволит выполнять скрипты и проверять состояние базы без использования командной строки.

Создание пустой базы данных с правильными параметрами

После установки СУБД необходимо создать контейнер для данных. Это можно сделать двумя способами: через графический интерфейс SSMS или с помощью T-SQL скрипта. Второй вариант предпочтительнее для автоматизации и исключения человеческих ошибок при кликах мышкой. База данных должна быть создана с кодировкой Unicode и правильной сортировкой.

Основные параметры, которые влияют на производительность и совместимость, задаются в операторе создания. Особое внимание следует уделить параметру COLLATE. Для русскоязычного сегмента и корректной работы 1С обычно используется сортировка Cyrillic_General_CI_AS, где CI означает нечувствительность к регистру, а AS — чувствительность к акцентам.

CREATE DATABASE [MyBase1C]

CONTAINMENT = NONE

ON PRIMARY

( NAME = N'MyBase1C', FILENAME = N'D:\SQLData\MyBase1C.mdf' , SIZE = 8192KB , FILEGROWTH = 1024KB )

LOG ON

( NAME = N'MyBase1C_log', FILENAME = N'L:\SQLLog\MyBase1C_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)

COLLATE Cyrillic_General_CI_AS

Разделение файлов данных (.mdf) и файлов журнала транзакций (.ldf) по разным физическим дискам является золотым стандартом администрирования. Это позволяет разнести потоки ввода-вывода и существенно увеличить скорость записи, что критично для активных пользователей 1С в моменты проведения документов.

Почему важно разделение дисков?

Журнал транзакций записывается последовательно, а файлы данных — хаотично. Если они лежат на одном диске, головка жесткого диска постоянно мечется между зонами, что создает задержки. Разнесение по разным физическим накопителям (или разным LUN на SAN) устраняет этот конфликт ресурсов.

Настройка прав доступа и создание пользователя SQL

Платформа 1С:Предприятие не подключается к базе данных под учетной записью администратора. Для работы используется специальная сервисная учетная запись. В среде Windows Server это обычно доменная учетная запись, от имени которой запущена служба Агент сервера 1С (ragent).

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

  • 🔐 Создайте логин для доменного пользователя службы 1С в разделе Security -> Logins.
  • 🗄️ В свойствах логина на вкладке User Mapping отметьте созданную базу данных.
  • 🛡️ Назначьте роли db_owner или более детализированные роли db_datareader, db_datawriter, ddl_admin.

Часто возникает ситуация, когда служба 1С работает под локальной системой, а SQL сервер требует явного логина. В этом случае создается пользователь SQL с паролем, и эти данные прописываются в настройках кластера серверов 1С при добавлении информационной базы.

☑️ Проверка прав доступа

Выполнено: 0 / 4

Регистрация базы в кластере серверов 1С

Финальным этапом является регистрация информационной базы в консоли администрирования серверов 1С. Запустите оснастку mmc с добавлением snap-in "Администрирование серверов 1С Предприятия". Подключитесь к центральному серверу кластера.

В дереве объектов найдите нужный кластер, раскройте список информационных баз и выберите действие "Добавить". В мастере создания необходимо выбрать тип СУБД — MS SQL Server. Далее потребуется ввести строку подключения, которая содержит имя сервера БД и имя созданной ранее базы.

Параметр подключения Значение Описание
Сервер баз данных SQL01\Instance1 Имя хоста и экземпляр SQL
Имя базы данных MyBase1C Физическое имя БД в SQL
Пользователь БД sa или User1C Логин для подключения
Пароль Пароль пользователя БД

Если вы используете аутентификацию Windows, поля пользователя и пароля можно оставить пустыми, при условии, что служба 1С имеет соответствующие права в домене. После ввода данных система попытается подключиться и проверить структуру таблиц. Если база пустая, 1С предложит создать структуру таблиц автоматически.

⚠️ Внимание: Убедитесь, что между сервером 1С и сервером SQL открыты необходимые порты (по умолчанию 1433 для SQL и 1540-1560 для 1С). Брандмауэр Windows часто блокирует эти соединения по умолчанию.

Оптимизация параметров после развертывания

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

По умолчанию создается модель Full (Полная), которая требует регулярного бэкапа логов транзакций. Если у вас нет настроенной системы резервного копирования, лог-файл может разрастись до размеров основного файла данных и занять все место на диске. Для тестовых баз или при наличии сторонних средств бэкапа на уровне файлов часто переключаются на модель Simple.

Также рекомендуется настроить параметры автоувеличения файлов. Вместо роста на фиксированный объем (например, 1 МБ), что приводит к частой фрагментации, лучше установить рост в процентах или большими фиксированными шагами. Это снижает нагрузку на подсистему ввода-вывода в часы пик.

💡

Оптимальная настройка автоувеличения файла данных: установите рост на 512 МБ или 10%, а для лога транзакций — на 100-200 МБ. Это предотвратит частые операции расширения файла во время активной работы пользователей.

Диагностика проблем подключения и производительности

Даже при правильной настройке могут возникать ошибки подключения или низкая скорость работы. Первым инструментом диагностики являются журналы событий Windows и журнал сервера 1С. Ошибки аутентификации обычно указывают на неверный пароль или отсутствие прав у доменного пользователя.

Для анализа медленных запросов внутри 1С можно использовать встроенные средства платформы или профайлер SQL. Часто проблема кроется в отсутствии статистики по таблицам или устаревших планах выполнения запросов. В таких случаях помогает команда обновления статистики.

  • 📉 Проверьте файл журнала srvinfo\reg_1541\process на сервере 1С.
  • 🔍 Используйте sp_who2 в SQL для просмотра активных сессий и блокировок.
  • ⚡ Выполните UPDATE STATISTICS для крупных таблиц при деградации производительности.

Если пользователи жалуются на то, что 1С "тупит" при запуске или проведении документов, проверьте нагрузку на дисковую подсистему SQL сервера. Высокая очередь дисков (Disk Queue Length) свидетельствует о том, что диски не справляются с потоком операций записи/чтения.

📊 С какой проблемой вы сталкивались чаще при развертывании 1С на SQL?
Ошибка прав доступа
Проблемы с сетевым подключением
Низкая скорость работы
Сложности с бэкапом

Часто задаваемые вопросы (FAQ)

Можно ли перенести файловую базу 1С на SQL без потери данных?

Да, это стандартная процедура. В конфигураторе файловой базы выберите меню "Администрирование" -> "Выгрузить информационную базу", сохраните файл .dt. Затем создайте пустую базу на SQL, подключите её в консоли администрирования 1С и при первом запуске в режиме 1С:Предприятие система предложит загрузить файл выгрузки.

Какую версию SQL Server лучше выбрать для 1С 8.3?

Рекомендуется использовать версии SQL Server 2016, 2017, 2019 или 2022. Версии старше 2012 года могут не поддерживать некоторые функции оптимизации и типы данных, используемые в новых релизах платформы 1С. Всегда сверяйтесь с таблицей совместимости на сайте поддержки 1С.

Нужно ли устанавливать клиентские инструменты SQL на сервер 1С?

Для работы службы 1С полноценный клиент не обязателен, однако для диагностики и выполнения скриптов напрямую с сервера приложений наличие утилит командной строки (sqlcmd) или легкой версии SSMS крайне желательно. Это упростит администрирование в аварийных ситуациях.

Что делать, если при подключении возникает ошибка "Сервер баз данных не найден"?

Проверьте правильность написания имени сервера и экземпляра в строке подключения. Убедитесь, что служба SQL Server запущена. Проверьте настройки протоколов в SQL Server Configuration Manager — должен быть включен протокол TCP/IP. Также убедитесь, что брандмауэр не блокирует порт 1433.