Администрирование · 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 после изменения сетевых настроек.
- 1Запустите установщик SQL Server и выберите сортировку Cyrillic_General_CI_AS
- 2Добавьте учётную запись администратора 1С в роль sysadmin или выдайте права на создание баз
- 3Включите протокол TCP/IP в SQL Server Configuration Manager
- 4Ограничьте максимальный объём памяти SQL Server в свойствах сервера
- 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 базы иногда остаются на старом уровне совместимости, что ограничивает оптимизатор запросов.
Настройте файлы базы: задайте разумный начальный размер и прирост в абсолютных значениях (например, в мегабайтах), а не в процентах — процентный авторост на больших базах вызывает частые и тяжёлые операции расширения файлов, заметные пользователям как подвисания.
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С в исключения антивируса.
Часто задаваемые вопросы
Можно ли использовать бесплатный 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, созданию базы через консоль кластера, корректным правам учётных записей, простой модели восстановления и регулярному обслуживанию индексов и статистики. Перед любыми изменениями на рабочей базе делайте резервные копии и проверяйте их восстановление.