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

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

Как настроить 1С на SQL Server: полное руководство

Настройка 1С на MS SQL Server: установка, создание базы, параметры совместимости, права, обслуживание и типичные ошибки. Практическая инструкция для администраторов.

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

Настройка связки «1С + SQL Server» состоит из нескольких этапов: установка самого SQL Server, установка сервера 1С:Предприятия, создание информационной базы через консоль кластера и последующая оптимизация параметров СУБД. Каждый этап имеет свои подводные камни — от неправильной сортировки (collation) до отсутствия регламентных заданий обслуживания.

Материал ориентирован на администраторов, которые разворачивают связку с нуля или переносят файловую базу на сервер. Все действия описаны для связки 1С:Предприятие 8.3 и MS SQL Server; для PostgreSQL и других СУБД шаги отличаются, хотя общая логика сохраняется.

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

Перед развёртыванием проверьте, что у вас есть дистрибутивы обоих продуктов совместимых версий. Платформа 1С:Предприятие 8.3 работает с поддерживаемыми версиями MS SQL Server; конкретный перечень совместимых версий указан в системных требованиях на портале 1С. Использование слишком старой или, наоборот, ещё не поддержанной версии SQL Server — частая причина неочевидных ошибок.

Определите разрядность: сервер 1С и SQL Server должны быть одинаковой разрядности (рекомендуется x64). Также подготовьте учётную запись, от имени которой будет работать служба сервера 1С — по умолчанию это USR1CV8, создаваемая установщиком. Ей потребуются права на SQL Server.

Оцените аппаратные ресурсы. SQL Server чувствителен к объёму оперативной памяти и скорости дисковой подсистемы: базы данных и журналы транзакций желательно размещать на быстрых дисках, а для рабочих нагрузок — на SSD. Недостаток RAM проявляется как постоянные обращения к диску и общая медлительность отчётов.

Установка и первичная настройка MS SQL Server

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

После установки откройте SQL Server Management Studio (SSMS) и выполните базовую настройку. В свойствах сервера на вкладке «Memory» ограничьте максимальный объём памяти, который может занимать SQL Server, — оставьте операционной системе и серверу 1С (если он на той же машине) достаточный резерв. На выделенном SQL-сервере обычно оставляют несколько гигабайт под ОС.

Проверьте, что включён нужный протокол доступа: в SQL Server Configuration Manager должен быть активен TCP/IP, если сервер 1С стоит на другой машине. Перезапустите службу SQL Server после изменения сетевых настроек.

Порядок установки SQL Server под 1С
  1. 1
    Запустите установщик SQL Server и выберите сортировку Cyrillic_General_CI_AS
  2. 2
    Добавьте учётную запись администратора 1С в роль sysadmin или выдайте права на создание баз
  3. 3
    Включите протокол TCP/IP в SQL Server Configuration Manager
  4. 4
    Ограничьте максимальный объём памяти SQL Server в свойствах сервера
  5. 5
    Перезапустите службу и проверьте подключение через SSMS

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

Запустите установщик платформы и выберите компоненты «Сервер 1С:Предприятия» и «Администрирование сервера 1С:Предприятия». Если сервер 1С и SQL Server размещены на разных машинах, убедитесь, что между ними открыты порты кластера 1С (по умолчанию диапазон 1540–1591, основной — 1541 для агента и 1545 для менеджера кластера) и порт SQL Server (по умолчанию 1433).

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

Учётная запись службы агента сервера 1С (USR1CV8 или доменная учётка) должна иметь права на SQL Server: для создания баз из консоли 1С ей нужны права dbcreator, а для работы существующих баз — db_owner на соответствующие базы данных. Альтернатива — указать при создании базы отдельного пользователя SQL с нужными правами.

Создание информационной базы через консоль кластера

Ключевое правило: базу для 1С создают через консоль кластера серверов 1С или через стартовое окно запуска 1С, а не вручную в SSMS. При создании через 1С платформа сама формирует структуру базы, таблицы и параметры, соответствующие её требованиям. База, созданная вручную в SQL Server, не будет видна и работоспособна без регистрации в кластере.

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

Если вы переносите файловую базу, порядок такой: выгрузите файловую базу в файл .dt через конфигуратор, создайте пустую серверную базу в кластере и загрузите в неё данные через «Загрузить информационную базу». Прямого «преобразования» файловой базы в SQL-формат не существует — только выгрузка и загрузка.

Настройка параметров базы данных на стороне SQL Server

После создания базы проверьте её свойства в SSMS. Для рабочих баз 1С обычно рекомендуется модель восстановления Simple (простая) — при ней журнал транзакций не разрастается бесконечно. Модель Full имеет смысл только если вы настроили регулярное резервное копирование журналов; без этого файл журнала со временем заполнит весь диск и остановит работу базы.

Проверьте параметр уровня совместимости (compatibility level) базы — он должен соответствовать версии SQL Server. После обновления SQL Server базы иногда остаются на старом уровне совместимости, что ограничивает оптимизатор запросов.

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

sql
ALTER DATABASE [MyBase1C] SET RECOVERY SIMPLE; ALTER DATABASE [MyBase1C] MODIFY FILE (NAME = N'MyBase1C', FILEGROWTH = 512MB);

Регламентное обслуживание и мониторинг

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

Обслуживание можно реализовать через Maintenance Plans в SSMS или скриптами T-SQL в заданиях SQL Server Agent. Учтите, что в бесплатной редакции SQL Server Express агент отсутствует — там задания запускают через планировщик Windows и sqlcmd.

Резервное копирование настройте средствами SQL Server (FULL-бэкапы по расписанию) и не полагайтесь только на выгрузку .dt: выгрузка не заменяет бэкап СУБД, так как при больших объёмах она медленна и не даёт точки восстановления на произвольный момент. Периодически проверяйте восстановление копий на тестовом сервере — бэкап, который не проверяли, нельзя считать рабочим.

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

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

Создание и запуск базы
Норма

База создаётся из консоли 1С, конфигуратор и клиенты подключаются без ошибок

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

Ошибки про сортировку, права доступа или недоступность сервера БД

Размер журнала транзакций
Норма

При простой модели восстановления журнал стабилен по размеру

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

Файл .ldf растёт постоянно и занимает десятки гигабайт

Скорость типовых операций
Норма

Проведение документов и отчёты выполняются за привычное время неделями

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

Постепенная деградация скорости — признак отсутствия обслуживания

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

Бэкапы создаются по расписанию и тестово восстанавливаются

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

Копии есть, но восстановление никогда не проверялось

Типичные ошибки и как их избежать

Самая частая проблема — неверная сортировка сервера или базы. Ошибка вида «Ошибка сравнения по порядку» или отказ создания базы указывает именно на collation. Лечится пересозданием базы с правильной сортировкой; в тяжёлых случаях — переустановкой SQL Server.

Вторая группа ошибок — права доступа: служба агента сервера 1С не имеет прав на SQL Server, либо указанный при создании базы пользователь СУБД не обладает нужными полномочиями. Проверяйте членство в серверных ролях и явно выдавайте db_owner на базу.

Третья группа — конфликт антивируса с файлами базы. Антивирус, сканирующий файлы .mdf и .ldf в реальном времени, заметно замедляет работу и может вызывать ошибки ввода-вывода. Добавьте каталоги данных SQL Server и каталог srvinfo сервера 1С в исключения антивируса.

Типичные ошибки при настройке 1С на SQL
01
Создание базы вручную в SSMS вместо консоли кластера — 1С такую базу не увидит
02
Модель восстановления Full без бэкапов журнала — журнал разрастается и заполняет диск
03
Отсутствие обслуживания индексов и статистики — постепенная деградация производительности
04
Антивирус сканирует файлы базы — подвисания и ошибки ввода-вывода
05
SQL Server без ограничения памяти забирает всю RAM, страдают ОС и сервер 1С

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

Можно ли использовать бесплатный SQL Server Express для 1С?

Технически можно, и для небольших баз это рабочий вариант. Ограничения Express-редакции — лимит на размер базы, ограничение по памяти и ядрам, а также отсутствие SQL Server Agent, из-за чего регламентные задания обслуживания запускают через планировщик Windows. Для баз с десятками активных пользователей Express обычно недостаточен.

Что делать, если база не создаётся с ошибкой про сортировку?

Проверьте collation сервера: в SSMS выполните запрос SELECT SERVERPROPERTY('Collation'). Для 1С требуется Cyrillic_General_CI_AS. Если сортировка иная, проще всего переустановить SQL Server с правильным параметром — смена collation существующего сервера трудоёмка и рискованна.

Нужно ли отдельное железо под SQL Server?

Не обязательно: для небольших внедрений сервер 1С и SQL Server часто размещают на одной машине, ограничив память SQL Server. Выделенный сервер БД оправдан при росте нагрузки, большом числе пользователей или требованиях к отказоустойчивости. Главное — быстрые диски и достаточный объём RAM.

Как перенести файловую базу 1С на SQL Server?

Откройте файловую базу в конфигураторе, выполните «Администрирование → Выгрузить информационную базу» в файл .dt. Затем создайте новую серверную базу через консоль кластера 1С и загрузите в неё выгрузку через «Загрузить информационную базу». Перед переносом сделайте копию исходной базы и проверьте загруженную копию на тестовом контуре.

Почему со временем 1С на SQL начинает тормозить?

Наиболее вероятные причины — фрагментация индексов и устаревшая статистика, из-за которых оптимизатор строит плохие планы запросов. Также проверьте разросшийся журнал транзакций, нехватку памяти и работу антивируса. Регулярный план обслуживания (обновление статистики, дефрагментация индексов) решает большинство таких случаев.

Достаточно ли выгрузки .dt для резервного копирования?

Нет. Выгрузка .dt — это механизм переноса и архивирования, но она медленна на больших базах и не даёт восстановления на произвольный момент времени. Основным инструментом должны быть штатные бэкапы SQL Server, а .dt использовать как дополнительную страховку перед обновлениями конфигурации.

Итог

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

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