Работа с 1С:Предприятие 8.3 в клиент-серверном режиме требует наличия SQL Server — системы управления базами данных от Microsoft. Без неё невозможно обеспечить стабильную работу крупных баз, многопользовательский доступ или использование механизмов распределённых информационных систем. Но как правильно выбрать версию, установить и настроить сервер, чтобы он идеально сочетался с платформой 1С?

Многие администраторы сталкиваются с проблемами: то SQL Server Express не тянет нагрузку, то Full Edition требует лицензии, то после установки 1С не видит базу. В этой статье разберём все этапы — от выбора дистрибутива до тонкой настройки для максимальной производительности. А ещё вы узнаете, какие скрытые параметры конфигурации 1С напрямую зависят от версии SQL Server и как это влияет на скорость работы отчётов.

Важно: если вы используете 1С в файловом режиме, установка SQL Server не требуется. Но для баз объёмом от 4 ГБ и более (или при работе 10+ пользователей) переход на клиент-серверную архитектуру становится обязательным условием стабильности.

1. Какую версию SQL Server выбрать для 1С?

Выбор версии зависит от трех ключевых факторов: размера базы данных, количества пользователей и бюджета на лицензирование. Давайте разберём основные варианты, которые поддерживает платформа 1С:Предприятие 8.3 (актуально для релизов 2023–2026 гг.).

SQL Server Express — бесплатная версия с ограничением на размер базы (10 ГБ) и использование не более 4 ядер процессора. Подходит для небольших компаний с базой до 5–7 ГБ и 5–10 пользователями. Но будьте осторожны: при превышении лимита база перестанет работать, пока не уменьшите её размер или не мигрируете на полноценную версию.

📊 Какую версию SQL Server вы используете с 1С?
Express (бесплатная)
Standard
Enterprise
Другую

Для средних и крупных предприятий оптимален SQL Server Standard. Он поддерживает базы до 524 ПБ, кластеризацию и резервное копирование без ограничений. Стоимость лицензии начинается от $931 за сервер + $209 за каждого пользователя (цены могут варьироваться в зависимости от региона и партнёра Microsoft).

В таблице ниже сравнили ключевые параметры версий, актуальных для 1С:

Параметр Express Standard Enterprise
Макс. размер базы 10 ГБ 524 ПБ 524 ПБ
Количество ядер CPU 4 (ограничено) До 24 До 256
Оперативная память 1,4 ГБ 128 ГБ Неограничено
Поддержка Always On ❌ Нет ✅ Да ✅ Да (расширенная)
Стоимость (прим.) Бесплатно От $931 От $14 256

⚠️ Внимание: Платформа 1С:Предприятие 8.3 не поддерживает SQL Server 2012 и старше. Минимальная совместимая версия — SQL Server 2016 (рекомендуется 2019 или 2022 для новых проектов).

2. Системные требования и подготовка сервера

Перед установкой убедитесь, что ваш сервер соответствует минимальным требованиям. Для SQL Server 2022 (рекомендуемая версия для 1С) они следующие:

  • 🖥️ Процессор: 2 ядра (x64) с поддержкой AVX2 (для Enterprise — не менее 4 ядер).
  • 💾 ОЗУ: 4 ГБ (минимум), 16+ ГБ для баз свыше 50 ГБ.
  • 📁 Дисковое пространство: 6 ГБ для системных файлов + объём под базы данных (рекомендуется SSD NVMe для высокой нагрузки).
  • 🪟 ОС: Windows Server 2016/2019/2022 или Windows 10/11 Pro (для тестовых сред).

Критически важно: отключите брандмауэр Windows или настройте исключения для портов 1433 (по умолчанию для SQL Server) и 1541 (для 1С:Предприятие). Также проверьте, что на сервере установлены последние обновления Windows Update, особенно пакеты безопасности для .NET Framework 4.8.

Установить все критические обновления Windows|

Отключить брандмауэр или добавить исключения для портов 1433 и 1541|

Проверить свободное место на диске (минимум 20 ГБ)|

Создать отдельного пользователя Windows для службы SQL Server (рекомендуется)|

Подключить сервер к домену (для корпоративных сетей)-->

⚠️ Внимание: Если вы устанавливаете SQL Server на виртуальную машину (например, Hyper-V или VMware), выделите фиксированное количество ресурсов (не динамическое). В противном случае производительность базы 1С будет нестабильной из-за "украденного" CPU/RAM другими ВМ.

3. Пошаговая установка SQL Server

Скачайте дистрибутив с официального сайта Microsoft (например, SQL Server 2022 Developer для тестирования или Standard для рабочей среды). Запустите файл SQLServer2022-SSEI-Dev.exe (или аналогичный для вашей версии) и следуйте инструкции:

Шаг 1. Выбор типа установки

В окне SQL Server Installation Center выберите Новая установка автономного SQL Server. Если у вас уже установлена старая версия, используйте Обновление (но предварительно сделайте резервную копию всех баз 1С!).

Шаг 2. Лицензионное соглашение

Примите условия лицензии и нажмите Далее. Для Express-версии этот шаг пропускается.

Шаг 3. Выбор компонентов

Отметьте галочками:

  • 📋 Службы движка базы данных (обязательно!).
  • 🔧 Средства управления (SQL Server Management Studio — SSMS) — для администрирования.
  • 🔄 Репликация — если планируете использовать распределённые базы 1С.

Шаг 4. Настройка экземпляра

Укажите имя экземпляра (по умолчанию MSSQLSERVER). Для 1С лучше создать именованный экземпляр (например, SQL_1C), чтобы избежать конфликтов с другими приложениями. Также выберите Смешанный режим аутентификации (Windows + SQL) — это упростит настройку подключения из 1С.

Шаг 5. Конфигурация сервера

В разделе Конфигурация движка базы данных:

  • 👤 Укажите учётную запись для службы SQL Server (рекомендуется создать отдельного пользователя Windows с правами администратора).
  • 📂 Задайте пути для хранения баз данных и журналов транзакций (лучше на разных физических дисках).
  • 🔐 Вкладка Права доступа: добавьте текущего пользователя в роль sysadmin.

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

Дождитесь окончания процесса (может занять 10–30 минут). После перезагрузки сервера проверьте работу службы в Диспетчере задач (должен быть процесс sqlservr.exe).

💡

Если установка прервалась с ошибкой Pending Reboot, перезагрузите сервер и запустите установщик заново. Чаще всего это связано с незавершёнными обновлениями Windows.

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

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

1. Протокол TCP/IP

По умолчанию SQL Server может быть недоступен по сети. Чтобы исправить это:

  1. Откройте Диспетчер конфигурации SQL Server (SQLServerManagerXX.msc, где XX — версия).
  2. Перейдите в Сетевая конфигурация SQL Server → Протоколы для [имя_экземпляра].
  3. Включите TCP/IP (двойной клик → Да в поле Активен).
  4. Вкладка IP-адреса: для всех IP укажите TCP-порт: 1433 и Активен: Да.
  5. Перезапустите службу SQL Server.

2. Коллация (порядок сортировки)

Для корректной работы с кириллицей в 1С используйте коллацию Cyrillic_General_CI_AS. Если база уже создана с другой коллацией, её придётся пересоздавать или использовать ALTER DATABASE (но это рискованно для рабочих баз!).

3. Ограничение памяти

По умолчанию SQL Server может занять всю доступную оперативную память. Чтобы избежать "подвешивания" сервера:

-- Задайте максимальный объём ОЗУ (например, 16 ГБ из 32 ГБ на сервере)

USE master;

GO

EXEC sp_configure 'show advanced options', 1;

RECONFIGURE;

GO

EXEC sp_configure 'max server memory', 16384; -- значение в МБ

RECONFIGURE;

GO

💡

Для баз 1С размером более 20 ГБ обязательно настройте раздельное хранение файлов данных (.mdf) и журналов транзакций (.ldf) на разных физических дисках. Это ускорит операции записи и чтения в 2–3 раза.

5. Создание базы данных для 1С

Теперь можно создать базу данных, которую будет использовать 1С. Сделать это можно через SQL Server Management Studio (SSMS) или скрипт.

Способ 1: Через SSMS

  1. Подключитесь к серверу (имя экземпляра укажите в формате ИМЯ_СЕРВЕРА\ИМЯ_ЭКЗЕМПЛЯРА).
  2. ПКМ по Базы данных → Создать базу данных.
  3. Укажите имя (например, Base1C_Trade).
  4. На вкладке Файлы задайте начальный размер (например, 5 ГБ для .mdf и 1 ГБ для .ldf) и параметр Авторасширение: ограниченное (максимум 100 ГБ).
  5. На вкладке Параметры выберите коллацию Cyrillic_General_CI_AS.

Способ 2: Через скрипт

Используйте следующий код для создания базы с оптимальными настройками для 1С:

CREATE DATABASE [Base1C_Trade]

ON PRIMARY

(

NAME = N'Base1C_Trade',

FILENAME = N'D:\SQLData\Base1C_Trade.mdf',

SIZE = 5GB,

MAXSIZE = 100GB,

FILEGROWTH = 1GB

)

LOG ON

(

NAME = N'Base1C_Trade_log',

FILENAME = N'E:\SQLLogs\Base1C_Trade.ldf',

SIZE = 1GB,

MAXSIZE = 50GB,

FILEGROWTH = 512MB

)

COLLATE Cyrillic_General_CI_AS;

GO

⚠️ Внимание: Не используйте MODEL или TEMPDB для баз 1С! Эти системные базы имеют ограничения, которые приводят к ошибкам при работе с большими объёмами данных (например, при формировании отчётов с миллионом строк).

6. Подключение 1С к SQL Server

Теперь осталось настроить подключение со стороны 1С. Для этого:

Шаг 1. Создание информационной базы

  1. Запустите 1Cv8.exe в режиме конфигуратора.
  2. Нажмите Добавить → Создание новой информационной базы.
  3. Выберите На сервере 1С:Предприятия (если используете кластер серверов 1С) или На этом компьютере или компьютере в локальной сети.
  4. Укажите тип СУБД: Microsoft SQL Server.

Шаг 2. Параметры подключения

Заполните поля:

  • 📌 Сервер: ИМЯ_СЕРВЕРА\ИМЯ_ЭКЗЕМПЛЯРА (например, SRV-1C\SQL_1C).
  • 🔑 Аутентификация: выберите SQL Server и укажите логин/пароль (если использовали смешанный режим) или Windows (если настраивали через доменные учётные записи).
  • 📁 База данных: выберите созданную ранее базу (например, Base1C_Trade).

Шаг 3. Тестовое подключение

Нажмите Тест соединения. Если появится ошибка:

  • 🔴 Ошибка 26 — проверьте имя сервера/экземпляра и порт 1433.
  • 🔴 Ошибка 18456 — неверный логин/пароль или недостаточно прав.
  • 🔴 Ошибка 4060 — база не существует (проверьте имя в SSMS).

Что делать, если 1С не видит SQL Server?

1. Убедитесь, что служба SQL Server запущена (проверьте в services.msc).

2. Пингните сервер по имени (ping SRV-1C) — если не отвечает, проблема в сети.

3. Включите протокол TCP/IP (см. раздел 4).

4. Проверьте, что порт 1433 не блокируется фаерволом (используйте telnet SRV-1C 1433).

5. Если используете именованный экземпляр, укажите порт явно: SRV-1C\SQL_1C,1433.

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

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

1. Индексы для полей поиска

1С часто выполняет запросы с WHERE по полям типа Справочник.Контрагенты.Наименование. Создайте индексы для таких полей:

CREATE INDEX IX_Контрагенты_Наименование ON [1SCatalog].[Контрагенты]([Наименование]);

2. Настройка плана выполнения

Включите параметр optimize for ad hoc workloads, чтобы уменьшить нагрузку на кэш:

EXEC sp_configure 'show advanced options', 1;

RECONFIGURE;

EXEC sp_configure 'optimize for ad hoc workloads', 1;

RECONFIGURE;

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

Запускайте еженедельно:

-- Проверка целостности

DBCC CHECKDB ([Base1C_Trade]) WITH NO_INFOMSGS;

-- Перестроение индексов

ALTER INDEX ALL ON [1SCatalog].[Документы] REBUILD;

4. Разделение файлов базы

Для баз свыше 50 ГБ разделите .mdf на несколько файлов (по 10–20 ГБ каждый) и разместите их на разных дисках. Это ускорит параллельное чтение.

5. Мониторинг блокировок

Используйте запрос для поиска долгих транзакций:

SELECT

t1.resource_type,

t1.resource_database_id,

t1.request_mode,

t1.request_session_id,

t2.blocking_session_id

FROM

sys.dm_tran_locks t1

INNER JOIN

sys.dm_os_waiting_tasks t2 ON t1.lock_owner_address = t2.resource_address;

💡

Если в 1С тормозят отчёты с большими выборками, попробуйте увеличить параметр max degree of parallelism (MAXDOP) до 4–8. Но не ставьте значение выше количества физических ядер сервера!

8. Резервное копирование и восстановление

Потеря данных в 1С — это не только финансовые потери, но и риск штрафов (например, при утрате бухгалтерских документов). Настройте автоматическое резервное копирование через SQL Server Agent:

Скрипт для бэкапа

-- Полный бэкап ежедневно в 1:00

USE msdb;

GO

EXEC sp_add_job

@job_name = N'Backup_Base1C_Trade_Full';

EXEC sp_add_jobstep

@job_name = N'Backup_Base1C_Trade_Full',

@step_name = N'Full Backup',

@subsystem = N'TSQL',

@command = N'BACKUP DATABASE [Base1C_Trade] TO DISK = N''D:\Backups\Base1C_Trade_Full.bak'' WITH COMPRESSION, STATS = 10;',

@retry_attempts = 3,

@retry_interval = 5;

GO

-- Настройка расписания (ежедневно в 1:00)

EXEC sp_add_schedule

@schedule_name = N'DailyFullBackup',

@freq_type = 4, -- Ежедневно

@freq_interval = 1,

@active_start_time = 010000; -- 1:00 AM

EXEC sp_attach_schedule

@job_name = N'Backup_Base1C_Trade_Full',

@schedule_name = N'DailyFullBackup';

GO

Восстановление из бэкапа

Чтобы восстановить базу из резервной копии:

  1. Откройте SSMS, ПКМ по Базы данных → Восстановить базу данных.
  2. Выберите устройство (.bak-файл) и укажите целевое имя базы.
  3. На вкладке Параметры отметьте ПЕРЕЗАПИСАТЬ существующую базу.

⚠️ Внимание: При восстановлении базы 1С из бэкапа обязательно проверьте совместимость версий! Например, резервную копию с SQL Server 2022 нельзя восстановить на SQL Server 2019. Также учтите, что после восстановления может потребоваться пересчёт итогов в 1С (через Тестирование и исправление → Пересчёт итогов).

FAQ: Частые вопросы по установке SQL Server для 1С

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

Технически да, но крайне не рекомендуется. Express-версия ограничена 4 ядрами CPU и 1,4 ГБ ОЗУ на экземпляр, что приведёт к тормозам при одновременной работе 15+ пользователей. Оптимальный вариант — SQL Server Standard с лицензией на 20 пользователей (или Per Core для виртуальных сред).

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

Используйте утилиту chdbfl.exe из комплекта 1С:

  1. Сделайте резервную копию файловой базы (.1CD).
  2. Запустите командную строку от имени администратора и выполните:
    chdbfl.exe Создать /S "ИМЯ_СЕРВЕРА\ЭКЗЕМПЛЯР" /DB "ИМЯ_БАЗЫ" /U sa /P "ПАРОЛЬ" /F "ПУТЬ_К_ФАЙЛУ.1CD"
  3. В 1С подключитесь к новой базе на SQL Server.

Важно: после переноса выполните Тестирование и исправление базы в конфигураторе 1С.

Почему 1С пишет "Не удалось подключиться к информационной базе"?

Причины и решения:

  • 🔌 Сеть: проверьте ping до сервера и порт 1433 (используйте telnet или Test-NetConnection в PowerShell).
  • 🔐 Аутентификация: если используете SQL-логин, убедитесь, что он имеет права на базу (в SSMS: Безопасность → Имена входа).
  • 📝 Имя базы: в 1С указывайте точное имя базы без имени сервера (например, Base1C_Trade, а не SRV-1C\Base1C_Trade).
  • 🔄 Служба SQL: проверьте, что служба запущена (в services.msc ищите SQL Server (MSSQLSERVER)).
Как уменьшить размер базы 1С на SQL Server?

База разрастается из-за неочищенных журналов транзакций и устаревших данных. Выполните:

  1. Очистку журналов:
    USE [Base1C_Trade];
    

    DBCC SHRINKFILE (N'Base1C_Trade_log', 1000); -- Уменьшить до 1 ГБ

    BACKUP LOG [Base1C_Trade] TO DISK = N'D:\Backups\Base1C_Trade_Log.trn' WITH TRUNCATE_ONLY;

  2. Удаление устаревших документов через 1С (отчёты Анализ использования объектов).
  3. Пересоздание индексов (см. раздел 7).

Если база всё равно большая, рассмотрите архивирование старых данных в отдельную базу.

Нужно ли обновлять SQL Server после установки?

Да, обязательно! Microsoft регулярно выпускает исправления безопасности и оптимизации (например, Cumulative Updates). Обновляйте сервер не реже 1 раза в квартал. Для этого:

  1. Скачайте последний пакет обновлений с сайта Microsoft.
  2. Сделайте бэкап всех баз 1С.
  3. Запустите установщик обновления и следуйте инструкциям.

После обновления перезапустите службу SQL Server и проверьте работоспособность 1С.