Понятие клиент-серверной 1С
На самом деле 1С всегда работает в варианте клиент-сервер. Но в случае, когда работа осуществляется на локальном компьютере (файловый вариант) 1С сама делит память компьютера на условно-клиентскую и условно-серверную часть и использует свою встроенную систему управления базами данных. В клиентской части формируются запросы к 1С, затем передаются в серверную и там обрабатываются, результат возвращается обратно в клиентскую. Однако принято называть это файловым вариантом работы с базой.
Вариант работы с 1С называется клиент-серверным тогда, когда для работы с базой используют сторонние СУБД. 1С поддерживает работу с: IBM DB2, MS SQL, Oracle DB, PostgreSQL. Сторонние системы управления базами данных являются намного более мощными по сравнению со встроенными в 1С и обеспечивают лучшее быстродействие, а также повышают защищенность баз. Далее в статье мы будем рассматривать внедрение клиент-серверной архитектуры на базе MS SQL. Именно SQL считается лучшим для работы с 1С. Postgree, например, требует частого реиндексирования баз, DB2, в сравнении со своими конкурентами, имеет существенные ограничения по максимальной длине числа, а Oracle имеет известные проблемы с упорядочиванием данных.
Когда стоит переносить базу из файлового варианта в серверный?
- Если с базой работают до 5-7 человек и база имеет небольшой размер – достаточно файлового варианта.
- Если с базой работают 8-12 человек и вес базы приближается к 4Гб, то имеет смысл задуматься о переходе на “клиент-сервер.” В данном случае многое зависит от личных ощущений от работы с базой при большом одновременном количестве пользователей. Дело в том, что при работе в базе каждый пользователь, обращаясь к регистрам, блокирует доступ к ним для других пользователей и другие пользователи, при попытке обращения к заблокированному регистру, встают в очередь. А в это время 1С висит. Поэтому, если подвисания при большом количестве пользователей начинают мешать работе, пора совершенствовать архитектуру.
- Если с базой работают более 15 человек и размер базы более 4Гб, то клиент-сервер необходим.
Установка клиент-серверной 1С
Для того, чтобы развернуть клиент-серверную 1С необходимо выполнить несколько шагов.
- Установить MS SQL на сервер.
- Установить платформу 1С на тот же сервер.
- Установить 1С на клиентских компьютерах, с которых будет осуществляться подключение к серверу.
- Создать информационную базу в SQL
Рассмотрим каждый шаг подробно.
Установить MS SQL на сервер
На сервере, или мощном компьютере, который будет работать как сервер, запустите файл “setup.exe” из папки/диска с дистрибутивом SQL. В случае, если на компьютере нет компоненты Microsoft.NET Framework установщик выдаст предупреждение. Нужно обновить операционную систему, либо просто скачать и установить framework с официального сайта Microsoft. Это бесплатно.
После запуска установщика, потребуется ввести лицензионный ключ продукта, затем, как всегда, внимательно прочитать текст лицензионного соглашения, отметить галочку “Я согласен, принимаю” и двигаться далее.
На этапе выбора компонент, если вы собираетесь использовать SQL только для работы с 1С, имеет смысл оставить всего несколько галочек: напротив “Службы компонента Database Engine”, Средства связи клиентских средств (или “Client Tool Connectivity” для английской версии) и Средства управления (Management Tool). Другие компоненты SQL при работе с 1С не используются, их устанавливать не нужно.
Нажимайте “Далее”.
На закладке “Параметры сортировки” Конфигурации сервера проверьте, что выбрано “Cyrillic_General_CI_AS”.
В “Конфигурации сервера” отметьте “Смешанный режим”, как показано на рисунке, и введите пароль для суперпользователя SQL (Логин суперпользователя: sa). На этой же закладке укажите администратора данного экземпляра SQL, их может быть несколько.
На соседней закладке “Каталоги данных” выберите для пользовательских баз данных и баз данных TEMP расположение на максимально производительных дисках (например на SSD, желательно на RAID)
Нажимайте “Далее” и “Установка”. Дальнейшие настройки можно оставить по умолчанию. Дождитесь завершения установки и SQL готов к работе.
Установить платформу 1С на сервер
Установка платформы 1С описана в другой нашей статье – “Администрирование 1С”, в разделе “Установка 1С”. Установка на сервер почти полностью совпадает с установкой на локальный компьютер, с одной лишь разницей. В серверном варианте при выборе устанавливаемых компонент необходимо выбрать “Сервер 1С:Предприятия” и “Администрирование сервера 1С:Предприятия”.
Установить 1С на клиентских компьютерах, с которых будет осуществляться подключение к серверу
Установка на клиентских компьютерах ничем не отличается от способа, описанного ранее в статье “Администрирование 1С”.
Оставьте заявку на консультацию
Создать информационную базу в SQL
Создание информационной базы в SQL тоже очень похоже на создание базы в файловом варианте. Разница заключается в том, что на этапе выбора типа расположения информационной базы необходимо выбрать “На сервере 1С:Предприятия”.
И далее задать необходимые параметры.
В пункте “Кластер серверов” укажите имя (а лучше IP-адрес) сервера, на который устанавливали SQL.
В пункте “Имя информационной базы” укажите любое имя, которое хотите дать базе.
Тип СУБД – SQL.
Пользователь базы данных и его пароль – тот самый суперпользователь, о котором говорилось выше, на этапе установки MS SQL.
Смещение дат оставьте по умолчанию.
Необходимо отметить пункт “Создать базу данных в случае ее отсутствия” и нажать “Далее”.
Теперь база успешно создана на сервере SQL и добавлена в список доступных баз. Внизу на картинке можно увидеть результат проделанной работы.
Стоить отметить, что созданная база пока еще пустая. Это каркас, место, выделенное в SQL под вашу информационную базу. Для того, чтобы загрузить свою базу в этот каркас – необходимо воспользоваться средствами Выгрузки/Загрузки информационной базы. Процедура Выгрузки/Загрузки также описана в другой нашей статье “Администрирование 1С”.
Для того, чтобы довести систему до идеального состояния в дальнейшем необходимо будет настроить “план обслуживания” созданной базы данных. План обслуживания – это набор процедур, которые SQL будет выполнять регулярно по заданному расписанию. Например, будет регулярно делать резервные копии и удалять временные файлы. Работа с SQL выходит за рамки темы статьи и будет описана в одной из следующих.