Администрирование · 11 мин
Как развернуть новую базу 1С на SQL-сервере
Пошаговое руководство по развёртыванию новой базы 1С на MS SQL Server: подготовка сервера, создание базы через консоль кластера, настройка прав и типичные ошибки.
Клиент-серверный режим работы 1С:Предприятия используют там, где файловая база уже не справляется: много пользователей, большие объёмы данных, требования к отказоустойчивости и регламентным операциям. В этой связке сервер 1С выступает посредником между клиентскими приложениями и СУБД, а физически данные хранятся в базе Microsoft SQL Server (реже — PostgreSQL, Oracle или IBM DB2). Ниже рассмотрен самый распространённый сценарий — развёртывание новой базы на связке «сервер 1С + MS SQL Server».
Процедура состоит из трёх этапов: подготовка SQL Server, создание информационной базы через консоль администрирования сервера 1С и загрузка конфигурации. Каждый этап имеет свои подводные камни: неверные параметры сортировки, недостаточные права учётной записи, неправильно выбранный режим восстановления. Ошибки на старте потом дорого исправлять, поэтому разберём каждый шаг детально.
Инструкция предполагает, что платформа 1С:Предприятие и сервер 1С уже установлены, а у вас есть административный доступ к обоим серверам. Если сервер 1С и SQL Server размещены на одной машине (допустимо для небольших внедрений), порядок действий тот же.
Проверьте готовность инфраструктуры перед созданием базы
До запуска консоли администрирования убедитесь, что все компоненты на месте и совместимы. Во-первых, версия платформы 1С должна поддерживать установленную версию SQL Server — актуальную матрицу совместимости смотрите в системных требованиях на портале 1С, так как поддержка новых версий СУБД добавляется в свежих релизах платформы. Во-вторых, служба агента сервера 1С должна быть запущена, а кластер серверов — зарегистрирован в консоли администрирования.
В-третьих, проверьте сетевую связность: сервер 1С должен видеть SQL Server по имени и порту (по умолчанию TCP 1433). Если SQL Server установлен как именованный экземпляр, имя указывается в формате СЕРВЕР\ЭКЗЕМПЛЯР, и служба SQL Server Browser должна работать, либо порт экземпляра задан явно. Ошибка «сервер баз данных не обнаружен» на этапе создания базы почти всегда означает проблему сети, брандмауэра или неверного имени экземпляра.
services.msc → «Агент сервера 1С:Предприятия» в состоянии «Выполняется»
Test-NetConnection sqlserver -Port 1433 с машины сервера 1С
Роль dbcreator или sysadmin на SQL Server
Место под данные и журнал транзакций на дисках SQL Server
Подготовьте SQL Server: collation, учётная запись, настройки
Ключевой параметр — collation (параметры сортировки). Для баз 1С на русском языке требуется collation Cyrillic_General_CI_AS. Его можно задать на уровне экземпляра при установке SQL Server или на уровне конкретной базы. Если collation экземпляра отличается, база всё равно создастся, но при создании через консоль 1С collation базы будет унаследован — проверьте его после создания командой SELECT DATABASEPROPERTYEX('ИмяБазы', 'Collation'). Неверный collation приводит к ошибкам сортировки и сравнения строк, а исправляется только пересозданием базы.
Отдельно подготовьте учётную запись, от имени которой сервер 1С будет обращаться к SQL Server. Правильная практика — выделенная учётная запись (доменная или SQL-логин) с правами на конкретную базу, а не sa. Для создания базы через консоль 1С учётной записи нужны права на создание БД (роль dbcreator); после создания для штатной работы достаточно db_owner на эту базу. Пароль SQL-логина с особыми символами иногда вызывает проблемы при передаче через мастер — это стоит учитывать при генерации пароля.
Также заранее решите вопрос модели восстановления. По умолчанию новая база наследует модель из системной базы model — обычно Full (полная). Для продуктивной базы это оправдано, но требует регулярного бэкапа журнала транзакций, иначе журнал будет расти бесконечно. Для тестовых баз удобнее Simple (простая) модель.
Создайте информационную базу через консоль администрирования
Основной способ создания базы — консоль администрирования серверов 1С (оснастка «Администрирование серверов 1С Предприятия»). Откройте консоль, разверните нужный кластер, щёлкните правой кнопкой по ветке «Информационные базы» и выберите «Создать» → «Информационная база».
В диалоге заполните поля: имя базы в кластере (отображается пользователям), тип СУБД — MS SQL Server, сервер баз данных (имя или имя\экземпляр), имя базы данных на SQL Server (латиницей, без пробелов — это физическое имя БД), пользователь и пароль для доступа к СУБД. Установите флаг «Создать базу данных в случае её отсутствия» — тогда консоль сама создаст пустую БД на SQL Server. Параметры «Блокировка регламентных заданий» и «Разрешить выдачу лицензий сервером» настройте по ситуации: для новой базы, в которую ещё идёт загрузка, регламентные задания лучше заблокировать.
- 1Откройте консоль администрирования серверов 1С и разверните нужный кластер
- 2Правой кнопкой по «Информационные базы» → «Создать» → «Информационная база»
- 3Заполните имя, тип СУБД (MS SQL Server), имя сервера и имя базы данных
- 4Укажите учётную запись SQL с правом создания БД и установите флаг «Создать базу данных в случае её отсутствия»
- 5Заблокируйте регламентные задания на время загрузки конфигурации
- 6Нажмите «ОК» и проверьте, что база появилась в списке кластера и в списке баз на SQL Server
Альтернативный путь — создание базы через диалог запуска 1С (кнопка «Добавить» → «Создание новой информационной базы» → «На сервере 1С:Предприятия»). Там же можно сразу выбрать шаблон конфигурации из установленных. Этот способ удобен, когда конфигурация ставится из дистрибутива, а не загружается из выгрузки.
Загрузите конфигурацию в новую базу
Созданная база пустая: в ней нет ни метаданных, ни данных. Наполнить её можно двумя способами. Первый — загрузка файла выгрузки .dt через конфигуратор: «Администрирование» → «Загрузить информационную базу». Так переносят существующую базу (например, из файлового варианта или с другого сервера) вместе с данными. Перед загрузкой убедитесь, что версия платформы, под которой делалась выгрузка, не новее установленной, иначе загрузка завершится ошибкой.
Второй способ — установка конфигурации из шаблона поставщика. Сначала устанавливается дистрибутив конфигурации (setup.exe из комплекта поставки), затем при создании базы через диалог запуска выбирается нужный шаблон. Этот вариант подходит для внедрения «с нуля». После первой загрузки войдите в конфигуратор и выполните обновление конфигурации базы данных (F7), если конфигуратор попросит, — без этого база не запустится в режиме предприятия.
После наполнения базы вернитесь в консоль администрирования и снимите блокировку регламентных заданий, если она была установлена. Проверьте запуск в пользовательском режиме под тестовой учётной записью до того, как сообщать адрес базы пользователям.
Настройте базу на стороне SQL Server
После создания базы откройте SQL Server Management Studio и проверьте её свойства. Убедитесь в правильном collation, выберите модель восстановления под вашу схему бэкапов, проверьте начальные размеры файлов и настройки авторасширения. Параметр авторасширения в процентах для больших баз нежелателен: лучше задать фиксированный прирост в мегабайтах, чтобы расширение файлов не тормозило работу в случайные моменты.
Обязательно создайте план обслуживания: резервное копирование полной базы (ежедневно), бэкап журнала транзакций при модели Full (несколько раз в день), обновление статистики и реорганизация индексов. Без регулярного обслуживания производительность базы 1С деградирует по мере роста данных, а журнал транзакций может переполнить диск.
Разделяйте файлы данных и журнала транзакций по разным физическим дискам, если позволяет оборудование: это заметно снижает конкуренцию за дисковые операции. Для tempdb на сервере с базами 1С желателен быстрый диск — 1С активно использует временные таблицы.
Проверьте результат и типичные ошибки
Критерии успешного развёртывания: база видна в консоли кластера, присутствует в списке баз на SQL Server, открывается в конфигураторе и в режиме 1С:Предприятие, пользователи могут подключиться через диалог запуска. Дополнительно выполните несколько типовых операций — проведение документа, формирование отчёта — чтобы убедиться в отсутствии ошибок доступа и блокировок.
Как проверить результат
Отображается в ветке «Информационные базы» без ошибок
База есть на SQL Server, но отсутствует в кластере — создание не завершено
Cyrillic_General_CI_AS
Другой collation — сортировка и поиск будут работать некорректно
База открывается, документы проводятся
Ошибки прав доступа SQL или «база данных не обнаружена»
Соответствует плану бэкапов (Full или Simple)
Full без бэкапов журнала — журнал растёт без ограничений
FAQ: частые вопросы о развёртывании базы 1С на SQL
Можно ли создать базу 1С на SQL без сервера 1С?
Нет. Клиент-серверный режим требует трёхзвенную архитектуру: клиент — сервер 1С — СУБД. Платформа не работает с SQL Server напрямую, минуя сервер 1С. Если сервер 1С не нужен, используйте файловый вариант базы.
Как перенести файловую базу на SQL Server?
Откройте файловую базу в конфигураторе, выполните «Администрирование» → «Выгрузить информационную базу» в файл .dt. Затем создайте пустую базу на SQL через консоль кластера и загрузите в неё полученный .dt. После проверки работы старую файловую базу переведите в режим «только чтение» или архивируйте.
Какие права нужны учётной записи SQL для постоянной работы базы?
Для штатной работы достаточно роли db_owner на конкретную базу данных. Права на создание баз (dbcreator) нужны только на момент развёртывания. Давать учётной записи 1С роль sysadmin на постоянной основе не следует — это избыточные права.
Сколько места выделять под новую базу?
Точный объём зависит от конфигурации и интенсивности работы. Ориентируйтесь на размер исходной базы (если это перенос) плюс запас на рост минимум на год и место под журнал транзакций и резервные копии. Следите за фактическим ростом первые месяцы и скорректируйте план.
Что делать, если при создании базы возникает ошибка «сервер баз данных не обнаружен»?
Проверьте по порядку: запущена ли служба SQL Server, правильно ли указано имя сервера или экземпляра, открыт ли порт 1433 в брандмауэре, работает ли SQL Server Browser для именованного экземпляра, включён ли протокол TCP/IP в конфигурации SQL Server. Чаще всего причина — брандмауэр или неверное имя экземпляра.
Можно ли разместить сервер 1С и SQL Server на одной машине?
Технически можно, и для небольших внедрений это рабочий вариант. Ограничение — конкуренция за оперативную память: обе службы прожорливы, поэтому для SQL Server задайте ограничение максимального объёма памяти, оставив ресурс серверу 1С и операционной системе. При росте нагрузки серверы разносят на разные машины.
Что важно запомнить
База 1С на SQL создаётся через консоль администрирования сервера 1С, а не вручную в SSMS. Ключевые условия успеха: правильный collation (Cyrillic_General_CI_AS), выделенная учётная запись с минимально необходимыми правами, осознанный выбор модели восстановления и настроенные бэкапы с первого дня. После загрузки конфигурации проверьте запуск в режиме Предприятия и снимите блокировку регламентных заданий.