Перейти к содержимому

Как настроить автоматический бэкап базы данных 1с ms sql server

  • автор:

Резервное копирование 1С на MSSQL

Резервное копирование баз 1С происходит стандартными планами обслуживания СУБД MSSQL. Система позволяет делать надежные полные, а также дифференциальные копии баз данных. Процесс резервного копирования проходит незаметно для клиента и может выполняться в рабочее время без остановки работы пользователей в 1С.

Если вам необходимо организовать резервное копирование 1С, мы предоставляем его бесплатно в рамках услуги аренда сервера 1С.

Вместе с резервным копированием целесообразно выполнять регламентные операции СУБД, они также делаются встроенными инструментами и их включают в планы обслуживания. Основные регламентные операции это:

  • Обновление статистики
  • Очистка процедурного КЭШа
  • Реорганизация индекса
  • Перестроение индекса

В нашей инструкции мы рассмотрим следующий план резервного копирования и регламентных операций с СУБД.

Субпланы резервного копирования

Daily_Full — Ежедневно в 0:00, кроме воскресенья. Полная резервная копия баз, реорганизация индексов, обновление статистик, очистка процедурного кэша.

Daily_diff — С понедельника по пятницу дважды в день, в 12.00 и 17:00. Дифференциальная копия баз.

Daily_log — С понедельника по пятницу каждые 15 минут с 8.00 до 19.00. Копия логов.

Weekly — Каждое воскресенье в 0.00. Полная резервная копия баз. Перестроение индексов.

Порядок действий:

  1. Необходимо запустить Microsoft SQL Server Management Studio и выполнить подключение к серверу.
  2. Для ВСЕХ пользовательских баз данных отключить автоматическое обновление индексов. Это связано с тем, что обновление индексов будет производиться по указанному нами расписанию.
    1. Открываем список баз данных, выделяем базу и вызываем правой кнопкой мыши контекстное меню.

    выделяем базу и вызываем правой кнопкой мыши контекстное меню

    значение параметра Auto update statistics

    Создаем новый план обслуживания Maintenance Новый план Maintenance. Ввод названия

    Двойной клик по имени Subplan_1 Корректируем имя субплана и настраиваем расписание

    Пример расписания

    При такой настройке расписания задача будет выполняться ежедневно в 0:00, кроме воскресенья.

    ВАЖНО! Пояснение по переводу режимов восстановления.

    Перевод в режим SIMPLE позволяет обрезать лог транзакций и ускорить процесс работы с индексами. Данное действие является не обязательным. Так же важно помнить, что при переводе базы в режим SIMPLE будет урезан лог транзакций, что сделает невозможным восстановление на любую точку времени с момента последней полной копии. В нашей инструкции происходит полная копия, далее перевод в SIMPLE, далее проходят операции с индексами и после этого база возвращается снова в модель FULL, таким образом интервал времени в котором база находится в модели SIMPLE минимальный и находится во временных рамках заранее оговоренного с клиентами временного окна в которое выполняются регламентные операции.

    добавляем в субплан задачу

    1. В настройках задачи добавляем код:

    В настройках задачи добавляем код

    Добавляем задачу реорганизации индексов

    1. В настройках задачи выбираем реорганизацию всех пользовательских баз:

    выбираем реорганизацию всех пользовательских баз

    обновление статистики пользовательских баз

    1. В настройках выбираем обновление всей статистики всех пользовательских баз с полным сканированием:

    обновление всей статистики

     добавляем в субплан задачу Execute T-SQL Statement task

    1. В настройках задачи добавляем код:

    В настройках задачи добавляем код

    задачи очистки

    1. В настройках задания указываем путь к резервным копиям, возраст копий для удаления (4 недели) и расширение файлов.
    2. Резервные копии складываются в отдельные папки для каждой базы, поэтому включаем поиск в подкаталогах первого уровня:

    включаем поиск в подкаталогах первого уровня расширение файлов: trn

    добавляем задачу создания новой полной резервной копии

    1. Настраиваем добавленное задание:

    Настраиваем добавленное задание

    все пользовательские базы

    необходимо связать последовательно все задачи

    1. Добавляем субпланы Daily_diff и Daily_log:

    Добавляем субпланы

    Daily_diff настройки Daily_diff

    Данный субплан будет выполняться с понедельника по пятницу дважды в день, в 12.00 и 17:00.

    задача создания разностной резервной копии

    Настройки для задачи резервирования

    Расписание и настройки для Daily_log

    Расписание задачи настроено на выполнение с понедельника по пятницу каждые 15 минут с 8.00 до 19.00.

    Расписание задачи настроено

    Добавляем задачу создания резервной копии

    Настройки задачи резервирования log отличаются типом (transaction log) и расширением (trn) резервных копий.

    Базы 1С в SQL, как настроить резервное копирование

    Есть один нюанс, который превращает резервное копирования 1С в нетривиальную задачу, если кто-то из пользователей работает в базе, копирование невозможно. Мои пользователи работают круглосуточно, а значит кто-то всегда работает с базой. Для резервного копирования базу надо заблокировать для изменений, а этого не сделать, пока кто-то работает в 1С.

    Выход есть — воспользоваться специальным инструментом встроенным в 1С и им сделать выгрузку базы.

    Для этого нам понадобится утилита из комплекта автономного сервера 1С ibcmd.exe.

    Исполняемый файл входит в состав дистрибутива 1С. Обычно располагается C:\Program Files\1cv8\<версия платформы 1С>\bin

    Скрипт бэкапа 1С для баз хранящихся SQL:

    // Выгрузка dt без отключения пользователей

    //уточняем текущее время с небольшой погрешностью и округлям до часов
    set tt=%time%
    set /a ttt=%time:

    0,2%
    if %ttt% lss 10 (set hour=0%ttt%) else (set hour=%ttt%)

    //создаем папку — имя текущая дата

    mkdir E:\1Cbakup\base1\%date%
    C:\<здесь пусть к файлу>ibcmd.exe infobase —dbms=mssqlserver —db-server=localhost —db-name=example_base —db-user=adm —db-pwd=12345678 dump D:\backup\%date%\example_base_%date%_%hour%.dt

    После выполнения скрипта мы получим в папке с текущей датой файл с именем backup_текущая дата_время запуска скрипта.dt

    Файл является копией базы 1С, без документов, которые были изменены в момент запуска скрипта. Т.е., если кто-то создал документ и его редактировал в момент запуска скрипта, этот документ сохранен не будет. На мой взгляд это малая плата за возможность иметь полную копию базы.

    Пробежимся по ключам запуска ibcmd.exe подробнее

    —dbms=mssqlserver — тип сервера SQL (в нашем примере MS SQL Server), если у Вас PostgreSQL, укажите postgresql

    —db-server=localhost — адрес севера, в нашем примере скрипт выполняется на сервере с базой, поэтому localhost. Если вы выполняете скрипт на другом сервере или локальной рабочей базе, надо указать IP адрес сервера SQL.

    —db-name= имя базы данных, в нашем примере это example_base, Вам надо указать имя своей базы.

    —db-user=<имя пользователя с правами администратора базы>

    dump D:\backup\%date%\example_base_%date%_%hour%.dt — замените путь, куда вы хотите складывать дамп баз.

    ВАЖНОЕ ЗАМЕЧАНИЕ ПО БЕЗОПАСНОСТИ РЕЗЕРВНОГО КОПИРОВАНИЯ

    Хранение бэкапа в папке доступной с самого копируемого сервера не безопасно. В случае заражения вирусом вида шифровальщик или иных деструктивных действий по отношению к данным на сервере, есть большой шанс потери резервной копии данных. Рекомендуется использовать доступную папку только для промежуточного бэкапа с дальнейшим переносом данных в другое место.

    Если настройка системы резервного копирования с переносом данных на внешнее хранилище по каким-либо причинам Вам недоступна, не используйте для файла дампа базы 1С расширение .dt, замените его на любое другое, к примеру на .tti Шифровальщики ищут файлы с известными расширениями, чтобы их зашифровать.

    Сторонние программы для резервного копирования 1С

    Рассмотрим программу Effector Saver

    Программа удобна, легко настраивается, позволяет делать копии баз 1С на FTP и SFTP, что решает проблему безопасности хранения бэкапа.

    Подробнее как настроить работу программы можно найти на сайте производителя в разделе документации.

    Я остановлюсь только на том важном моменте, что файловые базы 1С не позволяют сделать копию базы без завершения сеансов пользователей.

    В программу встроен механизм завершения сеансов, для копирования файловых баз 1С, его надо обязательно настроить.

    Завершение сеансов пользователей 1С в effector saver

    В большинстве случаев двух этих решений достаточно для организации резервного копирования баз данных 1С.

    Как настроить автоматический бэкап базы данных 1с ms sql server

    BackUp

    Еще пару слов о копиях баз 1С

    В одной из предыдущих статей мы подробно рассматривали вопрос создания копии базы данных 1С (бэкап 1с), используя универсальное средство для файловой и клиент-серверной базы — выгрузку/загрузку информационной базы. Хотя позиция фирмы «1С» говорит нам о том, что получаемый файл dt, не может считаться полноценным «зеркалом» — точной копией базы, поскольку в процессе загрузки файла происходят некоторые технологические операции, которые в некоторых случаях даже исправляют ошибки в базе 1С. Но об этом пойдет речь в других статьях.

    В данном материале мы рассмотрим очень важный вопрос — как же автоматизировать процесс создания резервной копии базы данных 1С, проще говоря, как ежедневно создавать бэкап 1С, не выполняя никаких дополнительных действий. Строго говоря это тот вопрос, который вы должны себе задать сразу после установки программного обеспечения 1С. Вам же не хочется терять даже день своей работы, не говоря о полном крахе базы в разгар сдачи готового отчета. Конечно, всех этих проблем можно избежать использую облачную 1С, ведь все эти действия уже произведены за вас. Если вы еще не готовы использовать самые современные технологии, то вопрос резервного копирования стоит для вас весьма актуально. В нашем богатом опыте встречались случаи, когда автоматическое копирование не было настроено в организации, которая имеет порядка 5 филиалов в разных городах нашей страны с общей численностью штата превышающей 500 человек. Конечно же, на данном предприятии был даже IT директор, но даже его не сильно волновал вопрос сохранения данных. Первое, с чего мы начали работу с данным предприятием — автоматизация резервного копирования данных.

    Итак, разберем какие же инструменты есть у нас для автоматизации создания копии базы.

    Прежде всего надо определиться какой вариант работы с базой данных 1С используется: файловый или клиент-серверный. Это ключевой момент, поскольку, в зависимости от используемого режима, настройка автоматического бэкапа базы будет кардинально отличаться.

    Резервная копия 1С в файловом режиме работы

    Самый просто вариант — использовать встроенный механизм резервного копирования и восстановления, которые предлагают нам современные конфигурации на управляемых формах. Настроить его, даже у не очень опытного пользователя, не составит усилий, внимательно читая наши рекомендации и советы. Для начала вам нужно найти подраздел (пункт меню) «Поддержка и администрирование», он располагается в разделе «Администрирование» либо в разделе «НСИ и администрирование» в зависимости от используемой конфигурации.

    Настройка резервного копирования баз 1С

    Далее, развернуть подменю «Резервное копирование». Не спешите заходить в пункт «резервное копирование информационной базы»! Для начала необходимо выполнить настройки, делается это через пункт «Настройка автоматического резервного копирования». Настроек не так много. Необходимо установить флаг «выполнять автоматическое резервное копирование». Далее, на выбор два варианта: «регулярно по расписанию» и при «завершении работы». Надо понимать, что каждый из этих вариантов применим для организация с небольшим количеством пользователей. Если у вас один или несколько пользователей в базе, то вполне можно использовать вариант «при завершении работы». Каждый раз когда вы будете выходить из базы программа выполнить процедуру сохранения данных в указанный каталог. Расписание удобно настраивать, если в вашей базе работают несколько человек и можно настроить расписание под конец рабочего дня, когда все остальные пользователи уже завершили свою работу в системе. Программа завершит работу всех пользователей и выполнит копирование. Недостатком обоих вариантов является то, что программа должна быть запущена. Если вы заходите настроить резервное копирование на ночное время, чтобы не прерывать трудовой процесс, вам придется отставить конфигурацию 1С запущенной, что не всегда удобно.

    Как настроить копирование базы 1С

    Копирование базы 1С по расписанию настройка

    Второй вариант настройки автоматического архива 1С — обеспечить сохранение и архивирование файла базы данных 1Cv8.1CD, который находится в каталоге расположение информационной базы. Посмотреть где находится каталог можно на форме списка информационных баз. Сразу скажем, что всю папку архивировать совсем не нужно. Достаточно один файл «1Cv8.1CD». Остальные каталоги содержать временные файлы, которые вам не пригодятся при восстановлении базы. Для этих целей можно использовать любые программы резервного копирования данных, которые, как правило, поддерживают настройку расписания. Вполне неплохой вариант в плане надежности, но для рядового пользователя может показаться сложным. Поэтому мы будем рекомендовать универсальный способ, описанный ниже.

    Третий вариант настройки автоматического архива 1С — использовать планировщик заданий Windows. В нём можно настроить расписание, по которому будет вызываться простой BAT — файл, следующего содержания:

    «M:\Program Files\1cv8\8.3.9.1850\bin\1cv8.exe» DESIGNER /S»server1\DataBaseName» /N»ИмяПользователя» /P»ПарольПользователя» /DUMPIB»N:\DataBaseCopy.dt»

    Где «M:\Program Files\1cv8\8.3.9.1850\bin\1cv8.exe» — путь к файлу запуска 1С, «server1\DataBaseName» — имя базы данных в кластере серверов, «ИмяПользователя» — имя пользователя с административными правами , «ПарольПользователя» — пароль пользователя, «N:\DataBaseCopy.dt» — путь и имя файла сохранения копии 1С.

    Подробнее узнать про параметры командной строки 1С можно здесь.

    Резервная копия 1С в клиент-серверном режиме работы

    В клиент-серверном режиме работы просто необходимо настроить резервное копирование средствами самой СУБД. Поскольку данная статья рассчитана на новичков и специалистов среднего уровне подготовки, мы не будем подробно останавливаться на всех нюансах настройки автоматического резервного копирования в различных СУБД. Если вас интересует детали настройки и всевозможные подводные камни следите за анонсами наших материалов.

    Важным плюсом создания резервной копии базы средствами СУБД является то, что копирование можно производить «на лету» — на надо завершать работу всех пользователей в системе, можно забыть о монопольном режиме.

    Пока, достаточно будет сказать, что процесс настройки зависит от используемой СУБД. Напомним, что 1С 8 поддерживает работу со следующими СУБД:

    • MS SQL Server
    • PostgreSQL
    • IBM DB2
    • Oracle Database

    Наша практика показывает, что именно первые две являются самыми используемыми СУБД для 1С. PostgreSQL безусловно привлекает тем, что это полностью бесплатный продукт. MS SQL Server широко используется во многих организациях, при этом для небольших компаний вполне подойдет бесплатная версия Express. Oracle Database будет выбором для крупных организация, которые, скорей всего остановят свой выбор на конфигурации 1C ERP.

    Пару слов стоит сказать о MySql и 1С. MySql активно используется в web-технологиях, но нет, данная СУБД не поддерживается 1С. На ней невозможно развернуть базу. К сожалению, даже системные администраторы со стажем иногда путают MS SQL и MySql.

    Вернемся к настройке резервного копирования средствами СУБД. В MS SQL необходимо будет настроить план обслуживания. Сделать это можно через MS SQL Managment Studio. Достаточно развернуть группу с сервером, далее управление (management), план обслуживания (maintenance plan) и создать новый план. Подробно рассматривать настройки здесь не будем. Специалист должен разобраться, а не специалисту делать это не рекомендуем. Если же вы используете версию MS SQL Express, то план обслуживания, увы, не входит в эту поставку. Поэтому придется писать скрипт и настраивать планировщик задач windows.

    BackUp Ms Sql настройка

    Что касается СУБД PostgreSQL, настраивать вам автоматическое резервное копирование вам придется также вручную, обладая определенными знаниями и опытов в этом деле. Подробнее о настройке резервного копирования Postgre сервер для ОС win можно почитать здесь.

    PostgresSQL admin, PostgresSQL backup

    Универсальное средство для создания архива 1С для всех режимов работы

    И напоследок, мы оставили самый удобный способ создания и настройки автоматического резервного копирования на взгляд do-1C — использование специального приложения Effector Saver. Эта статья не нацелена на рекламу данного ПО, мы подробно рассмотрели все варианты. Но в своей практике, мы, в том числе, используем именно этот инструмент. Давайте просто кратко перечислю плюсы:

    • Есть рабочая и вполне функциональная БЕСПЛАТНАЯ версия
    • Применяется для любого режима работы: файловый, клиент-серверный
      • Поддерживает СУБД MS SQL и PostgreSQL

      Настройка Effector Saver для создания резервных копий 1С

      Необходимо скачать архив, разархивировать файл и установить его на компьютер. После этого запустить эффектор сейвер и выполнить простые настройки:

      • Создать группу задач (при необходимости разделять задачи, например, для разных конфигураций)
      • В группе добавить задачу
      • Проставить флаг «выполнять задачу»
      • Придумать наименование задачи
      • Обязательно указать вид задачи.
      • Заполнить все настройки подключения к информационной базе
      • На закладке «настройка архивов» указать каталог. Крайне желательно делать копии баз 1С не на тот жесткий диск, на котором уже установлена система, а на другой физический диск
      • На закладке «Расписание» настройте регулярность и время выполнения копирования
      • Не забудьте нажать кнопку «Сохранить»

      Как настроить автоматическое резервное копирование баз 1С, архив 1С

      После этого проверьте сервисные настойки. Для этого нажмите кнопку в крайнем верхнем углу «Сервис» —> «Параметры программы». Прежде всего проверьте закладку «Параметры запуска». Запустите агент как приложение или как сервис. Запустите монитор (монитор будет отображаться в системном трее, у часов, в правом-нижнем углу экрана). Также, рекомендуем установить пароль на вход в менеджер. Сделать это можно на закладке «Параметры менеджере» —> кнопка «Установить».

      Настройки параметров запуска Effector Saver, программы для автоматизации резервного копирования баз 1С

      Успешное резервное копирование данных при помощи Effector Saver

      Подводя итог, хочется сказать еще раз одну простую мысль — бэкапов (копий) много не бывает. Хотя, в IT кругах, мы часто слышим одну перефразированную шутку: «тормоза и бэкапы придумали трусы», но не стоит забывать — это только шутка. Целостность и безопасность баз 1С — в ваших руках! Если же данная статья показалась вам слишком слишком сложной и трудной для освоения — ничего страшного. Мы настроим архивирование баз 1С и выполним любые другие работы по 1С быстро и качественно, за разумную цену. Звоните!

      Простой «бэкап» базы в 1С Предприятии (Часть 2).

      16.09

      (в народе бэкапов), в 1С Предприятии мы использовали программу Handy Backup.

      Вы видели как без лишних усилий, написание скриптов и прочего, можно с лёгкостью настроить автоматический «бэкап» файловой базы 1С.

      В этой части статьи, я покажу Вам, как использовать «Handy» что называется на полную!

      Речь идет о создании резервных копий 1С Предприятия в клиент-сервере, «бэкап» баз

      MS SQL, PostgreSQL, а также покажу как сделать «бэкап» сайтов, интернет магазинов, баз MySQL и прочего.

      В первую очередь рассмотрим настройку создания автоматического «бэкапа» базы на MS SQL сервере.

      И так установим Handy Backup на сервер (где у Вас работает MS SQL server).

      Запускаем программу и создаем новую задачу для резервного копирования.

      Затем выбираем «MS SQL» в списке что копировать и выбираем интересующую нас базу 1С.

      Базы на MS SQL server будут обнаружены автоматически!

      11

      22

      33

      44

      Выгонять пользователей из базы, или предпринимать еще какие то действия не нужно.

      Вот так вот в несколько кликов Вы настроите автоматический «бэкап» базы 1С в клиент-серверном варианте ее работы.

      Создание автоматического задания по резервному копированию, не отличается ничем от первой части статьи.

      Очень часто пользователи испытывают трудности по созданию автоматических «бэкапов»

      Баз в связке 1С + PostgreSQL

      И тут Handy отлично справится с этим заданием!

      Все также создаем новую задачу по резервному копированию баз данных, но на этот раз в списке «что копировать» выбираем PostgreSQL.

      Здесь стоит отметить что, Handy Backup в этой задаче копирования может быть установлена, на любой ПК или сервер, (Даже за приделами Вашей локальной сети).

      55

      66

      77

      Работать над задачей копирования базы 1С на PostgreSQL , будет выполняться на много дольше,

      в сравнении с аналогичной задачей на MS SQL server.

      Но, не смотря на это, использование «Handy» для целей резервного копирования баз данных PostgreSQL, остается самым простым в использовании, во всяком случаи среди тех программ, которые я тестировал.

      И еще один момент, который делает Handy Backup фаворитом среди программ по резервному копированию данных:

      Зарегистрируйтесь, чтоб продолжить чтение статьи
      Зарегистрироваться / Войти

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *