Переход с файлового варианта хранения данных на клиент-серверный является критическим этапом в развитии любой организации, использующей 1С:Предприятие. Это решение позволяет обеспечить высокую скорость обработки транзакций, надежное резервное копирование и одновременную работу десятков пользователей без потери производительности. В основе такой архитектуры лежит связка сервера приложений 1С:Предприятие и системы управления базами данных (СУБД), чаще всего в роли которой выступает Microsoft SQL Server.
Процесс создания новой информационной базы в режиме SQL кардинально отличается от привычного создания файла .1cd. Здесь администратору необходимо не просто скопировать файл, а выполнить ряд последовательных действий по настройке окружения, созданию физического контейнера для данных и правильной регистрации кластера. Ошибки на любом из этапов могут привести к невозможности подключения или нестабильной работе системы в будущем.
В данной статье мы детально разберем весь путь: от подготовки операционной системы и установки необходимых компонентов до финальной регистрации базы в списке пользователей. Мы затронем важные нюансы настройки прав доступа и параметров сортировки, которые часто упускаются из виду, но являются фундаментом стабильности вашей учетной системы.
Подготовка окружения и установка компонентов
Перед тем как приступить к созданию базы, необходимо убедиться, что на сервере установлены все необходимые программные компоненты. Ключевым элементом здесь является сам сервер SQL Server, версия которого должна быть совместима с используемой платформой 1С:Предприятие. Обычно поддерживаются версии от 2016 года и выше, однако всегда стоит сверяться с техническими требованиями конкретной релизной версии платформы.
Помимо сервера баз данных, на машине, где будет запускаться конфигуратор для создания структуры, обязательно должен быть установлен клиентский драйвер. Для современных версий это ODBC Driver for SQL Server или нативный клиент. Без этого компонента платформа 1С просто «не увидит» сервер SQL при попытке создания новой базы.
Убедитесь, что на сервере 1С и на рабочих местах администраторов установлены драйверы одной разрядности (x64 или x86) с самой платформой 1С, иначе подключение будет невозможным.
Также важно проверить сетевые настройки. Сервер баз данных и сервер приложений 1С должны «видеть» друг друга по сети. Часто проблемы возникают из-за настроек брандмауэра Windows, который по умолчанию блокирует порт 1433, используемый SQL Server для входящих подключений. Необходимо создать правило, разрешающее трафик на этот порт.
⚠️ Внимание: Версии платформ 1С и SQL Server имеют строгую совместимость. Использование слишком новой версии SQL Server со старой платформой 1С может привести к ошибкам при создании базы из-за unsupported типов данных или уровней совместимости.
Создание пустой базы данных в SQL Server Management Studio
Первым этапом непосредственной работы с данными является создание физического контейнера в среде SQL Server Management Studio (SSMS). Запустите утилиту и подключитесь к экземпляру сервера под учетной записью с правами системного администратора (обычно это пользователь sa или текущий пользователь Windows, если используется смешанный режим аутентификации).
В обозревателе объектов найдите узел «Базы данных», нажмите на него правой кнопкой мыши и выберите пункт «Создать базу данных». В открывшемся окне укажите имя базы. Здесь важно соблюдать правила именования: имя должно начинаться с буквы, не содержать пробелов и специальных символов, кроме подчеркивания. Рекомендуется использовать латиницу, например, Accounting_DB.
Особое внимание следует уделить параметрам сортировки (Collation). Для корректной работы 1С в большинстве случаев требуется сортировка, чувствительная к регистру, но нечувствительная к акцентам, с поддержкой Cyrillic. Стандартным и рекомендуемым вариантом является SQL_Latin1_General_CP1251_CI_AS. Неправильный выбор сортировки может привести к некорректному поиску данных или ошибкам при обновлении конфигурации.
После задания имени и параметров сортировки перейдите на вкладку «Файлы». Здесь можно задать начальный размер файла данных (.mdf) и файла журнала транзакций (.ldf). Не оставляйте значения по умолчанию слишком маленькими, если ожидается большой объем данных. Также рекомендуется включить автосортировку (Autogrowth), чтобы база могла расширяться по мере заполнения, но лучше установить фиксированный шаг прироста, чтобы избежать фрагментации диска.
Настройка прав доступа и пользователей SQL
Просто создать базу недостаточно — необходимо настроить права доступа для пользователя, от имени которого сервер 1С будет обращаться к данным. В идеальной архитектуре безопасности не следует использовать учетную запись системного администратора sa для повседневной работы приложений.
Создайте нового пользователя в области безопасности сервера. Вы можете выбрать аутентификацию SQL Server (логин и пароль) или аутентификацию Windows. Для серверных установок 1С часто предпочитают аутентификацию Windows, создавая доменную учетную запись службы 1С, что повышает безопасность за счет единой точки управления паролями.
После создания логина необходимо сопоставить его с созданной ранее базой данных. Перейдите в свойства пользователя, выберите страницу «Сопоставление пользователей» (User Mapping) и отметьте галочкой вашу базу Accounting_DB. В нижней части окна, в разделе «Членство в ролях базы данных», обязательно установите флаг db_owner.
| Роль SQL Server | Описание прав | Необходима для 1С |
|---|---|---|
| db_owner | Полный доступ ко всем объектам базы, возможность создания таблиц и хранимых процедур | Да (обязательно) |
| db_datareader | Только чтение данных из всех пользовательских таблиц | Нет (недостаточно) |
| db_datawriter | Только добавление, удаление и изменение данных | Нет (недостаточно) |
| sysadmin | Полные права на весь экземпляр сервера SQL | Нет (избыточно и небезопасно) |
⚠️ Внимание: Никогда не выдавайте права
sysadminучетной записи, используемой для подключения 1С. Это нарушает принцип наименьших привилегий и создает уязвимость в случае компрометации учетной записи сервиса 1С.
Регистрация базы в кластере серверов 1С
Теперь, когда база данных физически создана в SQL и права настроены, необходимо зарегистрировать её в кластере серверов 1С. Для этого запустите консоль администрирования серверов 1С (ras) или используйте графический интерфейс, если он доступен в вашей версии платформы.
Подключитесь к центральному серверу кластера. Раскройте ветку с именем кластера, затем найдите узел «Информационные базы». Нажмите правой кнопкой мыши и выберите «Добавить». В мастере создания укажите имя информационной базы, которое будет видеть пользователь в списке запуска.
На следующем этапе выберите тип размещения базы данных. Здесь нужно выбрать пункт «На сервере SQL Server». В поле «Сервер баз данных» укажите имя или IP-адрес вашего SQL сервера. Если используется именованный экземпляр, формат должен быть ServerName\InstanceName.
☑️ Проверка перед регистрацией
В поле «Имя базы данных» введите точное имя, которое вы задали при создании в SSMS. Далее введите учетные данные (логин и пароль) пользователя SQL, которому вы выдали права db_owner. Если используется аутентификация Windows, эти поля можно оставить пустыми, при условии, что служба 1С запущена от имени доменного пользователя с соответствующими правами.
Инициализация и создание таблицы конфигурации
После ввода всех параметров мастер предложит создать базу данных 1С. В этот момент платформа подключится к указанному экземпляру SQL и начнет создавать служебные таблицы. Этот процесс может занять от нескольких секунд до нескольких минут в зависимости от скорости дисковой подсистемы сервера.
В ходе инициализации создаются системные таблицы, такие как _1SCache, _1SUsers, _1SDataLog и другие. Именно наличие этих таблиц сигнализирует о том, что база готова к приему конфигурации. Если на этом этапе возникает ошибка, чаще всего проблема кроется в правах доступа пользователя SQL или в неверной строке соединения.
Если создание прошло успешно, вы увидите новую базу в списке информационных баз. Однако она пока пуста — в ней нет ни конфигурации, ни данных. Для начала работы необходимо запустить Конфигуратор от имени администратора базы данных.
⚠️ Внимание: При создании базы через консоль администрирования убедитесь, что на сервере 1С установлен тот же набор компонентов СУБД, что и на рабочей станции, с которой вы выполняете регистрацию. Отсутствие драйвера ODBC на сервере 1С приведет к ошибке соединения.
Загрузка конфигурации и завершение настройки
Запустите 1С:Предприятие в режиме Конфигуратора, выбрав созданную базу. При первом входе система запросит создание администратора базы данных 1С. Придумайте надежное имя и пароль — это будет главный пользователь с полными правами внутри платформы.
После входа в пустую конфигурацию вам необходимо загрузить файл конфигурации (.cf или .cfu). Перейдите в меню Конфигурация → Загрузить конфигурацию из файла. Выберите актуальный файл вашей типовой или самописной конфигурации.
После загрузки структуры метаданных обязательно выполните обновление конфигурации базы данных. Выберите пункт Конфигурация → Обновить конфигурацию базы данных. В процессе обновления будут созданы все необходимые таблицы для хранения документов, справочников и регистров, определенных в вашей конфигурации.
Что делать, если обновление зависло?
Если процесс обновления конфигурации базы данных завис на одном месте более чем на 30 минут, проверьте логи SQL Server. Часто причиной является нехватка места в файле журнала транзакций (.ldf) или блокировка таблиц антивирусом. Попробуйте временно исключить папку с данными SQL из проверки антивируса.
По завершении обновления база полностью готова к работе. Вы можете перейти в режим «1С:Предприятие», войти под созданным администратором и начать вводить начальные остатки или работать с системой в обычном режиме. Теперь ваша база работает на мощном движке SQL Server, обеспечивая высокую производительность.
Успешное создание базы 1С на SQL зависит от трех факторов: правильной сортировки (Collation), наличия прав db_owner у пользователя подключения и корректной настройки сетевого взаимодействия между сервером 1С и сервером SQL.
Частые вопросы и решение проблем
Почему возникает ошибка «Сервер баз данных не найден» при создании?
Эта ошибка чаще всего указывает на проблемы с сетевым подключением или именем экземпляра. Проверьте, доступен ли сервер SQL по сети (команда ping), правильно ли указано имя экземпляра (не забыт ли слэш \ для именованных экземпляров) и не блокирует ли брандмауэр порт 1433. Также убедитесь, что служба SQL Server Browser запущена, если вы подключаетесь к именованному экземпляру без указания порта.
Можно ли перенести файловую базу 1С на SQL Server?
Да, это стандартная процедура. Вам нужно создать пустую базу на SQL Server по инструкции выше, а затем в Конфигураторе использовать выгрузку конфигурации из файловой базы в файл .cf и загрузку её в новую SQL базу. Данные (документы и справочники) переносятся через обработку выгрузки/загрузки данных в формате .dt или через специализированные инструменты миграции.
Какой размер страницы базы данных оптимальнен для 1С?
Для современных версий 1С:Предприятие (8.3 и выше) рекомендуется использовать размер страницы 8 Кб, который является стандартным для SQL Server по умолчанию. Изменение размера страницы на 4 Кб или 16 Кб возможно, но требует пересоздания базы и может повлиять на производительность определенных типов запросов. В 99% случаев стандартные настройки оптимальны.
Нужно ли делать дефрагментацию базы SQL для 1С?
Регулярная дефрагментация индексов и обновление статистики полезны для любой базы данных SQL Server, включая 1С. Однако платформа 1С имеет собственные механизмы оптимизации. Рекомендуется настроить план обслуживания (Maintenance Plan) в SQL Server для реорганизации индексов в ночное время, но не следует вмешиваться в служебные таблицы 1С вручную без понимания их структуры.