К статье
Практический материал

Администрирование · 11 мин

Как развернуть базу 1С на SQL Server

Развёртывание базы 1С на MS SQL Server: установка СУБД, создание базы через консоль кластера, настройка прав, типовые ошибки и проверка результата.

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

Развёртывание базы 1С на SQL включает четыре крупных этапа: установку и подготовку SQL Server, установку сервера 1С:Предприятия, создание информационной базы в консоли кластера и загрузку данных из файловой копии. Каждый этап имеет свои тонкости — от выбора параметров сортировки до настройки прав учётной записи службы.

Ниже описан полный цикл работ с акцентом на типовые ошибки и проверку результата. Инструкция ориентирована на связку MS SQL Server и сервер 1С:Предприятия 8.3 под Windows — наиболее распространённую комбинацию; в конце приведены особенности альтернативных СУБД.

Что потребуется перед началом работы

Для клиент-серверного развёртывания нужны три компонента: дистрибутив MS SQL Server (подойдёт и бесплатная редакция Express для небольших баз, но у неё есть ограничения по объёму и ресурсам), дистрибутив сервера 1С:Предприятия соответствующей версии платформы и лицензии — на сервер 1С и клиентские подключения. Разрядность сервера 1С и SQL Server должна совпадать: для 64-разрядного SQL Server ставьте 64-разрядный сервер 1С.

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

Также заранее подготовьте выгрузку существующей файловой базы в формате .dt через конфигуратор («Администрирование» → «Выгрузить информационную базу») и убедитесь, что у вас есть права локального администратора на сервере и возможность создавать учётные записи.

Установка и настройка MS SQL Server

Установите SQL Server с компонентами Database Engine и Management Studio (SSMS) — последняя распространяется отдельно и нужна для администрирования. При установке выберите смешанный режим проверки подлинности (Windows и SQL Server), иначе придётся включать его позже. Режим проверки подлинности влияет на то, как сервер 1С будет подключаться к СУБД.

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

После установки создайте отдельную учётную запись SQL, под которой сервер 1С будет обращаться к базе. Не используйте учётную запись sa в продуктивной среде: это общепризнанная плохая практика с точки зрения безопасности. Достаточно выдать учётной записи роль владельца (db_owner) на конкретную базу данных — права на весь сервер ей не нужны.

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

Запустите установку из дистрибутива платформы и выберите компонент «Сервер 1С:Предприятия». Вместе с ним установите «Администрирование сервера 1С:Предприятия» — консоль кластера, без которой создание базы на SQL невозможно. Если SQL Server и сервер 1С стоят на одной машине, дополнительная сетевая настройка обычно не требуется.

При установке укажите учётную запись, под которой будет работать агент сервера 1С. Можно использовать встроенную запись USR1CV8, создаваемую установщиком, либо доменную учётную запись — второй вариант удобнее, если базы расположены на другом сервере и нужна проверка подлинности Windows. Учётной записи агента нужны права на каталоги служебных файлов кластера.

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

Создание информационной базы на SQL

В консоли кластера откройте ветку «Информационные базы» и выберите «Создать» → «Информационная база». Заполните параметры: имя базы в кластере, тип СУБД (MS SQL Server), имя сервера баз данных и имя создаваемой базы. В полях пользователя и пароля укажите учётную запись SQL, созданную на предыдущем этапе.

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

Порядок действий
  1. 1
    Установите MS SQL Server с collation Cyrillic_General_CI_AS и смешанной проверкой подлинности
  2. 2
    Создайте учётную запись SQL для подключения сервера 1С
  3. 3
    Установите сервер 1С:Предприятия и консоль администрирования
  4. 4
    В консоли кластера создайте информационную базу с флагом создания базы на СУБД
  5. 5
    Откройте базу конфигуратором и загрузите данные из выгрузки .dt
  6. 6
    Проверьте работу, настройте регламентные задания и резервное копирование SQL

Альтернативный путь — создание базы через диалог добавления информационной базы в стартовом окне 1С на клиенте: там тоже можно выбрать «На сервере 1С:Предприятия» и указать параметры. Результат идентичен, но консоль кластера даёт больше контроля над параметрами и позволяет сразу увидеть ошибки подключения.

Загрузка данных и первичная проверка

Новая база на SQL создаётся пустой. Запустите конфигуратор, откройте созданную базу и выполните «Администрирование» → «Загрузить информационную базу», указав файл .dt, выгруженный из файловой копии. Для больших баз загрузка может занять значительное время — не прерывайте процесс и не выключайте сервер до его завершения.

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

Контрольные точки

Как проверить результат

База в SSMS
Норма

База видна в списке баз данных SQL Server, размер растёт после загрузки

Тревожный признак

База отсутствует или в состоянии Restoring/Suspect

Подключение пользователей
Норма

Клиенты подключаются, документы проводятся без ошибок блокировок

Тревожный признак

Ошибки соединения с СУБД или массовые конфликты блокировок

Регламентные задания
Норма

Задания выполняются по расписанию, записи в журнале регистрации без ошибок

Тревожный признак

Задания не стартуют или завершаются с ошибкой

Резервное копирование SQL
Норма

Задание бэкапа отрабатывает, файл копии создаётся

Тревожный признак

Копия не создаётся или создаётся нулевого размера

Обслуживание базы на SQL Server

Работа базы на SQL требует регулярного обслуживания, которого файловый режим не предполагал. Минимальный набор: плановое резервное копирование средствами SQL Server (полная копия ежедневно, копии журнала транзакций чаще — при полной модели восстановления), перестроение индексов и обновление статистики. Без обновления статистики оптимизатор запросов со временем начинает выбирать неэффективные планы, и база «тормозит» без видимой причины.

Обратите внимание на модель восстановления базы. Полная модель (Full) позволяет восстановить данные на любой момент времени, но журнал транзакций растёт и требует регулярного обрезания через резервное копирование журнала. Простая модель (Simple) проще в обслуживании, но восстановление возможно только на момент последней копии. Для большинства баз 1С среднего размера простая модель — разумный компромисс, если ежедневные копии устраивают по полноте.

Типичные ошибки
01
Ограничение памяти SQL Server не задано — СУБД занимает всю память, серверу 1С не хватает ресурсов
02
Использование sa для подключения — риск безопасности и сложность аудита
03
Отсутствие обновления статистики и обслуживания индексов — деградация производительности через несколько месяцев
04
Полная модель восстановления без бэкапов журнала — журнал транзакций заполняет диск и база останавливается
05
Расположение данных и журнала на одном диске — рост взаимных задержек при нагрузке

Альтернативные СУБД и ограничения

Помимо MS SQL Server, платформа 1С поддерживает PostgreSQL (в том числе сборки, адаптированные под 1С), IBM DB2 и Oracle Database. PostgreSQL — популярная бесплатная альтернатива: для него фирма «1С» публикует собственные сборки с необходимыми патчами. Общая логика развёртывания та же — установка СУБД, создание базы через консоль кластера с выбором соответствующего типа СУБД, загрузка .dt.

Различия кроются в деталях: для PostgreSQL критична правильная настройка параметров памяти и соединений в конфигурации сервера, а некоторые запросы конфигураций могут выполняться с иной производительностью, чем на MS SQL. Перед переводом продуктивной базы на альтернативную СУБД протестируйте типовые операции на копии.

Сравнение вариантов

MS SQL Server

Штатный и наиболее распространённый вариант, хорошо документирован для 1С; требует лицензий при выходе за рамки Express

PostgreSQL (сборка 1С)

Бесплатная СУБД с поддержкой платформы; требует более тонкой ручной настройки и тестирования конфигурации

Файловый режим

Подходит для малых баз без активной конкурентной работы; не требует СУБД, но ограничен по масштабу и надёжности

Итог

Что важно запомнить

Развёртывание базы 1С на SQL сводится к установке SQL Server с правильным collation, созданию базы через консоль кластера и загрузке выгрузки .dt. Критичны: отдельная учётная запись SQL, ограничение памяти СУБД, регулярное резервное копирование и обслуживание индексов со статистикой.

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

Можно ли развернуть базу 1С на SQL Server Express?

Да, Express-редакция поддерживается и подходит для небольших баз. Учитывайте её ограничения по максимальному размеру базы и используемым ресурсам — при росте базы потребуется переход на платную редакцию. Перенос между редакциями выполняется штатным резервным копированием и восстановлением.

Обязательно ли ставить сервер 1С и SQL Server на одну машину?

Нет, их можно разместить на разных серверах — это даже предпочтительнее при высокой нагрузке, так как каждый компонент получает свои ресурсы. В этом случае убедитесь в стабильной и быстрой сети между серверами и настройте права учётных записей для сетевого доступа.

Почему при создании базы возникает ошибка доступа к SQL Server?

Чаще всего причины три: не включён смешанный режим проверки подлинности, у указанной учётной записи нет прав на создание базы, либо служба SQL Server Browser или сетевые протоколы отключены. Проверьте подключение к серверу через Management Studio под той же учётной записью — это локализует проблему.

Чем загрузка .dt отличается от восстановления бэкапа SQL?

Файл .dt — выгрузка на уровне платформы 1С, независимая от СУБД: её можно загрузить в базу на любой поддерживаемой СУБД. Резервная копия SQL привязана к конкретной СУБД и восстанавливается её средствами. Для миграции с файлового режима подходит только .dt, для регулярных копий на SQL — штатные бэкапы СУБД.

Нужно ли что-то менять в настройках клиентов после перехода на SQL?

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

Как понять, что базе уже тесен файловый режим?

Характерные признаки: частые ошибки блокировок при одновременной работе, замедление проведения документов и отчётов при росте объёма, повреждения файла базы при сбоях, невозможность выполнять регламентные операции без выгона пользователей. Любой из этих признаков при активной работе нескольких пользователей — повод планировать переход на клиент-серверный вариант.