Начало работы
Подсистема работает в конфигурациях 8.2 и 8.3 в толстом, тонком и WEB -клиенте (обычные и управляемые формы). Сейчас сложилась парадоксальная ситуация. Есть конфигурации, которые используют обычные формы, есть которые работают на управляемых формах, а также есть те, которые работают и так, и так. Наша подсистема позволяет работать в любом режиме, причем если будет запущена в толстом клиенте, то будет интерфейс и формы толстого клиента, если в тонком или WEB, то на управляемых формах. При этом практически не будет никакой разницы с точки зрения функциональности.
Регистрируются изменения для следующих видов объектов: константы, справочники, документы, планы видов характеристик, планы счетов, планы видов расчета, бизнес-процессы, задачи и регистры сведений.
Для хранения истории изменений объектов используется внешняя информационная база 1 C «Хранитель журнала регистрации». Был выбран именно механизм внешнего хранения изменений, т.к. он не влияет на размер основной информационной базы 1 C , а работа напрямую с внешней базой данный позволяет быстро производить чтение и запись событий.
Алгоритм работы подсистемы такой: при произведении изменения объекта, полный образ изменённого объекта попадает в так называемый «кэш журнала регистрации» – справочник в подсистеме, в который попадают все данные по измененным объектам. Затем, фоновое задание запускает перенос данных из кэша во внешнюю базу данных хранителя, данные просто переносятся из кэша. Далее в информационной базе хранителя происходит определение изменений. Что это значит? Приведем пример. Допустим пользователь «А» создал номенклатуру, заполнил ее и сохранил. Затем пользователь «Б» через время открыл ее и изменил в ней один реквизит, после чего также сохранил. При этом наша подсистема позволит Вам увидеть, как то, что пользователь «Б» изменил без показа всех остальных реквизитов, табличных частей и т.д., так и полные образы объектов. Это позволяет точно сказать, что было изменено пользователем, а что нет. Удобно, не правда ли?
При просмотре истории данные по изменениям подгружаются из внешней базы хранителя и из кэша. Причем данные, которые находятся в кэше в журнале «подсвечиваются» темно-красным цветом , данные которые находятся в базе хранителя и не определены изменения отображаются светло-серым цветом , а данные которые обработаны обычным черным цветом. Как уже было сказано ранее, данные в кэше содержат полный образ объекта на момент изменения объекта (содержат все реквизиты, все табличные части, все предопределённые реквизиты), а в хранителе хранятся те же полные образы, но уже с определением изменений, т.е. как было и как стало.
После переноса «сжатых» данных из кэша в базу данных хранителя, изменения в кэше удаляются. Таким образом, общий размер информационной базы остается практически неизменным.
Какие могут быть сложности при восстановлении бэкапа базы 1С?
При восстановлении бэкапа (архивной копии) например базы 1С, которая работает на сервере под управлением MS SQL Server, может возникнуть следующая интересная проблема. У Вас есть архивная копия базы и Вы пытаетесь ее загрузить в новую пустую конфигурацию, которая только что была создана с помощью мастера управления списком информационных баз 1С на сервере 1С и сервере баз данных. Для управления база данных работающих на системе Microsoft SQL Server часто используется утилита под названием Microsoft SQL Server Management Studio. С помощью которой можно через пользовательский интерфейс, не используя скрипты/консольные команды, развернуть архив базы.
Путь к восстановлению бэкапа
Окно восстановления базы Закладка Основная
В списке серверов выбираем необходимый нам сервер БД, дальше базу данных. Щелкнув по наименованию нужной базы выбираем — Tasks — Restore Database. У нас откроется окно восстановления базы Restore Database — . На закладке General укажем откуда нам необходимо восстановить базу (из файла бэкапа или из другой базы, работающей на сервере), и в какую базу восстановим архив. Перейдя на закладку Options установим флаг — Overwrite an existing database (WITH REPLACE). Жмем кнопку ОК для запуска процесса восстановления.
SQL Managment Studio Ошибка при попытке восстановить базу
И получаем ошибку: «Error — Exclusive access could not be obtained because the database is in use».
Все что нам нужно сделать это установить флаг «close existing connections to destination database» на закладке Options в группе «Server connections», которая позволяет разорвать соединение с устанавливаемое сервером 1С. Но данный флаг может быть недоступен. Обойти это ограничение можно следующим образом.
Весь тот же путь к восстановлению базы мы проходим щелкнув правой кнопкой мыши по разделу Databases находящийся в разделе с сервером дерева объектов в левой части экрана. И выбрав непосредственно «Restore database. «. Далее открывается знакомое нам окно восстановления и мы сразу же переходим на закладку Options, где будет доступен флаг для завершения всех соединений с данной базой, непосредственно перед восстановлением архивной копии, сервером баз данных. И после этого на основной закладке мы можем выбрать в какую из существующих баз нам нужно восстановить архивную копию.
Перенос файловой базы 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 необходимо выполнить следующие действия:
-
Открыть конфигуратор файловой базы.
Особые указания для настройки портов:
- Выбор портов осуществляется из диапазона от 10 000 до 60 000.
- Нужно исключить переключение с другими диапазонами.
- Пример выбора диапазонов: “ 23560:23591, 12560:12591”.
- Управляющий порт для работы из оснастки: 23540.
- Порт подключения из 1С: 23541.
- Пример подключения к кластеру 1С: “:23541; :23541”. Все настройки подключения к базам храниться здесь: *\Users\%username%\AppData\Roaming\1C\1CEStart\ibases.v8i
Создание специальных служб
- Запускаем командную строку от имени Администратора
- Команда: Sc create =»C:\Program Files\1cv8\8.3.4.465\bin\ragent.exe» DisplayName= type= own start= auto
- Вводим в командной строке команду “regedit”
- Находим строку
- Редактируем строку “ImagePath”
- Приводим строку “ImagePath” к виду: «C:\Program Files\1cv8\8.3.5.1098\bin\ragent.exe» -srvc -agent -regport 23541 -port 23540 -range 23560:23591 -d
Создание кластера 1С 8.3
Настройка кластера 1С 8.3:
- Подключаемся к первому серверу по порту: 23540
- Подключаемся ко второму серверу по порту: 23540
- На втором сервере удаляем полностью кластер:
Заходим в свойства сервера и ставим галочку:
Первый способ создания базы данных
Название базы в кластере 1С и на SQL сервере могут быть разные.
Заходим в директорию кластеры/локальный кластер/New/информационная база.
Указываем параметры информационной базы:
При отдельном сервере приложений 1С, адрес сервера баз данных может быть прописан в hosts.
Второй способ создания базы данных
Нажимаем кнопку “Добавить”.
Выбираем пункт “Создание информационной базы”.
- Microsoft SQL Server
- PostgreSQL
- Oracle Database
- IBM Db2.
- Через консоль администрирования кластера 1С;
- Через окно запуска 1С:Предприятие.
- Имя – название вашей базы 1С;
- Сервер баз данных – указываем имя кластера 1С;
- База данных – название базы данных в вашей СУБД SQL;
- Пользователь сервера БД – логин от администратора СУБД SQL;
- Пароль сервера БД – пароль от администратора СУБД SQL.
Добавляем в 1С: Предприятие пустую базу, которая была создана в кластере 1С.
По окончанию загрузки нужно перезапустить Конфигуратор нажатием кнопки «Да»:
Когда мы рекомендует перенос файловой базы на клиент-серверный вариант
Наша практика показывает, что файловые базы данных являются оптимальным решением, пока объем базы не превысил 3 Гб.
Не удается осуществить перенос файловой базы на Microsoft SQL сервер самостоятельно? Оставьте запрос для специалистов IT-Lite: тел. 8(495)646-23-16, email: sales@it-lite.ru.
Перенос базы 1С на SQL сервер
Повышение скорости работы 1С, отказоустойчивости системы.
от 2 800 руб./час
Программные продукты фирмы 1С имеют два основных формата хранения базы данных: файловая база данных и база данных, размещенная на SQL Server средствами СУБД
В список поддерживаемых СУБД входят:
Файловые базы данных, как правило, используют небольшие компании с 1-5 пользователями, где нет большого объема документооборота, а также не произойдет быстрого роста объема базы данных.
Когда нужно переходить с файловой базы 1С на СУБД MS SQL?
Если конфигурация долго открывается и также долго открываются и проводятся документы, если периодически выскакивают ошибки «Нарушена целостность базы данных» или «Файл базы данных поврежден», файл ИБД *.1СD имеет объем более 5ГБ, планируется рост пользователей или в результате внедрения еще одной конфигурации 1С планируется достаточно быстрый рост объема данных, пора задуматься о вопросе, как перенести файловую базу 1С на SQL поскорее и узнать, что такое сервер 1С.
Преимущества SQL
Если переход все же вызывает некоторые колебания, стоит учесть, что преимуществ у клиент-серверного варианта значительно больше, чем недостатков, а у файлового – наоборот.
При высокой отказоустойчивости и поддержке бесконечно большой базы данных SQL-сервер дает возможность одновременной работы большому числу пользователей. Конечно, наиболее мощные СУБД – MS SQL Server/Oracle стоят недешево, но бесплатный вариант PostgreSQL также широко используется в среде 1С. Да, SQL требует настройки сервера 1С и администрирования, но подобные услуги оказывает широкий круг компаний-франчайзи 1С, и конечно же – наша.
Работа с файловой базой плохо защищена, потому что доступ к копированию файла БД открыт любому пользователю, плохо масштабируется и начинает «тормозить», когда пользователей становится больше пяти из-за высокого уровня изоляции транзакций, а также имеет ограничения по размеру в 5-10 Гб. При этом отдельные функции конфигурации при таком варианте просто не работают (к примеру, регламентные задания).
Да, быстрая настройка, отсутствие дополнительного ПО и низкая цена – весьма привлекательные «черты» файловых БД, но выбор в их пользу может иметь место только при построении самой простой информационной системы.
Этапы перехода на внешнюю СУБД
Для переноса файловой базы 1С 8.3 на сервер SQL проделаем следующие шаги:
Шаг №1 Выгрузка ИБ
Откроем конфигуратор файловой версии базы 1С.
В конфигураторе выбираем пункт меню «Администрирование» и «Выгрузить информационную базу».
Итогом процесса выгрузки будет файл *.dt.
Шаг №2 Создание кластера
Для данного пункта запустим консоль управление сервером 1С.
Важно: Для работы сервера 1С обязательно требуется установка лицензии на сервер 1С.
Лицензия бывает 32х-разрядная и 64х-разрядная. Разрядность определяет количество ОЗУ доступное серверу 1С: у 32х до 4ГБ, а 64х более 4ГБ.
Для уточнения цен, подбора сервера для 1С с учетом плановых нагрузок и форматов обслуживания таких систем обратитесь к нашим специалистам. Мы с радостью подберем для вас подходящее решение.
В открывшемся приложении выберите «Кластер-Создать кластер», а если кластер уже создан, выберите существующий.
Шаг №3 Создание базы данных в кластере
Следующим шагом в процессе миграции базы 1С будет создание новой конфигурации в кластере. Существует два возможных варианта создания базы 1С на сервере 1С:
Создание информационной базы в кластере через консоль администрирования кластера 1С
Чтобы создать базу 1С в СУБД SQL, выбираем «Создание новой информационной базы» и заполнить обязательные поля:
Далее добавляем эту ИБД в список 1С для последующего запуска конфигуратора 1С и загрузки ранее подготовленного файла выгрузки базы. После того как база в кластере создана, добавляем ее в список баз 1С. Для этого запускаем 1С:Предприятие и «Добавить…» базу 1С.
Далее выбираем «Добавление в список существующей информационной базы» и переходим «Далее».
После появления формы добавления базы 1С, заполняем последние строки в списке и переключаем режим работы на «На сервере 1С:Предприятие».
Запуск 1С:Предприятие и добавление конфигурации
Этот способ быстрее предыдущего и бывает полезен, когда, например, вы не установили у себя компоненту консоли управления при установке платформы. Чтобы им воспользоваться, запускаем 1С:Предприятие и в открывшемся окне приложения жмем кнопку «Добавить».
Далее выбираем «Создание информационной базы».
После перехода в следующий пункт меню выбираем « Создание информационной базы без конфигурации для разработки новой конфигурации» или «Загрузки выгруженной ранее информационной базы».
Следующим шагом будет выбор пункта «На сервере 1С:Предприятие».
Мы попадем в искомое нами окно заполнения полей для создания базы на сервере 1С.
Шаг №4 Завершение переноса
Перенос базы 1С на SQL-сервер
Поможем определить необходимость переноса базы 1С на SQL и подготовить инфраструктуру
от 2 800 руб.
Перенос данных 1С
Переходите на новую программу 1С? Проведем бесплатный анализ и перенесем только необходимые данные
от 2 800 руб.
После запуска конфигуратора переходим в раздел «Администрирование» и выбираем пункт «Загрузить информационную базу».
Далее выбираем ранее сохраненный файл выгрузки и начинаем непосредственно процесс загрузки базы на СУБД SQL.
Готово! Ваша конфигурация успешно переведена из файлового режима на SQL-сервер.
Если повторная работа в конфигураторе не требуется, выбираем вариант «Нет» и запускаем базу в режиме «Предприятия» для проверки ее работоспособности.
Мы рассмотрели процесс миграции файловой базы на сервер 1С. Если в будущем вам потребуется перенос базы 1С SQL на другой сервер или у вас остались вопросы по этому переводу, обратитесь к нашим специалистам за консультацией, мы с радостью вам поможем.