Переход с файлового режима работы на серверный вариант платформы 1С:Предприятие является критически важным этапом роста для любой компании. Когда количество пользователей превышает 5-10 человек, или объем данных становится значительным, файловая база данных перестает справляться с нагрузкой. В этот момент администраторы сталкиваются с необходимостью перенести информационную базу на сервер СУБД. Чаще всего в роли такой системы выступает Microsoft SQL Server, обеспечивающий высокую производительность и целостность данных.
Процесс миграции требует от специалиста внимательности и понимания архитектуры взаимодействия между кластером серверов 1С и базой данных. Ошибки на этапе настройки могут привести к потере доступа к критически важной информации или существенному снижению быстродействия системы. В этой статье мы подробно разберем все этапы: от подготовки окружения до регистрации базы в списке пользователей.
Вам предстоит выполнить ряд последовательных действий, каждое из которых влияет на итоговую стабильность работы. Мы рассмотрим как использование встроенных средств платформы, так и работу с утилитой 1CV8Convert.exe, которая часто становится незаменимым инструментом при работе со сложными конфигурациями. Главное — строго соблюдать порядок операций.
Подготовка серверной инфраструктуры и прав доступа
Прежде чем приступать к конвертации, необходимо убедиться, что на сервере установлен и корректно настроен Microsoft SQL Server. Версия СУБД должна соответствовать требованиям вашей версии платформы 1С. Например, для современных релизов 1С:Предприятие 8.3 рекомендуется использовать SQL Server 2016 и выше. Важно также установить необходимые пакеты обновлений и убедиться, что службы СУБД запущены.
Особое внимание следует уделить учетным записям. Для корректной работы 1С с SQL требуется создание специального пользователя или использование встроенной учетной записи. Этот пользователь должен обладать правами на создание баз данных (dbcreator) и управление безопасностью (securityadmin). Без этих прав процесс регистрации базы в кластере завершится ошибкой.
⚠️ Внимание: Никогда не используйте учетную запись
sa(системного администратора) для подключения 1С к базе данных в рабочей среде. Это создает критическую уязвимость безопасности. Создайте отдельного пользователя с паролем, соответствующим политике безопасности вашей компании.
Также необходимо проверить настройки сетевого взаимодействия. Протокол TCP/IP должен быть включен в конфигурации SQL Server, а порт (по умолчанию 1433) открыт в брандмауэре для входящих подключений с сервера 1С. Если эти настройки игнорировать, сервер приложений просто «не увидит» базу данных.
Перед началом работ обязательно создайте полную резервную копию файловой базы 1С и сохраните её на отдельный физический носитель. Это единственная гарантия восстановления данных в случае сбоя при конвертации.
Создание пустой базы данных в SQL Server
Существует два основных подхода к созданию базы: вручную через SQL Server Management Studio (SSMS) или автоматически в процессе регистрации в 1С. Опытные администраторы часто предпочитают первый вариант, так как он позволяет контролировать параметры файлов данных и журналов транзакций. Это особенно важно для баз с большим прогнозируемым объемом.
При создании базы вручную вы можете задать начальный размер файла данных (.mdf) и файла журнала (.ldf). Рекомендуется устанавливать размер с запасом, чтобы избежать частой автододелки файлов, которая сильно нагружает дисковую подсистему. Также стоит обратить внимание на модель восстановления. Для баз 1С обычно используется модель Simple (Простая), если не планируется точечное восстановление до момента отказа.
Если вы решите доверить создание базы платформе 1С, система сама сформирует файлы с настройками по умолчанию. В большинстве случаев этого достаточно для старта, но при высоких нагрузках параметры могут потребовать ручной корректировки постфактум. Имя базы данных в SQL должно быть уникальным в пределах экземпляра сервера.
| Параметр | Рекомендуемое значение | Назначение |
|---|---|---|
| Начальный размер данных | От 1024 МБ | Предотвращение частого роста файла |
| Автоувеличение | 256 МБ или 10% | Шаг при нехватке места |
| Модель восстановления | Simple (Простая) | Оптимизация размера журнала |
| Сортировка (Collation) | Cyrillic_General_CI_AS | Поддержка русского языка |
Почему важна сортировка?
Параметр Collation определяет правила сравнения символов. Для 1С критически важно использовать кириллическую сортировку (обычно Cyrillic_General_CI_AS). Если создать базу с другой сортировкой (например, SQL_Latin1), платформа может работать некорректно или выдавать ошибки при выполнении запросов к регистрам сведений.
Конвертация файловой базы с помощью утилиты
Самый надежный способ перенести данные из файла в SQL — использование консольной утилиты 1CV8Convert.exe. Она входит в стандартную дистрибуцию платформы и расположена в каталоге установки (обычно C:\Program Files\1cv8\8.3.x.x\bin). Этот инструмент позволяет выполнить конвертацию «на лету», создавая новую базу в SQL и перенося туда все данные и метаданные.
Запуск утилиты требует указания пути к исходной информационной базе и параметров подключения к целевому серверу SQL. Команда формируется в командной строке с правами администратора. Важно понимать, что процесс может занять длительное время в зависимости от объема данных, поэтому его лучше запускать в нерабочее время.
1CV8Convert.exe /F "C:\Base\OldFileBase" /S "MSSQLServer\Instance;NewSQLBase" /N "DBUser" /P "SecurePassword"
В этой конструкции ключ /F указывает на файловую базу, /S определяет сервер и имя новой базы, а /N и /P передают учетные данные для доступа к СУБД. После успешного выполнения утилита сообщит о завершении процесса, и у вас появится готовая база в SQL, которую можно регистрировать.
☑️ Контрольный список конвертации
Регистрация базы в кластере серверов 1С
После того как база данных создана в SQL (неважно, вручную или через конвертер), её необходимо «представить» кластеру серверов 1С. Без этой процедуры пользователи не смогут увидеть базу в списке при запуске 1С:Предприятие. Регистрация осуществляется через консоль администрирования серверов 1С (ras) или через графический интерфейс той же утилиты.
При добавлении базы вам потребуется указать имя базы данных в SQL, тип СУБД, сервер SQL, а также пользователя базы данных и его пароль. Также на этом этапе задается имя информационной базы, которое будут видеть пользователи в окне запуска. Это имя может отличаться от технического имени базы в SQL.
Обратите внимание на настройки безопасности. Вы можете настроить список пользователей, имеющих право на подключение к этой конкретной базе. Если этот список оставить пустым, доступ могут получить все пользователи кластера, что не всегда безопасно. Также здесь настраиваются параметры сеансов и блокировок.
⚠️ Внимание: При регистрации базы убедитесь, что выбран правильный тип СУБД в выпадающем списке (Microsoft SQL Server). Выбор неправильного типа (например, PostgreSQL или Oracle) приведет к ошибке соединения, даже если параметры введены верно.
В некоторых случаях после регистрации требуется перезапуск службы агента сервера 1С (RMngr), чтобы изменения применились корректно. Это особенно актуально, если вы вносили изменения в настройки кластера параллельно с добавлением базы.
Настройка параметров производительности и оптимизация
Просто перенести базу недостаточно — её нужно настроить для эффективной работы. Платформа 1С имеет ряд специфических требований к настройкам SQL Server. Одним из ключевых параметров является максимальная степень параллелизма (MAXDOP). Для серверов 1С рекомендуется устанавливать значение 1 или 2, чтобы избежать избыточного переключения контекстов процессора при выполнении сложных запросов.
Также критически важно отключить автообновление статистики в режиме реального времени, если база очень большая, и перенести этот процесс на ночное время. Устаревшая статистика приводит к тому, что оптимизатор запросов SQL выбирает неверные планы выполнения, что вызывает «тормоза» в работе пользователей.
Не забудьте настроить индексацию. Хотя 1С создает индексы автоматически, в процессе активной эксплуатации могут потребоваться дополнительные индексы для часто используемых отчетов или документов. Анализ медленных запросов через SQL Profiler или встроенные средства мониторинга 1С поможет выявить узкие места.
Правильная настройка MAXDOP и отключение мгновенного обновления статистики могут ускорить работу тяжелой базы 1С в 2-3 раза без апгрейда железа.
Диагностика типовых ошибок подключения
Даже при четком следовании инструкции могут возникнуть ошибки. Самая распространенная из них — «Сервер баз данных не найден» или «Ошибка при подключении к серверу авторизации». Часто причина кроется в том, что служба SQL Server Browser остановлена, и клиент 1С не может разрешить имя экземпляра в порт.
Другая частая проблема связана с правами доступа. Если пользователь, от имени которого работает служба сервера 1С, не имеет прав на подключение к SQL, вы получите ошибку аутентификации. Проверьте, входит ли этот пользователь в группу безопасности SQL Server или имеет ли явный логин.
Также стоит проверить файл hosts на сервере 1С. Иногда проблемы с DNS приводят к тому, что имя сервера SQL не резолвится. В таких случаях помогает явная прописка IP-адреса и имени сервера в системном файле hosts.
Что делать, если база видна, но не открывается?
Если база отображается в списке, но при попытке входа возникает ошибка, проверьте лицензирование. Возможно, на сервере 1С закончились лицензии или не запущен сервер лицензирования. Также убедитесь, что пользователь базы данных в SQL не заблокирован и пароль не истек.
Можно ли вернуть базу обратно в файл?
Да, это возможно. Для этого используется та же утилита 1CV8Convert.exe, но параметры меняются местами: в качестве источника указывается SQL база, а в качестве приемника — путь к файловой папке. Учтите, что при обратном конвертации могут быть потеряны некоторые специфические настройки, оптимизированные под SQL.
Нужно ли устанавливать 1С на сервер SQL?
Нет, это не обязательно и даже не рекомендуется с точки зрения безопасности и разделения нагрузок. Для работы достаточно, чтобы на сервере SQL стояла только СУБД. Клиентские библиотеки и драйверы, необходимые для связи, обычно устанавливаются автоматически вместе с платформой 1С на сервере приложений.
Как узнать версию базы данных 1С в SQL?
Информация о версии хранится в системной таблице _Params внутри базы данных. Выполните запрос SELECT fversion FROM _Params в SQL Management Studio, чтобы получить текущую версию платформы, с которой последний раз работала эта база.
Влияет ли версия SQL Server на лицензию 1С?
Нет, лицензия 1С:Предприятие не зависит от версии используемой СУБД. Вы можете использовать бесплатную редакцию SQL Server Express (с ограничениями по размеру базы) или полноценную Standard/Enterprise — ключи защиты 1С работают одинаково в обоих случаях.