Администрирование · 11 мин
Как развернуть базу 1С на сервере SQL
Подробная инструкция по развертыванию базы 1С на SQL Server: подготовка СУБД, создание базы через консоль кластера, загрузка данных и типичные ошибки администраторов.
Клиент-серверный вариант работы 1С на базе Microsoft SQL Server — стандартное решение для организаций, где с программой одновременно работают десятки пользователей, а объём данных исчисляется гигабайтами. По сравнению с файловым режимом SQL-вариант даёт устойчивость к сбоям, разграничение доступа на уровне СУБД и возможность штатного резервного копирования без остановки работы.
Развёртывание базы 1С на SQL Server состоит из нескольких этапов: подготовки сервера СУБД, установки сервера 1С:Предприятие, регистрации информационной базы в кластере и загрузки данных. Каждый этап имеет свои требования и типичные ошибки, из-за которых база либо не создаётся, либо работает медленно.
Материал ориентирован на администраторов, которые выполняют переход с файловой базы или создают новую клиент-серверную базу с нуля. Описанные действия применимы к типовым конфигурациям на платформе 8.3 с Microsoft SQL Server; для PostgreSQL логика похожа, но настройки СУБД отличаются.
Что понадобится перед началом работы
Для развёртывания потребуются три компонента: установленный экземпляр Microsoft SQL Server, дистрибутив сервера 1С:Предприятие той же версии платформы, что и клиентские приложения, и дистрибутив конфигурации либо файл выгрузки .dt с данными. Все компоненты могут располагаться как на одном физическом сервере, так и на разных машинах — второй вариант предпочтителен при большой нагрузке.
По лицензированию: для работы сервера 1С требуется лицензия на сервер, а для пользователей — клиентские лицензии. SQL Server также лицензируется отдельно; для небольших баз допустимо использование бесплатной редакции Express, но у неё есть ограничения на размер базы и объём используемой памяти, которые быстро становятся узким местом.
Версии сервера 1С и клиентских приложений должны совпадать вплоть до номера сборки
Проверьте, что учётная запись имеет роль sysadmin или dbcreator на экземпляре SQL Server
База на SQL занимает заметно больше места, чем файл 1Cv8.1CD, плюс журнал транзакций
Между сервером 1С и SQL Server должны быть открыты порты, по умолчанию 1433 для SQL
Установка и подготовка SQL Server
Установите SQL Server с типовым набором компонентов: Database Engine и средства управления (SQL Server Management Studio). При установке выберите смешанный режим аутентификации (Mixed Mode), если планируете подключаться под учётной записью SQL, либо оставьте проверку подлинности Windows — оба варианта поддерживаются платформой 1С.
После установки выполните базовую подготовку экземпляра. Убедитесь, что служба SQL Server запущена и доступна по сети: проверьте в диспетчере конфигурации SQL Server, что протокол TCP/IP включён. Ограничьте максимальный объём памяти, который может занять SQL Server, чтобы он не отбирал ресурсы у операционной системы и сервера 1С, если они размещены на одной машине.
Отдельное внимание уделите сортировке (collation) экземпляра. Для баз 1С на русском языке традиционно используется Cyrillic_General_CI_AS. Если экземпляр установлен с другой сортировкой по умолчанию, её можно задать на уровне конкретной базы данных при создании — платформа 1С сделает это автоматически, но лучше проверить результат.
Установка сервера 1С:Предприятие
Запустите установку из дистрибутива платформы и выберите компонент «Сервер 1С:Предприятие». Если сервер 1С и SQL Server находятся на разных машинах, на сервере СУБД устанавливать компоненты 1С не нужно — взаимодействие идёт по сети. При выборе разрядности ориентируйтесь на объём оперативной памяти: 64-разрядный сервер 1С снимает ограничения на память рабочих процессов и рекомендуется для любой нагруженной системы.
В ходе установки укажите учётную запись, под которой будет работать служба агента сервера. По умолчанию создаётся локальная учётная запись USR1CV8. Она должна иметь права на каталог служебных файлов кластера, а при использовании Windows-аутентификации к SQL Server — соответствующие права на экземпляре СУБД.
После установки проверьте, что служба «Агент сервера 1С:Предприятие» запущена, и откройте консоль администрирования серверов 1С. Зарегистрируйте в ней локальный кластер — он появится автоматически при первом подключении к агенту.
- 1Установите и настройте SQL Server, проверьте доступность экземпляра
- 2Установите сервер 1С:Предприятие той же версии платформы, что и у клиентов
- 3Убедитесь, что служба агента сервера запущена
- 4Откройте консоль кластера и зарегистрируйте сервер
- 5Проверьте, что в кластере доступен рабочий процесс
Создание информационной базы через консоль кластера
Основной способ создания базы — консоль администрирования серверов 1С. В дереве консоли раскройте кластер, перейдите в раздел «Информационные базы» и выберите создание новой базы. В появившемся окне заполните параметры подключения к СУБД.
Ключевые поля: имя информационной базы в кластере (отображается пользователям в списке баз), сервер СУБД (имя или адрес экземпляра SQL Server), тип СУБД — MS SQL Server, имя базы данных на SQL Server и учётные данные пользователя СУБД с правами на создание базы. Флажок «Создать базу данных в случае её отсутствия» укажет платформе автоматически создать базу на SQL Server при регистрации.
Альтернативный путь — создание базы через диалог добавления информационной базы в стартовом окне 1С на клиенте: выберите «Создание новой информационной базы», затем вариант «на сервере 1С:Предприятие» и заполните те же параметры. Этот способ удобнее, когда администратор работает с клиентской машины без доступа к консоли кластера.
Загрузка данных и первый запуск
Новая база на SQL Server изначально пустая. Если вы разворачиваете конфигурацию с нуля, зайдите в конфигуратор и выполните загрузку конфигурации из файла .cf или создайте базу из шаблона дистрибутива. Если переносите существующую файловую базу, предварительно выгрузите её в файл .dt через конфигуратор («Администрирование» → «Выгрузить информационную базу»), затем загрузите этот файл в новую серверную базу.
При загрузке больших выгрузок процесс может занять значительное время и потребовать свободного места под журнал транзакций SQL Server. Если журнал разрастается слишком сильно, временно переключите модель восстановления базы на «Простую» (Simple) на период загрузки, а после завершения верните «Полную» (Full), если требуется резервное копирование журнала.
После загрузки обновите конфигурацию базы данных, если платформа потребует, и выполните тестовый вход под пользователем с полными правами. Проверьте, что справочники и документы на месте, а отчёты формируются без ошибок.
Как проверить результат развёртывания
База данных присутствует в списке, статус «В сети»
Базы нет или она в состоянии восстановления
База открывается, пользователи авторизуются
Ошибка соединения с сервером или СУБД
Количество документов и записей совпадает с исходной базой
Пустые справочники или отсутствующие периоды
Несколько пользователей работают без взаимных блокировок
Массовые конфликты блокировок при простых операциях
Настройка базы данных на стороне SQL Server
После создания базы выполните минимальную настройку на стороне СУБД. Задайте начальный размер файлов данных и журнала с запасом и настройте прирост в мегабайтах, а не в процентах — процентный прирост на больших базах приводит к частым и тяжёлым операциям расширения файлов. Разнесите файл данных и журнал транзакций на разные диски, если позволяет оборудование.
Настройте регламентное обслуживание: резервное копирование, обновление статистики и реиндексацию. Платформа 1С частично выполняет эти задачи через регламентные задания, но штатные планы обслуживания SQL Server дают более предсказуемый результат. Резервные копии делайте средствами SQL Server — это надёжнее выгрузок .dt и занимает меньше времени.
Перед переводом базы в эксплуатацию полезно выполнить полное резервное копирование средствами SQL Server сразу после загрузки данных. Если на этапе настройки что-то пойдёт не так, вы сможете вернуться к чистому рабочему состоянию за минуты, а не повторять многочасовую загрузку выгрузки.
Типичные проблемы и способы их решения
Самая частая проблема на старте — ошибка соединения с сервером 1С или SQL Server. Проверяйте по цепочке: доступность агента сервера 1С по сети, доступность экземпляра SQL Server, правильность имени экземпляра (для именованных экземпляров указывается формат «СЕРВЕР\ЭКЗЕМПЛЯР»), настройки брандмауэра на обоих серверах.
Вторая группа проблем — ошибки прав доступа. Если платформа сообщает об отказе в доступе при создании базы, проверьте, какая учётная запись указана в параметрах базы и какие роли ей назначены на экземпляре SQL Server. Для Windows-аутентификации убедитесь, что учётная запись службы агента сервера 1С имеет вход на SQL Server.
Третья группа — проблемы производительности сразу после развёртывания. Если база работает медленнее, чем ожидалось, проверьте объём памяти, выделенный SQL Server, расположение файлов базы и отсутствие антивирусного сканирования каталогов с файлами данных — антивирус на файлах .mdf и .ldf способен замедлить систему в разы.
Что важно запомнить
Развёртывание базы 1С на SQL Server сводится к четырём шагам: подготовка СУБД, установка сервера 1С, регистрация базы в кластере и загрузка данных. Критичны совместимость версий платформы, права учётных записей и грамотная настройка файлов базы данных. Резервная копия до начала любых изменений — обязательное условие безопасной работы.
Частые вопросы
Можно ли развернуть базу 1С на бесплатном SQL Server Express?
Да, платформа работает с редакцией Express. Однако у неё есть ограничения на размер базы данных и объём используемой памяти, поэтому вариант подходит только для небольших баз с ограниченным числом пользователей. При росте базы потребуется миграция на платную редакцию.
Обязательно ли устанавливать сервер 1С и SQL Server на разные машины?
Нет, для небольших нагрузок допустимо размещение на одном сервере. В этом случае важно ограничить память SQL Server, чтобы остались ресурсы для рабочих процессов 1С. При росте числа пользователей и объёма данных разнесение на разные серверы даёт заметный выигрыш в производительности.
Чем загрузка .dt отличается от восстановления резервной копии SQL?
Выгрузка .dt — платформенный механизм переноса базы между любыми СУБД и режимами работы, но он медленный и не сохраняет настройки на уровне SQL. Резервная копия SQL Server восстанавливается быстрее, но привязана к MS SQL Server и требует, чтобы база была корректно зарегистрирована в кластере 1С после восстановления.
Какую сортировку выбрать для базы 1С на SQL Server?
Для русскоязычных баз стандартно применяется Cyrillic_General_CI_AS. Платформа задаёт сортировку при автоматическом создании базы, но если база создаётся вручную средствами SQL Server, параметр нужно указать явно — несовпадение сортировок приводит к ошибкам сравнения строк.
Почему после создания базы пользователи не могут подключиться?
Наиболее вероятные причины: не запущена служба агента сервера 1С, закрыты сетевые порты между клиентом и сервером, неверно указано имя сервера в списке баз у пользователя либо версия платформы на клиенте не совпадает с версией сервера. Проверяйте эти пункты последовательно, начиная с доступности сервера по сети.