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

Но почему именно Microsoft SQL Server, а не, скажем, PostgreSQL или Oracle? Дело в том, что изначально оптимизирована под работу с SQL Server — это рекомендованное решение от самой фирмы «1С». В этой статье мы разберём, что такое SQL Server для 1С, какие версии подходят для разных задач, как его установить и настроить, а также какие ошибки чаще всего возникают при работе. Если вы администрируете или планируете переход на клиент-серверную архитектуру — этот материал поможет избежать типичных проблем.

Что такое SQL Server и зачем он нужен 1С

SQL Server — это система управления базами данных (СУБД), разработанная компанией Microsoft. В контексте 1С:Предприятие она выполняет две ключевые функции:

  • 📊 Хранение данных — все документы, справочники, регистры и отчёты сохраняются не в файле (как в файловой версии), а в базе данных SQL Server. Это позволяет обрабатывать большие объёмы информации без замедлений.
  • 👥 Многопользовательская работа — несколько сотрудников могут одновременно работать с одной базой, не блокируя друг друга. SQL Server управляет транзакциями и обеспечивает целостность данных.
  • 🔍 Быстрый поиск и аналитика — благодаря индексации и оптимизированным запросам отчёты в формируются значительно быстрее, чем в файловом варианте.

Без SQL Server клиент-серверная версия просто не будет работать. Файловая база (.1CD) подходит для тестирования или одиночной работы, но уже при 3–5 пользователях начинаются тормоза, конфликты блокировок и риск потери данных. Переход на SQL Server увеличивает производительность в 5–10 раз при правильной настройке.

Кроме того, SQL Server предоставляет дополнительные возможности:

  • 🔄 Резервное копирование — автоматическое создание бэкапов без остановки работы пользователей.
  • 🛡️ Безопасность — разграничение прав доступа на уровне СУБД, шифрование данных.
  • 📈 Масштабируемость — можно добавлять ресурсы (ОЗУ, процессоры) по мере роста нагрузки.
⚠️ Внимание: Если вы используете 1С:УТ 11, 1С:ERP или 1С:ЗУП 3 с большим количеством пользователей (от 10), файловая база .1CD не просто замедлит работу — она может привести к потере данных из-за конфликтов блокировок. Переход на SQL Server в таких случаях обязателен.

Какие версии SQL Server совместимы с 1С

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

Версия SQL Server Поддержка 1С Особенности Рекомендации по использованию
Microsoft SQL Server 2019 Полная Поддержка Linux, улучшенная производительность для OLTP-нагрузок, встроенная аналитика. Оптимален для новых проектов с большим количеством пользователей (50+).
Microsoft SQL Server 2017 Полная Первая версия с поддержкой Linux, улучшенная работа с JSON. Хороший выбор для средних компаний (10–50 пользователей).
Microsoft SQL Server 2016 Полная (с ограничениями) Поддержка Always Encrypted, улучшенные индексы. Подходит для малых предприятий, но требует обновления до 2019/2017 для новых функций .
Microsoft SQL Server 2014 Частичная (только для старых релизов 1С) Устаревшая архитектура, отсутствует поддержка современных функций 1С:ERP. Использовать не рекомендуется, только для legacy-систем.

Важно понимать, что поддерживает не только коммерческие редакции SQL Server (Standard, Enterprise), но и бесплатную Express. Однако у Express есть жёсткие ограничения:

  • 🔢 Максимальный размер базы — 10 ГБSQL Server 2019 Express).
  • 🖥️ Использование не более 4 ядер процессора и 1410 МБ ОЗУ на экземпляр.
  • ⏳ Нет SQL Server Agent (нельзя настроить автоматическое резервное копирование через стандартные средства).
⚠️ Внимание: Если ваша база превышает 8–9 ГБ, SQL Server Express перестанет работать корректно — начнут возникать ошибки при записи данных. В таких случаях требуется переход на Standard или Enterprise.

Для большинства малых и средних компаний (до 30 пользователей) оптимальным выбором будет Microsoft SQL Server 2019 Standard. Он предоставляет достаточный запас по производительности и поддерживает все современные функции , включая 1С:ERP и 1С:УТ 11.

📊 Какую версию SQL Server вы используете с 1С?
SQL Server 2019
SQL Server 2017
SQL Server 2016
SQL Server Express
Другую/Не знаю

Требования к серверу для установки SQL Server под 1С

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

Компонент Минимальные требования (до 10 пользователей) Рекомендуемые (10–50 пользователей) Для крупных баз (50+ пользователей)
Процессор (CPU) 2 ядра, 2.0 ГГц 4 ядра, 2.5 ГГц+ (Intel Xeon / AMD EPYC) 8+ ядер, 3.0 ГГц+ (с поддержкой Hyper-Threading)
Оперативная память (RAM) 8 ГБ 16–32 ГБ 64 ГБ и более
Хранилище (HDD/SSD) HDD (7200 rpm) SSD (SATA) NVMe SSD (PCIe 3.0/4.0)
Сетевое подключение 1 Гбит/с 1 Гбит/с (с резервированием) 10 Гбит/с (для кластерных решений)

Ключевые моменты при выборе сервера:

  • 💾 SSD обязателен для баз от 20 ГБ — HDD не справится с нагрузкой из-за медленных операций ввода-вывода.
  • 🧠 ОЗУ должно быть в 2–3 раза больше размера базы. Например, если база весит 10 ГБ, нужно минимум 20–30 ГБ RAM.
  • 🔄 RAID-массив (например, RAID 10) защитит от потери данных при сбое диска.

Если вы разворачиваете SQL Server на виртуальной машине (например, в VMware или Hyper-V), убедитесь, что:

  • 🖥️ Виртуальной машине выделено фиксированное количество ресурсов (не динамическое).
  • 📀 Диски виртуальной машины хранятся на отдельном физическом SSD, а не на системном диске хоста.
  • 🔌 Сетевой адаптер настроен на высокую пропускную способность (например, VMXNET3 в VMware).
⚠️ Внимание: Если вы используете облачные серверы (например, Azure, AWS или Selectel), выбирайте тарифы с гарантированной производительностью CPU (burstable инстансы не подходят для из-за нестабильной скорости работы).
💡

Перед покупкой сервера проверьте его производительность с помощью теста SQLIO или CrystalDiskMark. Для критически важна скорость случайного чтения/записи (IOPS) — она должна быть не ниже 1000 для SSD и 5000 для NVMe.

Установка SQL Server для 1С: пошаговая инструкция

Установить SQL Server для можно как на выделенный сервер, так и на рабочую станцию (для тестирования). Рассмотрим процесс на примере Microsoft SQL Server 2019 Standard.

Шаг 1: Скачивание дистрибутива

Официальный дистрибутив можно скачать с сайта Microsoft:

  • 🔗 Для SQL Server 2019: страница загрузки.
  • 🔑 Потребуется лицензионный ключ (или можно использовать Evaluation-версию на 180 дней).

Шаг 2: Запуск установщика

После скачивания запустите SQLServer2019-x64-ENU.exe и выберите «Новая установка автономного SQL Server».

Шаг 3: Настройка компонентов

На этапе «Выбор компонентов» обязательно отметьте:

  • 📋 Службы ядра СУБД (основной компонент для работы баз данных).
  • 🛠️ Инструменты управления (SSMS)SQL Server Management Studio для администрирования.
  • 🔄 Клиентские инструменты (нужны для подключения к серверу).

Шаг 4: Конфигурация экземпляра

На этапе «Конфигурация экземпляра»:

  • 🏷️ Укажите имя экземпляра (по умолчанию — MSSQLSERVER, но для лучше создать именованный, например SQL_1C).
  • 🔐 Выберите «Смешанный режим аутентификации» (чтобы можно было подключаться и по логину/паролю, и через Windows-аутентификацию).
  • 👤 Задайте пароль для учётной записи sa (суперпользователь SQL Server).

Шаг 5: Настройка служб

На вкладке «Конфигурация сервера»:

  • 🖥️ Установите «Автоматический» тип запуска для службы SQL Server Database Engine.
  • 👥 Укажите учётную запись для службы (лучше использовать виртуального пользователя, а не Local System).

Шаг 6: Завершение установки

После завершения установки перезагрузите сервер и проверьте работу SQL Server через SQL Server Management Studio (SSMS).

☑️ Проверка после установки SQL Server

Выполнено: 0 / 4

Если вы устанавливаете SQL Server Express, процесс аналогичен, но без лицензионного ключа. Однако помните об ограничениях этой версии (см. раздел выше).

Настройка 1С для работы с SQL Server

После установки SQL Server необходимо настроить 1С:Предприятие для работы с ним. Этот процесс включает создание базы данных на сервере и подключение к ней через конфигуратор.

Шаг 1: Создание базы данных в SQL Server

Откройте SQL Server Management Studio (SSMS) и:

  1. Подключитесь к серверу (используйте аутентификацию sa или Windows-аутентификацию).
  2. Щёлкните правой кнопкой по папке «Базы данных»«Создать базу данных».
  3. Укажите имя базы (например, Base_1C_UT).
  4. В разделе «Параметры» выберите:
    • 📏 Начальный размер — 500 МБ (для теста), для рабочей базы — от 5 ГБ.
    • 📈 Авторост — 10% (или фиксированный размер, например 500 МБ).
    • 💾 Файл журнала — начальный размер 1–2 ГБ.
  • Нажмите «OK».
  • Шаг 2: Настройка подключения в 1С

    Запустите 1С:Предприятие в режиме «Конфигуратор» и:

    1. Выберите «Файл» → «Создать».
    2. Укажите «Создание информационной базы из шаблона» (или восстановление из файла, если база уже есть).
    3. На этапе выбора типа базы выберите «На сервере 1С:Предприятия».
    4. В поле «Сервер баз данных» укажите:
      • 🖥️ Имя сервера в формате ИМЯ_СЕРВЕРА\ИМЯ_ЭКЗЕМПЛЯРА (например, SRV-1C\SQL_1C).
      • 🔑 Тип аутентификации — «SQL Server» (если используете логин sa) или «Windows».
    5. Укажите имя базы данных, созданной на шаге 1.
    6. Шаг 3: Проверка подключения

      После создания базы в конфигураторе:

      • 🔄 Запустите «Тестирование и исправление» (Файл → Открыть → Тестирование и исправление).
      • 📋 Выберите «Проверка логической целостности» и «Проверка ссылочной целостности».
      • 🚀 Если ошибок нет — база готова к работе.
      ⚠️ Внимание: Если при подключении возникает ошибка "Не удалось установить соединение с SQL Server", проверьте:

      • 🔌 Работает ли служба SQL Serverservices.msc).
      • 🔒 Разрешены ли подключения по TCP/IP (в SQL Server Configuration Manager).
      • 🛡️ Не блокирует ли фаервол (например, Windows Defender) порт 1433.

      💡

      Для ускорения работы 1С на SQL Server обязательно настройте план обслуживания (регулярное сжатие базы, перестроение индексов) и резервное копирование (хотя бы раз в сутки).

      Типичные ошибки при работе 1С с SQL Server и их решение

      Даже при правильной установке SQL Server пользователи могут сталкиваться с ошибками. Рассмотрим самые распространённые из них и способы их устранения.

      Ошибка 1: "Не удалось установить соединение с SQL Server"

      Причина: Сервер баз данных недоступен или неправильно настроены сетевые параметры.

      Решение:

      • 🔌 Проверьте, запущена ли служба SQL Server (services.msc).
      • 🌐 Убедитесь, что в SQL Server Configuration Manager включён протокол TCP/IP.
      • 🔒 Проверьте, не блокирует ли фаервол порт 1433 (по умолчанию для SQL Server).
      • 📡 Если сервер и клиент в разных подсетях, проверьте маршрутизацию и DNS.

      Ошибка 2: "Нет места на диске" при работе с базой

      Причина: Файлы базы данных (.mdf и .ldf) заняли всё доступное пространство.

      Решение:

      • 📉 Очистите журнал транзакций (.ldf) командой:
      • BACKUP LOG [ИмяБазы] TO DISK = 'NUL'
        

        DBCC SHRINKFILE ([ИмяБазы_log], 1)

      • 🗑️ Увеличьте размер диска или перенесите файлы базы на другой диск.
      • 🔄 Настройте регулярное резервное копирование и сжатие журнала.

      Ошибка 3: "Timeout expired" (истекло время ожидания)

      Причина: Долгие запросы к базе из-за недостатка ресурсов или неоптимизированных запросов .

      Решение:

      • 🖥️ Проверьте загрузку CPU и RAM на сервере (Task Manager или Resource Monitor).
      • 🔧 Оптимизируйте запросы в (используйте индексы, избегайте полных выборок).
      • ⚡ Увеличьте параметр Query Timeout в настройках подключения (но это временное решение!).

      Ошибка 4: "Ошибка блокировки" при одновременной работе пользователей

      Причина: Конфликты блокировок из-за долгих транзакций или неправильной настройки уровня изоляции.

      Решение:

      • 🔄 Установите уровень изоляции READ COMMITTED SNAPSHOT:
      • ALTER DATABASE [ИмяБазы] SET READ_COMMITTED_SNAPSHOT ON
      • 📊 Проверьте, какие запросы блокируют таблицы (через sp_who2 в SSMS).
      • 🛠️ Разбейте большие транзакции в на более мелкие.
      ⚠️ Внимание: Если ошибки блокировок возникают регулярно, это признак того, что база перегружена. Рассмотрите возможность:

      • 🔼 Увеличения ресурсов сервера (CPU, RAM).
      • 📉 Оптимизации конфигурации (удалите ненужные объекты, перенесите исторические данные в архив).
      • 🔀 Разделения базы на несколько (например, выделите 1С:ЗУП в отдельную базу).

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

      Откройте SQL Server Management Studio и выполните запрос:

      sp_who2

      В результатах обратите внимание на столбцы BlkBy (кем заблокирован процесс) и Command (какая команда выполняется). Если BlkBy не пустой — это и есть блокирующий процесс. Его можно принудительно завершить командой:

      KILL [ID_процесса]

      Но делайте это осторожно — несохранённые данные могут быть потеряны!

      Оптимизация производительности SQL Server для 1С

      Даже если SQL Server установлен правильно, со временем производительность может падать из-за фрагментации данных, роста журнала транзакций или неоптимальных настроек. Вот ключевые рекомендации по оптимизации:

      1. Настройка памяти

      SQL Server по умолчанию пытается использовать всю доступную память, что может приводить к тормозам системы. Ограничьте её:

      • 📝 Откройте SSMS, щёлкните правой кнопкой по серверу → «Свойства» → «Память».
      • 🔢 Установите «Максимальный объём памяти сервера» на 70–80% от физической RAM (например, если на сервере 32 ГБ, укажите 24–26 ГБ).

      2. Регулярное обслуживание базы

      Создайте план обслуживания (Maintenance Plan) в SSMS, который будет:

      • 🔄 Перестраивать индексы (еженедельно).
      • 🗃️ Обновлять статистику (ежедневно).
      • 🗑️ Сжимать базу (при росте файла .mdf более чем на 30%).

      3. Оптимизация запросов 1С

      Многие тормоза в связаны с неэффективными запросами. Чтобы их найти:

      • 🔍 Включите «Профилировщик» в SSMS (Инструменты → Профилировщик SQL Server).
      • 📊 Отфильтруйте запросы по длительности (например, > 1000 мс).
      • 🛠️ Оптимизируйте их в конфигураторе (добавьте индексы, избегайте ПОЛНОЕ СОЕДИНЕНИЕ).

      4. Настройка tempdb

      Tempdb — системная база, которая активно используется SQL Server для временных операций. Для повышения производительности:

      • 💾 Разместите tempdb на отдельном SSD (не на системном диске!).
      • 📏 Установите фиксированный размер (например, 10–20 ГБ) вместо автороста.
      • 🔢 Создайте несколько файлов данных (по количеству ядер CPU, но не более 8).

      5. Мониторинг производительности

      Используйте встроенные инструменты для отслеживания нагрузки:

      • 📈 Монитор активности (Правый клик по серверу → Монитор активности).
      • 📊 Отчёты стандартных отчётов (например, «Анализ производительности»).
      • 🔧 Dynamic Management Views (DMV) — запросы к системным представлениям, например:
      • SELECT * FROM sys.dm_os_performance_counters
        

        WHERE object_name LIKE '%Buffer Manager%'

    💡

    Самая частая причина тормозов 1С на SQL Server — недостаток оперативной памяти или медленные диски. Если базы больше 20 ГБ, HDD не справится — нужен SSD или NVMe.

    Резервное копирование баз 1С на SQL Server

    Резервное копирование (бэкап) — критически важная процедура, которую нельзя игнорировать. В отличие от файловой базы, где можно просто скопировать файл .1CD, в SQL Server требуется специальный подход.

    Способы резервного копирования

    Есть три основных способа:

    1. 🔄 Через SQL Server Management Studio (SSMS):
      • Правый клик по базе → «Задачи» → «Создать