Переход на серверный вариант работы с платформой 1С:Предприятие является неизбежным этапом развития любой компании, где количество пользователей превышает пять человек или объемы данных становятся критическими. Развертывание новой базы данных в среде Microsoft SQL Server требует не только установки программного обеспечения, но и грамотной настройки прав доступа, параметров хранения и сетевых протоколов. Ошибки на этом этапе могут привести к нестабильной работе системы, потере данных или существенному снижению скорости выполнения запросов.
В отличие от файловых баз, работающих на локальных дисках, клиент-серверная архитектура перекладывает нагрузку по обработке данных на выделенный сервер. Это позволяет организовать одновременную работу десятков и сотен пользователей без блокировок и зависаний интерфейса. Однако администратор должен четко понимать разницу между созданием информационной базы в конфигураторе и физическим созданием базы данных в движке СУБД.
Рассмотрим детальный алгоритм действий, который позволит вам корректно и безопасно развернуть новую базу 1С на SQL Server. Мы затронем вопросы предварительной подготовки сервера, настройки прав доступа для службы 1С и специфику подключения через консоль управления.
Подготовка сервера SQL и установка компонентов
Первым шагом является установка самой системы управления базами данных. Для работы с 1С рекомендуется использовать версии Microsoft SQL Server не ниже 2016 года, так как они обладают улучшенным оптимизатором запросов и поддержкой новых функций платформы. В процессе установки мастера необходимо выбрать режим смешанной аутентификации (Mixed Mode), чтобы обеспечить возможность входа как через учетные записи Windows, так и через логин sa.
Критически важным моментом является настройка службы SQL Server Agent и выбор кодировки. Платформа 1С чувствительна к параметрам сортировки (Collation). Для корректной работы с русским языком и специфическими символами в названиях объектов необходимо использовать кодировку Cyrillic_General_CI_AS. Неправильный выбор этого параметра на этапе создания экземпляра сервера потребует полной переустановки СУБД в будущем.
Также необходимо убедиться, что на сервере установлены все актуальные пакеты обновлений (Service Packs и Cumulative Updates). Производительность 1С напрямую зависит от эффективности работы движка SQL, и многие проблемы с "тормозами" решаются именно обновлением версии СУБД до последнего стабильного релиза.
⚠️ Внимание: Не устанавливайте SQL Server на контроллер домена. Это создает риски безопасности и может привести к проблемам с аутентификацией служб при сбоях в работе Active Directory.
После установки проверьте, запущены ли необходимые службы. В оснастке sqlmanager.msc убедитесь, что статус службы SQL Server (MSSQLSERVER) соответствует значению "Выполняется". Автоматический тип запуска гарантирует, что база будет доступна сразу после перезагрузки сервера.
Настройка прав доступа и создание пользователя 1С
Для взаимодействия с базой данных платформа 1С использует специальную учетную запись. Создавать базу от имени администратора sa категорически не рекомендуется из соображений безопасности. Вам необходимо создать нового пользователя в среде SQL Server, который будет владельцем баз данных 1С.
Войдите в SQL Server Management Studio под учетной записью администратора. Перейдите в раздел Security → Logins и создайте новый логин. Выберите тип аутентификации "SQL Server authentication", задайте сложный пароль и снимите галочку "Enforce password policy", если политика домена слишком строгая и мешает работе службы.
- 🔐 Назначьте роль sysadmin на этапе создания базы, чтобы пользователь мог выполнять любые операции.
- 📁 Укажите базу данных
masterкак базу по умолчанию для этого пользователя. - 🛡️ В свойствах пользователя на вкладке Status убедитесь, что статус установлен в Enabled.
После создания логина необходимо сопоставить его с именем входа в самой платформе 1С. Это делается через консоль администрирования серверов 1С Предприятия. Имя пользователя в SQL и имя в кластере серверов 1С могут отличаться, но пароль должен совпадать с тем, что вы задали в СУБД.
Используйте одинаковые имена пользователей (логин) в SQL Server и в кластере серверов 1С для упрощения администрирования и отладки проблем с подключением.
Регистрация кластера серверов 1С
Прежде чем создавать базу, нужно зарегистрировать центральный сервер в консоли администрирования. Запустите оснастку "Администрирование серверов 1С Предприятия". Если список серверов пуст, нажмите правой кнопкой мыши на "Центральные серверы 1С Предприятия" и выберите "Добавить".
Введите имя хоста или IP-адрес сервера, где установлен агент сервера 1С. По умолчанию используется порт 1541. Убедитесь, что брандмауэр Windows не блокирует входящие подключения на этот порт и порт диапазона DCOM, который используется для связи менеджеров процессов.
После добавления сервера раскройте ветку, найдите пункт "Кластеры" и создайте новый кластер. Система запросит имя пользователя и пароль, которые будут использоваться для доступа к этому кластеру. Эти данные хранятся в реестре локальной машины администратора и используются для аутентификации при управлении.
| Параметр | Значение по умолчанию | Рекомендация |
|---|---|---|
| Порт агента сервера | 1540 | Оставить без изменений |
| Порт менеджера кластера | 1541 | Открыть в фаерволе |
| Диапазон портов процессов | 1560-1591 | Открыть диапазон в фаерволе |
| Интервал блокировок | 20 сек | Увеличить при высокой нагрузке |
Успешная регистрация кластера отображается зеленым значком в дереве консоли. Если значок серый или с восклицательным знаком, проверьте службу "Агент сервера 1С:Предприятия" в списке служб Windows (services.msc).
Создание информационной базы в кластере
Теперь перейдем к непосредственному созданию базы. В консоли администрирования раскройте ветку вашего кластера, найдите узел "Информационные базы", кликните правой кнопкой мыши и выберите "Добавить информационную базу". Откроется мастер создания.
На первом этапе введите имя базы, которое будет видно пользователям в списке при запуске 1С. Далее необходимо выбрать тип размещения данных. Для нашего случая выбираем пункт На сервере 1С:Предприятия. Это ключевой момент, отличающий серверную базу от файловой.
В следующем окне мастер запросит параметры СУБД. В поле "Тип СУБД" выберите MS SQL Server. В поле "Сервер баз данных" укажите имя вашего SQL сервера (можно использовать точку . или localhost для локального подключения). В полях "Имя пользователя" и "Пароль" введите данные учетной записи, созданной нами ранее в разделе настройки прав доступа.
⚠️ Внимание: Имя физической базы данных в SQL Server по умолчанию совпадает с именем информационной базы в кластере 1С. Изменить его можно, но это усложнит поддержку и идентификацию при бэкапах.
Если вы планируете использовать базу для тестирования или демонстрации, можно сразу выбрать шаблон конфигурации из списка. Для продуктивной среды лучше создать пустую базу, а затем загрузить конфигурацию из файла .dt или обновить её из файла обновления .cfu.
☑️ Проверка перед созданием базы
Загрузка конфигурации и обновление схемы данных
После создания пустой базы она не содержит никаких объектов конфигурации. Вам необходимо запустить 1С:Предприятие в режиме Конфигуратора. При первом подключении к новой серверной базе система предложит загрузить конфигурацию из файла или создать новую с нуля.
Выберите пункт меню Конфигурация → Загрузить конфигурацию из файла и укажите путь к вашему файлу .dt. Процесс загрузки может занять от нескольких секунд до десятков минут в зависимости от объема метаданных и скорости дисковой подсистемы сервера.
После загрузки необходимо выполнить обновление конфигурации базы данных. Нажмите Конфигурация → Обновить конфигурацию базы данных. В этот момент платформа 1С генерирует SQL-скрипты для создания таблиц, индексов, представлений и хранимых процедур в среде SQL Server.
UPDATE _InfoRgTable SET _RecorderRRef = @p1 WHERE _RecorderRRef = @p2
В ходе обновления могут возникать предупреждения о необходимости перезапуска рабочих процессов. Это нормальная ситуация, так как изменяется структура метаданных. Дождитесь сообщения "Конфигурация базы данных успешно обновлена" перед тем, как переводить базу в рабочий режим.
Что делать, если обновление зависло?
Если процесс обновления конфигурации базы данных завис на этапе выполнения SQL-скриптов, проверьте журнал регистрации событий Windows и файл журнала SQL Server. Часто причина кроется в нехватке места в файле транзакционного лога (LDF). В таком случае нужно увеличить размер файла или добавить новый файл лога на другой диск через свойства базы в SSMS.
Оптимизация и обслуживание новой базы
Сразу после развертывания база данных требует первоначальной настройки для обеспечения стабильной работы. Стандартные настройки SQL Server ориентированы на универсальное использование и не всегда подходят для специфики 1С, где преобладают частые короткие транзакции и специфические типы соединений.
Рекомендуется выделить отдельные физические диски под файлы данных (.mdf) и файлы журналов транзакций (.ldf). Разнесение этих файлов по разным физическим носителям значительно повышает скорость записи и чтения, особенно в пиковые часы работы пользователей.
- 💾 Установите режим восстановления Simple (Простой), если у вас настроено резервное копирование средствами 1С или стороннего ПО, не требующее лога транзакций.
- 📈 Включите параметр
Auto Create StatisticsиAuto Update Statisticsдля автоматической оптимизации планов выполнения запросов. - 🚫 Отключите параметр
Auto Shrink, так как частое сжатие файлов фрагментирует данные и снижает производительность.
Также стоит настроить план обслуживания (Maintenance Plan) для регулярной перестройки индексов и проверки целостности базы данных (DBCC CHECKDB). Для баз 1С критически важна низкая фрагментация индексов, так как это напрямую влияет на скорость формирования отчетов и списков документов.
⚠️ Внимание: Параметры настройки SQL Server могут отличаться в зависимости от версии платформы 1С и конкретной конфигурации (УТ, ЗУП, БП). Всегда сверяйтесь с рекомендациями фирмы "1С" для вашей версии ПО.
Разделение файлов данных и логов на разные физические диски — самое простое и эффективное действие для ускорения работы серверной базы 1С.
Диагностика частых проблем при подключении
Даже при строгом следовании инструкции могут возникнуть ошибки при первом запуске. Самая распространенная проблема — "Сервер 1С:Предприятия не найден" или "Ошибка при подключении к информационному базе". Чаще всего это указывает на проблемы с сетевым экраном или службой регистрации.
Проверьте, работает ли служба "Служба регистрации серверов 1С Предприятия" (srv1cv83). Без неё клиент не сможет получить список доступных баз с сервера. Также убедитесь, что в настройках брандмауэра разрешены приложения ragent.exe, rmngr.exe и rphost.exe.
Если ошибка связана с правами доступа SQL ("Login failed for user..."), перепроверьте пароль в консоли администрирования 1С и в свойствах логина SQL Server. Убедитесь, что пользователь не заблокирован и имеет права на создание баз данных в режиме dbcreator или является членом роли sysadmin.
Как изменить порт подключения к SQL Server?
По умолчанию SQL Server использует динамические порты или порт 1433. Для 1С рекомендуется зафиксировать статический порт. Откройте SQL Server Configuration Manager, перейдите в раздел TCP/IP, откройте свойства и на вкладке IP Addresses укажите нужный порт в поле TCP Port для IPAll. После этого перезапустите службу SQL Server.
Можно ли перенести базу 1С с файлового варианта на SQL?
Да, это стандартная процедура. В конфигураторе файловой базы выберите "Администрирование → Выгрузить информационную базу", затем создайте новую базу на SQL и загрузите туда выгруженный файл .dt. Все данные и настройки сохранятся.
Какой объем оперативной памяти нужен для SQL сервера 1С?
Минимум 4 ГБ для тестовых баз. Для продуктивной среды рекомендуется выделять не менее 50-70% от всей доступной памяти сервера под SQL Server, оставляя остальное ОС и процессам 1С. Настройте параметр "Max Server Memory" в свойствах сервера SQL, чтобы он не забирал всю память ОС.
Что делать, если база 1С не видит сервер SQL?
Проверьте, включен ли протокол TCP/IP в настройках SQL Server Network Configuration. По умолчанию в новых версиях SQL он может быть отключен. Также проверьте работу службы SQL Server Browser, если используется именованный экземпляр.