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

Использование MS SQL Server или PostgreSQL в качестве СУБД позволяет реализовать разграничение прав доступа на уровне записей, настроить кластеризацию для отказоустойчивости и ускорить выполнение сложных запросов за счет оптимизации плана выполнения. Процесс миграции требует от администратора внимательности, так как ошибка на этапе настройки драйверов ODBC или прав пользователя может привести к тому, что база не запустится.

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

Подготовка сервера баз данных и создание пустой БД

Первым шагом является создание контейнера для данных непосредственно в системе управления базами данных. Для MS SQL Server это делается через среду SQL Server Management Studio (SSMS). Необходимо создать новую базу данных, имя которой будет соответствовать логическому имени вашей конфигурации 1С, хотя строгое соответствие не обязательно, оно упрощает администрирование.

При создании базы следует уделить особое внимание параметрам сортировки (Collation). Для корректной работы 1С:Предприятие рекомендуется использовать сортировку Cyrillic_General_CI_AS. Неправильный выбор кодировки может привести к некорректному отображению символов в отчетах или ошибкам при обновлении конфигурации в будущем.

⚠️ Внимание: Не создавайте базу данных с именем, содержащим пробелы или спецсимволы. Используйте только латинские буквы и цифры, например AccountingDB или TradeBase2026.

После создания базы необходимо настроить учетную запись для доступа. Хотя можно использовать встроенного пользователя sa, с точки зрения безопасности лучше создать отдельного логина с правами владельца базы (db_owner). Это позволит изолировать доступ 1С от системных прав администратора СУБД.

Настройка кластера серверов 1С:Предприятие

Управление клиент-серверными базами осуществляется через консоль администрирования кластера серверов 1С. Запустить её можно через меню Пуск или выполнив команду rasadmin. При первом запуске потребуется указать имя центрального сервера 1С (обычно это имя компьютера, где установлен сервер 1С) и порт агента, по умолчанию 1541.

В дереве кластера необходимо выбрать узел "Информационные базы", кликнуть правой кнопкой мыши и выбрать пункт "Добавить". Откроется мастер создания новой информационной базы, где потребуется ввести краткое имя (которое будет видеть пользователь в списке при запуске 1С) и полное описание.

На следующем этапе мастер предложит выбрать тип размещения базы данных. Здесь критически важно не перепутать варианты. Для работы с SQL выбирается опция "В информационной базе на сервере 1С:Предприятия". Если выбрать файловый вариант, система попытается найти файл 1Cv8.1CD на диске, что приведет к ошибке подключения.

☑️ Проверка перед добавлением базы

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

Параметры подключения к СУБД

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

В поле "Имя базы данных" вводится название, которое вы присвоили базе на первом этапе в SSMS. Далее указываются тип СУБД (например, MSSQLServer) и имя пользователя БД. Пароль вводится в соответствующее поле. Важно убедиться, что выбранный пользователь имеет достаточные права для создания таблиц и схем, так как при первом запуске 1С сама создаст структуру таблиц.

Что делать, если используется именованный экземпляр SQL?

Если SQL Server установлен как именованный экземпляр (например, SERVER\SQLEXPRESS), то в поле "Сервер баз данных" нужно указывать имя в формате: ИмяСервера\ИмяЭкземпляра. Порт при этом может быть динамическим, и для стабильности лучше настроить фиксированный порт в конфигураторе SQL Server.

Для проверки соединения на этом этапе можно нажать кнопку "Тестирование соединения". Однако, если база еще пуста, тест может вернуть предупреждение, что это нормально. Главное — отсутствие ошибок аутентификации или недоступности хоста.

Выбор и настройка драйверов ODBC

Корректная работа связки 1С и SQL невозможна без установленного драйвера ODBC. Для MS SQL Server рекомендуется использовать нативный клиент SQL Server Native Client или более новый OD Driver for SQL Server. В старых версиях платформы 1С (до 8.3.10) часто использовался стандартный драйвер Windows, который мог вызывать проблемы с длинными строками.

Проверить наличие драйверов можно в панели управления Windows в разделе "Администрирование" -> "Источники данных ODBC (64-бит)". Важно, чтобы разрядность драйвера совпадала с разрядностью сервера 1С. Если у вас 64-битная ОС и 64-битная 1С, а драйвер 32-битный, подключение не установится.

Компонент Рекомендуемая версия Назначение
Microsoft ODBC Driver 17/18 Актуальная с сайта Microsoft Основной драйвер для новых версий 1С
SQL Server Native Client 11.0 Legacy (для старых версий) Поддержка устаревших конфигураций
PostgreSQL ODBC Driver (Unicode) Версии x64 Для работы с открытой СУБД PostgreSQL
💡

Всегда устанавливайте драйверы ODBC той же разрядности (x64), что и сервис 1С:Предприятия. Смешивание разрядностей — частая причина ошибки "Драйвер не найден".

Первичный запуск и создание структуры таблиц

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

Этот процесс может занять от нескольких минут до нескольких часов в зависимости от объема конфигурации и скорости дисковой подсистемы сервера. В этот момент 1С выполняет тысячи DDL-запросов к серверу SQL для создания таблиц, индексов и триггеров. Прерывать этот процесс категорически нельзя.

⚠️ Внимание: Во время создания таблицы структуры базы нагрузка на дисковую подсистему (IOPS) достигает пиковых значений. Не запускайте в это время тяжелые отчеты или резервное копирование на том же физическом диске.

Если в процессе инициализации возникла ошибка (например, закончилось место в файле роста базы данных или произошел тайм-аут), базу придется удалить из кластера, очистить в SQL (DROP DATABASE) и создать заново. Частично созданная структура не подлежит восстановлению и будет работать некорректно.

Диагностика типовых ошибок подключения

Даже при внимательном следовании инструкции могут возникнуть проблемы. Одна из самых распространенных ошибок — "Ошибка при подключении к информационному ресурсу". Часто она связана с тем, что служба Агент сервера 1С:Предприятия запущена от имени пользователя, у которого нет прав на сетевое взаимодействие с SQL Server.

Рекомендуется запускать службу 1С от имени доменного пользователя или локального администратора, а не от системной учетной записи Local System, особенно если сервер баз данных находится на другой машине. Также стоит проверить настройки брандмауэра Windows: порт 1433 для SQL и порт 1541 для 1С должны быть открыты для входящих подключений.

📊 С какой СУБД вы работаете чаще всего?
MS SQL Server
PostgreSQL
Oracle
IBM DB2

Еще одна частая проблема — рассинхронизация версий платформы на клиенте и сервере. Убедитесь, что на сервере 1С и на рабочих местах пользователей установлены одинаковые минорные версии платформы (например, 8.3.22.1567). Различие в версиях может приводить к ошибкам компиляции модулей при старте.

💡

90% ошибок подключения "Сервер не найден" или "Отказано в доступе" решаются проверкой имени пользователя службы 1С и настройками брандмауэра на порту СУБД.

Оптимизация и дальнейшее обслуживание

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

Также важно настроить расписание регламентных заданий в самой 1С, таких как "Сжатие данных информационных журналов" и "Обновление конфигурации базы данных". Эти процедуры предотвращают разрастание служебных таблиц и деградацию скорости выборки данных со временем.

Не забывайте контролировать размер файла журнала транзакций (ldf). В режиме полной реконструкции (Full Recovery), который используется по умолчанию, журнал может разрастаться до размеров самой базы данных, если не настроено регулярное резервное копирование транзакций. Переключение в режим простой реконструкции (Simple Recovery) допустимо только если не требуется точечное восстановление на момент времени.

Можно ли перенести файловую базу 1С в SQL без потери данных?

Да, это стандартная процедура. В конфигураторе файловой базы используется функция "Администрирование" -> "Выгрузить информационную базу", а затем при создании новой базы в кластере выбирается опция "Восстановить из выгрузки". Данные сохраняются полностью, включая историю изменений и регистры.

Какой минимальный объем оперативной памяти нужен для SQL под 1С?

Для комфортной работы малой группы пользователей (до 10-15 человек) рекомендуется выделить минимум 8 ГБ ОЗУ под SQL Server. Для больших баз (более 100 ГБ) объем памяти должен составлять не менее 20-30% от размера активной части базы данных для эффективного кэширования.

Что делать, если 1С пишет "Недостаточно прав" при создании базы?

Проверьте, что пользователь, от имени которого запущена служба 1С, имеет права sysadmin или securityadmin на уровне сервера SQL, либо права db_owner на уровне конкретной создаваемой базы. Также проверьте режим аутентификации в SQL Server (должен быть разрешен смешанный режим).

Обязательно ли использовать выделенный сервер для SQL?

Для тестовых сред или очень маленьких баз (до 3-5 пользователей) допустима установка SQL и 1С на один сервер. Однако для продуктивной среды это плохая практика, так как обе системы будут конкурировать за ресурсы процессора и дискового ввода-вывода, что приведет к тормозам.