Если вы работаете с 1С:Предприятие в режиме клиент-сервер или используете крупные базы данных, то рано или поздно столкнётесь с понятием SQL Server. Это не просто "база данных", а полноценная система управления реляционными базами (СУБД), которая лежит в основе производительности, безопасности и масштабируемости вашей учётной системы. Но почему именно Microsoft SQL Server стал стандартным решением для 1С? И чем он отличается от файлового варианта хранения данных?

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

Материал будет полезен как начинающим пользователям, которые только планируют переход на серверную версию 1С, так и опытным администраторам, ищущим способы оптимизации производительности. Мы не будем углубляться в синтаксис T-SQL или детали кластеризации — сосредоточимся на практических аспектах интеграции с 1С.

Что такое SQL Server и почему 1С работает с ним

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

Основные причины, по которым 1С использует SQL Server:

  • 🔹 Производительность: сервер обрабатывает запросы параллельно, что критично для баз с тысячами пользователей или миллионами документов.
  • 🔹 Надёжность: поддержка транзакций, резервного копирования и восстановления данных на уровне СУБД.
  • 🔹 Масштабируемость: возможность распределять нагрузку между несколькими серверами (кластеризация).
  • 🔹 Безопасность: гибкая система разграничения доступа, аудит и шифрование данных.

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

📊 Какой режим работы 1С вы используете?
Файловый (1CD)
Клиент-серверный (SQL)
Облачный (1С:Fresh)
Не знаю

Файловый vs. серверный режим: когда нужен SQL Server

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

  • 🚫 Производительность: при одновременной работе более 5–10 пользователей скорость падает в разы.
  • 🚫 Надёжность: повреждение файла .1CD может привести к потере данных.
  • 🚫 Масштабирование: невозможно распределить нагрузку или организовать резервное копирование без остановки работы.

Переход на SQL Server оправдан в следующих случаях:

Критерий Файловый режим SQL Server
Количество пользователей До 5–10 От 10 до тысяч
Объём базы данных До 4–10 ГБ От 10 ГБ до сотен ТБ
Интенсивность работы Низкая (до 100 док./час) Высокая (тысячи док./час)
Требования к отказоустойчивости Минимальные Кластеризация, репликация

При этом переход на SQL Server требует:

  1. Приобретения лицензии на сервер (кроме бесплатной версии Express).
  2. Настройки серверного оборудования или аренды виртуального сервера.
  3. Администрирования базы (резервное копирование, обновления, мониторинг).
💡

Если ваша база в файловом режиме начала "тормозить" при открытии отчётов или проведении документов — это первый признак того, что пора рассматривать переход на SQL Server.

Какие версии SQL Server поддерживает 1С

Платформа 1С:Предприятие совместима не со всеми версиями SQL Server. Актуальные требования зависят от версии платформы 1С. На момент написания статьи поддерживаются следующие редакции:

  • 🔸 Microsoft SQL Server 2019 (все редакции, включая Express).
  • 🔸 Microsoft SQL Server 2017 (рекомендуется для большинства задач).
  • 🔸 Microsoft SQL Server 2016 (поддержка ограничена в новых версиях 1С).
  • 🔸 Microsoft SQL Server 2014 (только для устаревших конфигураций).

Важные нюансы:

  • ⚠️ SQL Server 2022 пока не имеет полной поддержки в 1С (на момент выхода статьи). Перед использованием проверьте совместимость в документации 1С.
  • ⚠️ Express-версия имеет ограничение на объём базы (10 ГБ) и количество ядер процессора (до 4). Для баз свыше 5 ГБ рекомендуется Standard или Enterprise.
  • ⚠️ 32-битные версии SQL Server не поддерживаются 1С начиная с платформы 8.3.10.

Для проверки совместимости конкретной версии SQL Server с вашей платформой 1С используйте таблицу из официальной документации или тестовое развёртывание на виртуальной машине.

Поддерживает ли 1С PostgreSQL или MySQL?

Нет, платформа 1С:Предприятие официально работает только с Microsoft SQL Server. Альтернативные СУБД (PostgreSQL, MySQL, Oracle) не поддерживаются "из коробки", хотя существуют неофициальные решения для миграции данных.

Как выбрать редакцию SQL Server для 1С

Microsoft предлагает несколько редакций SQL Server, отличающихся функциональностью и стоимостью. Для 1С актуальны следующие варианты:

Редакция Ограничения Когда подходит Стоимость (примерно)
Express База до 10 ГБ, 1 сокет, 4 ядра Тестирование, малые базы (до 5 пользователей) Бесплатно
Standard База до 524 ПБ, 24 ядра Средний бизнес (до 100 пользователей) От 3 500 $ за сервер
Enterprise Без ограничений Крупные предприятия (тысячи пользователей, кластеризация) От 14 000 $ за сервер
Web Только для веб-приложений Облачные решения (редко для 1С) От 2 000 $ за сервер

Рекомендации по выбору:

  • 📌 Для тестирования или базы до 5 ГБ подойдёт Express (бесплатно).
  • 📌 Для среднего бизнеса (10–100 пользователей, база до 50 ГБ) оптимален Standard.
  • 📌 Для крупных предприятий с высокими требованиями к отказоустойчивости — Enterprise.

Обратите внимание: лицензирование SQL Server осуществляется по модели "сервер + CAL" (Client Access License). Это означает, что помимо лицензии на сам сервер, вам потребуется приобрести лицензии на каждого пользователя или устройство, подключающееся к базе. Альтернатива — лицензирование по ядрам (per core), что выгодно для виртуальных сред.

☑️ Подготовка к покупке SQL Server для 1С

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

Установка и настройка SQL Server для 1С

Процесс установки SQL Server для 1С включает несколько ключевых этапов:

  1. Подготовка сервера:
    • 🖥️ Минимальные требования: 4 ядра CPU, 8 ГБ RAM, SSD-накопитель.
    • 🖥️ Рекомендуемая конфигурация для 50+ пользователей: 8+ ядер, 32 ГБ RAM, RAID 10.
  • Установка SQL Server:
    • Скачайте дистрибутив с официального сайта Microsoft.
    • Выберите компоненты: Database Engine Services, Management Tools.
    • Укажите режим аутентификации: смешанный (для 1С нужен пользователь sa).
    • Настройка для 1С:
      • Создайте базу данных с сортировкой Cyrillic_General_CI_AS.
      • Настройте права для пользователя 1С (обычно db_owner).
      • Отключите параметр Auto Close для базы.

      После установки необходимо:

      1. Подключить базу 1С к SQL Server через Конфигуратор (меню Администрирование → Присоединить информационную базу).
      2. Выполнить тестовое обновление и резервное копирование.

    Критические настройки SQL Server для 1С:

    -- Рекомендуемые параметры для базы 1С
    

    ALTER DATABASE [Your1CBase] SET RECOVERY SIMPLE; -- Режим восстановления

    ALTER DATABASE [Your1CBase] SET AUTO_SHRINK OFF; -- Отключить автоуменьшение

    ALTER DATABASE [Your1CBase] SET COMPATIBILITY_LEVEL = 140; -- Уровень совместимости (SQL 2017)

    💡

    Никогда не используйте латинскую сортировку (например, SQL_Latin1_General_CP1_CI_AS) для баз 1С — это приведёт к проблемам с кириллическими символами в отчётах и документах.

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

    Даже при правильной настройке администраторы сталкиваются с типичными проблемами. Вот наиболее распространённые из них и способы их решения:

    • Ошибка подключения к базе:

      Причины: неверные учётные данные, отключён протокол TCP/IP в настройках SQL Server, брандмауэр блокирует порт 1433.

      Решение: проверьте настройки сетевых протоколов в SQL Server Configuration Manager и добавьте исключение в брандмауэр.

    • Медленная работа базы:

      Причины: фрагментация индексов, нехватка оперативной памяти, неоптимизированные запросы 1С.

      Решение: выполните реорганизацию индексов (ALTER INDEX REORGANIZE) и проверьте планы выполнения запросов.

    • Ошибки блокировок (deadlock):

      Причины: длительные транзакции, конфликты при одновременном изменении данных.

      Решение: настройте уровни изоляции транзакций или оптимизируйте логику работы в 1С.

    Для диагностики проблем используйте:

    • 🔧 Журналы SQL Server (SQL Server Error Log).
    • 🔧 Монитор производительности (Performance Monitor).
    • 🔧 Утилиты 1С: Тестирование и исправление, Журнал регистрации.
    • 💡

      Если база 1С на SQL Server начала "тормозить" после обновления конфигурации, первым делом проверьте статистику выполнения запросов в SQL Server Management Studio. Часто проблема кроется в новых неоптимизированных отчётах или обработках.

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

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

      • 💾 Полное резервное копирование (FULL BACKUP) — копирует всю базу.
      • 💾 Дифференциальное копирование (DIFFERENTIAL BACKUP) — только изменения с последнего полного бекапа.
      • 💾 Копирование журнала транзакций (TRANSACTION LOG BACKUP) — для восстановления на точку времени.
      • Пример команды для полного резервного копирования:

        BACKUP DATABASE [Your1CBase]
        

        TO DISK = 'D:\Backups\Your1CBase_full.bak'

        WITH COMPRESSION, STATS = 10;

        Рекомендации по стратегии резервирования:

        Тип бекапа Частота Хранение
        Полный 1 раз в неделю 3–6 месяцев
        Дифференциальный 1 раз в день 1–2 недели
        Журнал транзакций Каждый час 2–3 дня

        Для автоматизации резервного копирования используйте Планы обслуживания (Maintenance Plans) в SQL Server или сторонние утилиты вроде SQLBackupAndFTP.

        💡

        Никогда не храните резервные копии на том же диске, где расположена база данных. В случае сбоя диска вы потеряете и оригинал, и бекап.

        FAQ: Частые вопросы о SQL Server в 1С

        Можно ли использовать SQL Server Express для базы 1С объёмом 8 ГБ?

        Технически да, но не рекомендуется. Express-версия имеет ограничение в 10 ГБ, но при приближении к этому лимиту производительность резко падает. Оптимальный предел для Express — 4–5 ГБ. Для базы 8 ГБ лучше использовать SQL Server Standard.

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

        Процесс включает следующие шаги:

        1. Установите SQL Server и создайте пустую базу с сортировкой Cyrillic_General_CI_AS.
        2. В Конфигураторе 1С выберите Администрирование → Выгрузить информационную базу (файл .dt).
        3. Подключитесь к SQL Server и загрузите базу через Администрирование → Загрузить информационную базу.
        4. Настройте права доступа для пользователей 1С.

      Важно: перед переносом проверьте совместимость версии платформы 1С и SQL Server!

      Почему 1С тормозит на SQL Server, хотя сервер мощный?

      Причин может быть несколько:

      • 🔸 Неоптимизированные запросы в конфигурации 1С (например, полнотекстовый поиск по всем документам).
      • 🔸 Фрагментация индексов (проверьте через sys.dm_db_index_physical_stats).
      • 🔸 Нехватка оперативной памяти (SQL Server должен иметь не менее 50% свободной RAM).
      • 🔸 Сетевые задержки между клиентами 1С и сервером.

      Начните диагностику с анализа Журнала регистрации 1С и SQL Server Profiler.

      Можно ли использовать Linux-версию SQL Server для 1С?

      Технически SQL Server 2017+ поддерживает Linux, но 1С официально не тестировала работу платформы с этой конфигурацией. Возможны проблемы с:

      • Кодировками (особенно при работе с кириллицей).
      • Производительностью некоторых запросов.
      • Интеграцией с компонентами Windows (например, COM-объекты).
      • Для производственных систем рекомендуется использовать Windows-версию SQL Server.

      Как уменьшить размер базы 1С на SQL Server?

      Способы сократить объём базы:

      1. Выполните сжатие базы данных (DBCC SHRINKDATABASE).
      2. Очистите устаревшие данные (архивные документы, логи) через обработки 1С.
      3. Пересоздайте индексы (REBUILD).
      4. Настройте автоочистку журнала транзакций (если используется модель восстановления FULL).

      Предупреждение: сжатие базы (SHRINK) может привести к фрагментации и временному падению производительности.