Переход с файлового варианта работы на клиент-серверный является одним из ключевых этапов масштабирования автоматизации предприятия. Когда количество пользователей превышает 5-10 человек или объемы данных становятся критическими, производительность файловой базы начинает падать. В этот момент администраторы сталкиваются с необходимостью развертывания полноценной архитектуры клиент-сервер.
Использование системы управления базами данных (СУБД) позволяет распределить нагрузку, повысить отказоустойчивость и обеспечить целостность информации. Однако сам процесс миграции или создания новой базы «с нуля» на стороне СУБД часто вызывает вопросы у начинающих специалистов. Важно понимать, что создание базы данных происходит в два этапа: сначала объект создается на уровне сервера баз данных, а затем регистрируется в кластере серверов 1С:Предприятие.
Подготовка сервера баз данных и создание пустой БД
Первым шагом является работа непосредственно с сервером баз данных, будь то Microsoft SQL Server или PostgreSQL. На этом этапе вам необходимо создать пустую оболочку базы данных, в которой впоследствии будут размещены таблицы и объекты платформы. Для этого требуется авторизация под учетной записью с правами системного администратора СУБД, например, пользователем sa для MS SQL.
Процесс создания можно выполнить через графический интерфейс Management Studio или с помощью SQL-скрипта. При использовании скрипта вы получаете полный контроль над параметрами размещения файлов данных и журналов транзакций. Это особенно важно для производительности, так как файлы MDF и LDF рекомендуется размещать на разных физических дисках для разделения потоков ввода-вывода.
CREATE DATABASE [MyBase1C]
ON PRIMARY
(NAME = N'MyBase1C_Data', FILENAME = N'D:\SQLData\MyBase1C_Data.mdf' , SIZE = 8192KB , FILEGROWTH = 1024KB )
LOG ON
(NAME = N'MyBase1C_Log', FILENAME = N'L:\SQLLog\MyBase1C_Log.ldf' , SIZE = 2048KB , FILEGROWTH = 10% )
После выполнения команды база появится в списке объектов сервера. Обратите внимание, что на этом этапе она еще не содержит таблиц конфигурации 1С и не видна для пользователей платформы. Это просто пустой контейнер в системе управления базами данных.
При создании базы в MS SQL Server сразу установите совместимость (Compatibility Level) на максимальную доступную версию вашей СУБД, чтобы использовать все оптимизации движка.
Настройка кластера серверов 1С:Предприятие
Следующий этап происходит уже в среде платформы 1С:Предприятие. Вам потребуется запустить утилиту администрирования серверов, которая обычно находится в меню «Пуск» в папке программ 1С. Эта консоль позволяет управлять центральным сервером и регистрировать новые информационные базы в кластере.
После подключения к центральному серверу (по умолчанию порт 1541) необходимо перейти к ветке «Информационные базы». Именно здесь происходит связка физического хранилища данных с логическим представлением в системе 1С. Процесс регистрации требует указания типа СУБД и строки соединения.
- 🖥️ Выберите пункт «Добавить» в контекстном меню папки информационных баз.
- 📝 Введите имя базы, которое будут видеть пользователи при запуске.
- ⚙️ Укажите тип СУБД (MS SQL Server, PostgreSQL или др.) в выпадающем списке.
- 🔗 Введите имя сервера баз данных и имя созданной ранее пустой базы.
Важно корректно указать имя сервера баз данных. Если сервер sql и сервер 1С находятся на одной машине, можно использовать имя localhost или точку. Если это разные физические узлы, обязательно укажите сетевое имя или IP-адрес сервера СУБД.
☑️ Параметры подключения к кластеру
Регистрация пользователя базы данных и права доступа
Одной из самых частых ошибок при создании базы является неправильная настройка прав доступа пользователя СУБД к созданной базе данных. Платформа 1С требует, чтобы пользователь, от имени которого она подключается к SQL, обладал определенными правами внутри конкретной базы, а не только на уровне сервера.
Для работы платформы необходимо создать логин на сервере и сопоставить его с пользователем внутри созданной базы данных. Пользователь должен иметь права владельца базы (db_owner) или, как минимум, права на создание схем и таблиц. Без этих прав при первом запуске в режиме Предприятие вы получите ошибку инициализации.
⚠️ Внимание: Никогда не используйте учетную запись системного администратора (например,
sa) в настройках подключения 1С в рабочей среде. Это нарушает принципы безопасности и усложняет аудит действий.
Создать пользователя можно через графический интерфейс SSMS в разделе Security -> Logins. После создания логина необходимо зайти в свойства созданной базы данных, перейти в раздел Users и добавить нового пользователя, связав его с логином. В списке ролей обязательно отметьте галочкой роль db_owner.
Проблемы с кодировкой в PostgreSQL
Если вы используете PostgreSQL, убедитесь, что база данных создана с кодировкой UTF8 и локалью, совместимой с настройками сервера 1С, иначе возможны ошибки при создании объектов метаданных.
Инициализация базы данных в режиме Конфигуратор
После того как база зарегистрирована в кластере и права пользователя настроены, необходимо выполнить первичную инициализацию. Для этого запустите платформу 1С в режиме Конфигуратор, выбрав созданную базу из списка. При первом подключении система обнаружит, что база данных пуста, и предложит ее создать или обновить.
В открывшемся окне вам будет предложено выбрать конфигурацию. Вы можете создать новую пустую базу или загрузить файл выгрузки (.dt), если происходит миграция из файлового варианта. Процесс загрузки может занять значительное время в зависимости от размера конфигурации и скорости дисковой подсистемы сервера.
| Этап | Действие | Результат |
|---|---|---|
| 1 | Подключение к пустой БД | Проверка прав доступа |
| 2 | Загрузка конфигурации | Создание таблиц метаданных |
| 3 | Регламентные процедуры | Настройка триггеров и индексов |
| 4 | Завершение | База готова к работе |
В ходе инициализации платформа создает служебные таблицы, необходимые для хранения метаданных, регистров сведений и документов. Также создаются специфические объекты СУБД, такие как хранимые процедуры и триггеры, которые оптимизируют работу запросов.
Первый запуск в режиме Конфигуратор является критическим этапом, так как именно в этот момент формируется физическая структура таблиц в СУБД согласно метаданным конфигурации.
Настройка параметров соединения и производительности
После успешного создания базы рекомендуется проверить и настроить параметры соединения для обеспечения стабильной работы. В свойствах информационной базы в кластере серверов можно задать дополнительные параметры, влияющие на поведение клиентов при подключении.
Особое внимание стоит уделить настройкам безопасности. В параметрах подключения можно указать, требуется ли использование защищенного соединения. Также здесь задается режим аутентификации: будет ли использоваться аутентификация 1С или аутентификация операционной системы/СУБД.
- 🔐 Выберите режим аутентификации: «1С:Предприятие» или «ОС/SQL».
- 🚀 При использовании SQL аутентификации укажите логин и пароль пользователя БД.
- ⏱️ Настройте таймауты соединения для предотвращения зависаний при сетевых сбоях.
Для повышения производительности в свойствах базы данных на уровне СУБД рекомендуется отключить автообновление статистики, если это предусмотрено рекомендациями для вашей версии платформы, и настроить параметры роста файлов, чтобы избежать фрагментации.
⚠️ Внимание: Интерфейсы управления кластером серверов и настройки СУБД могут отличаться в зависимости от версии платформы 1С и релиза SQL Server. Всегда сверяйтесь с официальным руководством администратора для вашей конкретной версии ПО.
Для ускорения работы с большими базами данных включите опцию «Разрешить чтение незарегистрированным пользователям» только если это действительно требуется для внешних сервисов, в остальных случаях оставьте отключенной.
Проверка работоспособности и устранение ошибок
Финальным этапом является проверка работоспособности созданной системы. Необходимо выполнить пробный запуск в режиме Предприятие под пользователем с правами администратора. Если запуск прошел успешно и открылось главное окно программы, значит, база создана корректно.
Однако могут возникнуть ситуации, когда при запуске появляются ошибки. Наиболее распространенной является ошибка соединения с сервером баз данных. Она часто связана с тем, что служба SQL Server не запущена, или брандмауэр блокирует порт 1433 (для MS SQL).
Также следует проверить журналы регистрации событий Windows и журналы сервера 1С. Там могут содержаться подробные описания причин неудачи, например, нарушение прав доступа или несовместимость версий платформы и драйверов СУБД.
Какой порт используется по умолчанию для подключения к серверу 1С?
По умолчанию центральный сервер 1С:Предприятие использует порт 1541 для взаимодействия с клиентами и агентами. Порт может быть изменен в настройках службы.
Можно ли изменить имя базы данных в SQL после создания?
Технически переименовать базу в SQL можно, но в кластере 1С останется старое имя. Это приведет к ошибке подключения. Правильный путь — перерегистрировать базу в кластере с новым именем.
Нужно ли создавать базу в SQL вручную перед регистрацией в 1С?
Да, это обязательный шаг. Консоль администрирования 1С только регистрирует ссылку на существующую базу данных, но не создает физический контейнер в СУБД за вас.
Что делать, если ошибка "Сервер баз данных недоступен"?
Проверьте службу SQL Server, убедитесь, что разрешены удаленные подключения в настройках СУБД, и проверьте настройки брандмауэра на наличие правил для порта 1433.
Какая версия SQL Server лучше для 1С 8.3?
Рекомендуется использовать версии, входящие в список поддерживаемых платформой 1С. На текущий момент оптимальным выбором являются MS SQL Server 2016 и выше или PostgreSQL 9.6 и выше.
⚠️ Внимание: Если вы планируете использовать резервное копирование средствами СУБД, убедитесь, что служба агента сервера 1С не блокирует файлы базы данных в момент снятия снапшота, хотя при работе через SQL это происходит прозрачно.
Создание базы на сервере SQL — это фундамент для стабильной работы всей информационной системы предприятия. Правильное выполнение каждого этапа, от создания файлов данных до настройки прав доступа, гарантирует отсутствие проблем с производительностью и целостностью данных в будущем.