Когда переводить базу данных 1С на SQL?
Как известно программа 1С имеет две основных архитектурных реализации касательно хранения данных: файловая версия и версия на СУБД. Все знают, что файловая база подходит для работы нескольких пользователей малого предприятия, при условии что сама база также не большая, а для средних и крупных предприятий без СУБД не обойтись. Также очень типичны случаи, когда ведение учета начинается в небольшой файловой базе, а далее она начинает стремительно расти – увеличивается количество бизнес-процессов, которые автоматизируют данной программой, в следствии чего увеличивается количество пользователей, которые в ней работает, а также сама база. Со временем база начинает притормаживать и наступаем момент когда необходимо переходить на СУБД. Как же определить тот момент, когда стоит задуматься о переходе на SQL? Ведь сам переход и подготовка для него инфраструктуры требует немало времени, а также денежных затрат.
Предпосылки, которые заставляют задуматься о переходе на СУБД следующие:
Если несколько пользователей обратились к данным, хранящимся в одной таблице — то данные будут доступны только первому пользователю, а всем следующим будет выдано сообщение «Ошибка блокировки данных».
Если в базе работает от 1 до 5 пользователей, то данная проблема практически не заметна, так как вероятность того, что в один момент времени к одной и той же таблице обратятся несколько пользователей невелика, но с каждым дополнительным пользователем эта вероятность возрастет.
Это что касается симптомов, которые могут указать на необходимость перехода.
Теоретически момент перехода возможно просчитать заранее. Производительность 1С зависит от 3 ключевых факторов:
Основным показателем, который влияет на производительность базы 1С является количество пользователей работающих с базой. Файловая база при количестве пользователей от 1 до 5 работает значительно быстрее чем СУБД и в таком случаи перевод на SQL повлечет не только дополнительные затраты, но и ухудшение работы системы.
При количестве пользователей порядка 5-10 работа файловой базы отличается от работы СУБД не значительно, после 10-15 пользователей производительность файловой базы очень сильно падает и если количество пользователей довести до 20-25 с базой практически не возможно будет работать по причине блокировок и очень сильному замедлению работы. Ниже приведены графики зависимости производительности 1С от количества пользователей для разных конфигураций.
Также весомой характеристикой базы есть ее размер, в случае, если файловая база занимает более 1 Гб данных, ее целесообразно перевести на СУБД.
Переезд файловой базы 1с на sql работу
Как всегда данная заметка опирается на то, где я показал как создавать бекап файловой базы 1С на действующем терминальном сервере:
после этот заметки у меня на выходе имеется файл конфигурации базы (расширение *.dt)
Подключаюсь по RDP к серверу (srv-bd3 под управлением Windows Server 2008 R2 Enterprise) где развернут сервис базы данных (установка аналогична заметке)
и в оснастке SQL Server 2014 Management Studio создаю новую базу данных.
Mstsc /v:srv-bd3
Start — All Programs — Microsoft SQL Server 2014 — SQL Server 2014 Management Studio, подключаюсь в текущую систему:
Server type: Database Engine
Server name: srv-bd3
Authentication: Windows Authentication
и нажимаю Connect, затем когда подключение оснастки sql management прошло успешно создаю новую базу данных:
srv-db3 (SQL Server 12.0.4213.0 — POLYGON\aollo) — и через правый клик мышью на Databases вызываю меню New Database…, далее заполняю поля создания новой базы данных:
Database name: alfa
Owner: Нажимаю Обзор (…) — Browse — отмечаю галочкой объект который будет владельцем данной базы, выбираю себя [POLYGON\aollo] и нажимаю OK, OK
После чего нужно предопределить согласно моей заметке параметры работы для 1С, повторяться по новой я не буду, как только все параметры буду предопределены нажимаю OK тем самым создается новая БД.
Отлично, теперь подключаюсь к серверу на котором у меня развернут кластер 1С и создаю новое подключение к созданной базе данных выше по данной заметки:
mstsc /v:srv-1c82-1c
Start — All Programs — 1C Предприятие 8.2 — Дополнительно — Администрирование серверов 1С Предприятия — Console Root — Central 1C:Enterprise 8.2 servers — srv-1c82-1c — Кластеры — 1541 — и через правый клик мышью по «Информационные базы» создаю новое подключение к информационной базе — New — Информационная база:
Имя: alfa
Описание: alfa
Защищенное соединение: выключено
Сервер баз данных: 10.7.7.100
Тип СУБД: MS SQL Server
База данных: alfa
Пользователь сервера БД: sa
Пароль пользователя БД: 712mbddr@
Разрешить выдачу лицензий сервером 1С:Предприятия: Да
и нажимаю после кнопку OK — если все параметры подключения указаны верно новая информационная база будет создана.
Теперь запускаю клиент 1С (8.2.19.121) в режиме конфигуратора на подключение к этой базы и к этому кластеру 1С. На хосте srv-1c82-1c проделываю:
Start — All Programs — 1C Предприятие 8.2 — Дополнительно — 8.2.19.121 — Конфигуратор и настраиваю подключение к информационной базе:
Список информационных баз пуст. Добавить в список информационную базу? — отвечаю Да
Укажите наименование информационной базы: alfa
Выберите вариант подключения к информационной базе: На сервере 1С:Предприятие
и нажимаю Далее
Кластер серверов 1С:Предприятия: srv-1c82-1c
Имя информационной базы в кластере : alfa
и нажимаю Далее
Вариант аутентификации: Выбирать автоматически
и нажимаю Готово
Итак подключение к информационной базе прописано в клиент 1С — теперь подключаюсь к этой базе в режиме «Конфигуратор», подключение проходит без какой либо аутентификации.
Теперь открываю меню «Администрирование» — Загрузить информационную базу — указываю путь до месторасположения выгруженного скриптом резервной копии ( BazaAlfa_2016_06_05_23_05_08.dt ) и нажимаю Open, на появившееся сообщение:
После загрузки информационной базы работа Конфигуратора будет завершена. Не сохраненные данные в открытых окнах могут быть потеряны. Продолжить? Отвечаю «ДА» и ожидаю покуда завершится процесс загрузки (чем больше файл dt тем дольше загрузка).
Ожидаю покуда окно «Конфигуратор — Конфигурация» не закроется автоматически само, но перед этим должно появиться всплывающее окно с вот таким вот текстом:
Информационная база успешно запущена.
Работа Конфигуратора будет завершена.
Нажимаю Нет.
После того, как загрузка информационной базы из файловой резервной копии завершена я советую сделать бекап sql средствами.
А вот теперь когда бекап sql средствами готов можно уже прописать настройки подключения к кластеру 1С и базе пользователям, они же ничего и не заметят, т. к. для них ни каких существенных изменений не произойдет за исключением что понадобиться системный администратор который изменит настройки подключения, хотя и даже это можно сделать прозрачно всего лишь навсего подменить файл ibases.v8i на рабочих местах.
Проверяю, что могу авторизоваться в базе данных 1С (можно проверить как на клиентской станции так и на самом кластере 1С):
Start — All Programs — 1C Предприятие 8.2 — Дополнительно — 8.2.19.121 — 1С Предприятие (тонкий клиент) — настройки подключения уже имеются (я запускаю клиент 1с на кластере 1с) — 1С:Предприятие — предо мной предстает окно где нужно указать имя пользователя и его пароль на подключение к базе, в моем случае я ранее был заведен в административных целях в файловой базе, а потому идентифицируюсь:
Пользователь: aollo
Пароль: Aa1234567
и нажимаю «ОК» — подключение успешно проходит (как я и говорил выше пользователь не заметит разницы что было до и что стало после)
Вот собственно и все что нужно сделать по переносу файловой работы с 1с на более быстрый и удобный в плане администрирования вариант работы. На этом я прощаюсь и до новых встреч, с уважением ekzorchik.
Перенос файловой базы 1С в SQL
Продукты фирмы «1С» имеют два основных решения для хранения данных: файловая база данных и база данных, размещенная на SQL Server (поддерживается как Microsoft SQL Server, так и бесплатный PostgreSQL, Oracle Database, IBM Db2). Файловые базы данных как правило используют небольшие компании с 1-10 пользователями, при этом быстрого роста объема базы данных в среднесрочной перспективе не предвидится. Если у Вас “тормозит база 1С”, вы постоянно отмечаете рост пользователей или на этапе проектирования решения Вы рассчитываете на достаточно быстрый рост объема данных, Вам пора задуматься о переезде файловой базы 1С на SQL Server.
Не получается самостоятельно перенести файловую базу на SQL сервер? Обратитесь за консультацией к специалистам IT-Lite. Узнать подробнее об условиях предоставления услуг можно у специалистов компании по телефону: 8(495)646-23-16 или отправив запрос на почту: sales@it-lite.ru.
Как перенести файловую базу 1С в SQL?
Перенос базы 1С производится в режиме 1С “Конфигуратор”.
Для переноса файловой базы на сервер SQL необходимо выполнить следующие действия:
Особые указания для настройки портов:
Создание специальных служб
Создание кластера 1С 8.3
Настройка кластера 1С 8.3:
Первый способ создания базы данных
Название базы в кластере 1С и на SQL сервере могут быть разные.
Заходим в директорию кластеры/локальный кластер/New/информационная база.
Указываем параметры информационной базы:
При отдельном сервере приложений 1С, адрес сервера баз данных может быть прописан в hosts.
Второй способ создания базы данных
Нажимаем кнопку “Добавить”.
Выбираем пункт “Создание информационной базы”.
Когда мы рекомендует перенос файловой базы на клиент-серверный вариант
Наша практика показывает, что файловые базы данных являются оптимальным решением, пока объем базы не превысил 3 Гб.