SQL. Настройка резервного копирования.
База данных - Архивирование (backup)
После изучения множества информации с разных источников, решил описать процесс настройки резервного копирования БД MS SQL Server для полной модели восстановления, какую модель использовать решать Вам, но от себя добавлю, что если в вашей БД большой поток информации (например создаются десятки, сотни или тысячи документов в 1 час), то потеря информации за день работы будет просто неприемлемой, в таком случае только полная модель обеспечит сохранность ваших данных. Данная статья предназначена для начинающих системных администраторов и содержит по моему мнению минимальный набор действий для резервного копирования БД 1С. Установка\Настройка самого SQL сервера и развертывание БД на нём в не рамках данной статьи.
Все настройки будем производить с помощью SQL Management Studio. Для начала нужно создать Устройство резервного копирования, можно и не создавать, но на мой взгляд это гораздо удобнее и правильнее. в оснастке SQL Management Studio -> Объекты сервера-> Устройства резервного копирования. Нужно указать имя устройства и файл в котором будут храниться резервные копии (лучше с расширением BAK), в дальнейшем можно посмотреть содержимое носителя, там будут перечислены все резервные копии.
Теперь можно приступать к настройки Плана обслуживания (Maintenance Plan). План Обслуживания можно создать сразу для всех БД, но удобнее для каждой БД создать свой план обслуживания.

В нашем Плане обслуживания будет три подплана: 1 - резервное копирование БД (Полное); 2 - резервное копирование БД (Разностное); 3 - Резервное копирование Журнала транзакций. У каждого подплана есть свое расписание выполнения. Расписание каждый настраивает по своим усмотрениям, в моём же случае полное копирование делается раз в неделю в воскресенье, Разностное копирование каждый день кроме воскресенья, ЖТ - журнал транзакций каждый час. При такой модели резервирования можно восстановить искомую БД на любую дату и час, причем экономим пространство на жёстком диске т.к. полное резервирование выполняется фактически раз в неделю, а в течении недели только изменения.

Настройка дневного расписания. Недельное отличается только установленной галочкой "Воскресенье" и снятыми с "понедельника" по "Субботу"
Расписание для ЖТ. Красным выделено время сохранения в течении дня, имеет смысл например, если пользователи работают с БД в определённый период, если режим работы 24х7, то оставляем по умолчанию.

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


Задачи. В каждую задачу нужно зайти и выбрать БД, для которой она будет выполняться и ряд других настроек (если есть). Рассмотрим, какие задачи содержит недельный подплан нашего плана обслуживания.
1. "Проверка целостности БД" (Check Database Integrity Task). Следующая задача будет выполняться, только если БД не содержит ошибок. (Замем резервировать БД с ошибками?)
2. "Восстановить индекс" (Rebuild Index Task). Восстановить (Перестроить) индекс необходимо каждый день, т.к. при работе с индексами они сильно фрагментируются и при фрагментации более 25% SQL начинает заметно "тормозить". Эта операция довольно ресурсоёмка, поэтому её можно делать хотя бы раз в неделю, а в дневном подплане заменить её менее ресурсоёмкую задачу "Реорганизация индекса".
3. "Обновить статистику" (Update Statistics Task). Для оптимизации... Кстати эту задачу можно выполнять несколько раз в течении дня, если ваша БД сильно нагружена.
4. После обновления статистики ОБЯЗАТЕЛЬНО нужно очистить процедурный кэш. Для этого перетаскиваем в редактор задачу "Выполнение инструкции T-SQL" и в поле "инструкция T-SQL:" написать процедуру DBCC FREEPROCCACHE. Но нужно учесть, что эта процедура очищает кэш у ВСЕХ БД, а мы обновили статистику по одной! Как очистить процедурный кэш для определённой БД, читаем здесь. Вкратце: DBCC FLUSHPROCINDB(ID_БД)

5. "Резервное копирование БД" (Back Up Database Task). В этой задаче указываем какую БД мы резервируем, тип резервной копии (Для недельного подплана - Полное, для дневного - Разностное, для часового - Журнал транзакций.) Ставим переключатель в положение "Создать резервную копию баз данных в одном или нескольких файлах" и добавляем ранее созданное устройство резервного копирования. В таком случае ВСЕ копии сохраняются в один файл, который указали при создании устройства резервного копирования, если переключатель оставить в "Создать файл резервной копии для каждой базы данных", то на каждое резервное копирование будет создаваться отдельный файл и на Полное и на Разностное и на ЖТ, что очень неудобно при восстановлении, зато удобно при хранении. Не забываем указать что нужно сжимать резервные копии!
6. "Очистка Журнала" Очищает записи, создаваемые при выполнении задач. Также можно включить задачу "Очистка после обслуживания" и настроить её для удаления текстовых логов или устаревших резервных копий.
Подплан для резервирования ЖТ, состоит из одной задачи "Резервное копирование базы данных".ЖТ для меня удобнее сохранять не в Устройство резервного копирования, а в отдельный файл, что необходимо указать в настройке задачи.

UPD 12.01.2024
Начиная с версии платформы 8.3.22 1С создаёт все индексы с настройкой Allow page lock = False (Блокировка на уровне страниц) для уменьшения эскалации блокировок. В связи с этим задача "Реорганизация индекса" в дневном (Dayly) подплане завершается с ошибкой, и в журнале выполнения задач так же отображаться ошибка на выполнения дневного задания, что не есть хорошо.
Есть несколько вариантов решения задачи:
1. Для не очень больших баз в дневном подплане заменить задачу "Реорганизация индекса" на "Перестроение индекса", ну или просто оставить только недельный подплан с расписанием запуска каждый день;
2. Для больших баз можно временно включить свойство Allow page lock = True для всех индексов, в задаче "Выполнение инструкции T-SQL"
USE [Infobase]
EXEC sp_MSforeachtable 'ALTER INDEX ALL ON ? SET (ALLOW_PAGE_LOCKS = ON)'
GO
затем выполнить задачу "Реорганизация индекса", и снова для всех индексов установить свойство Allow page lock = False
USE [Infobase]
EXEC sp_MSforeachtable 'ALTER INDEX ALL ON ? SET (ALLOW_PAGE_LOCKS = OFF)'
GO

Database Compression Tool
Инструмент для свертки и сжатия баз данных 1С
Доступна демо-версия с прогнозом результата
Вступайте в нашу телеграмм-группу Инфостарт
Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
См. также
Архивирование (backup) Инструменты администратора БД 1С:Предприятие 8 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)
Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS! Версия 1.4 от 28.05.2026
7320 руб.
06.11.2012 80504 635 45
Информационная безопасность Архивирование (backup) Системный администратор Разработчик 1С 8.3 Бесплатно (free)
Утром базы не открылись: ночью хакеры зашифровали серверы, базы 1С, почту, кассы, мобильные приложения и бэкапы в сети. Критичные базы подняли из копий на отключённых дисках и потеряли около 10 часов данных. Рассказываю, как прошли первые сутки, что увидел только человек, что мы закрыли после атаки и какие двери в самой базе 1С программист может проверить у себя уже сегодня.
10.11.2026 16027 nedomolkov.ivan 67
Архивирование (backup) Обновление 1С Системный администратор Разработчик 1С 8.3 Бесплатно (free)
Платформа 8.3.17, MS SQL Server: обновление конфигурации падает через 15 секунд на этапе обновления предопределённых данных, и конфигуратор при каждом входе предлагает только повторить. Проверьте у себя, когда сделана последняя полная копия базы: у нас её не было почти месяц. Разбор по минутам: что не помогло (перезапуск агента сервера 1С, перезагрузка, пакетный /UpdateDBCfg, три совета со стороны) и почему. Как ibcmd достал .dt из базы, которая не открывается, и как новую базу подставили под старым именем в кластере 1С через rac, не трогая пользователей. Простой 57 минут, потерь данных нет. Отдельно ошибки ИИ-агента Claude, который работал на сервере, и порядок действий на случай, если это случилось у вас.
03.11.2026 709 nedomolkov.ivan 13
Архивирование (backup) Инструменты администратора БД Системный администратор Разработчик 1С 8.3 1С:Управление торговлей 11 1С:Библиотека стандартных подсистем Абонемент ($m)
Полностью автоматизированная внешняя обработка для администрирования 1С: блокировка/разблокировка ИБ, массовое завершение сеансов, резервное копирование и восстановление из .dt, выгрузка/загрузка конфигурации (.cf), пакетная работа с расширениями (.cfe) и дополнительными обработками – всё через удобную форму без ручных запусков конфигуратора и консоли кластера
1 стартмани
21.01.2026 6568 66 war41k 0
Архивирование (backup) Групповая разработка (Git, хранилище) Системный администратор Разработчик Бесплатно (free)
Как дать возможность каждому разработчику 1С вести разработку, тестирование и оптимизацию на собственной полноразмерной копии базы и при этом не тратить миллиарды рублей и тысячи часов на развертывание тестового окружения, а так же экономить дисковое пространство? Расскажем о том, как с помощью инструмента Database Lab получать полноразмерные копии базы 1C на СУБД PostgreSQL за считанные секунды (даже в случае использования многотерабайтных баз).
15.12.2025 14266 nasonkin 19
Архивирование (backup) Учет документов Бухгалтер 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)
В текущих версиях 1С пока нет функции, позволяющей автоматически отмечать возврат оригиналов документов с помощью сканера штрих-кодов. Многие контрагенты часто сталкиваются с проблемой утери оригиналов УПД или их невозврата. В ответ на эти запросы было разработано расширение, которое упрощает контроль за возвратом оригиналов документов и помогает лучше организовать их хранение.
12200 руб.
19.02.2025 2965 3 0
Архивирование (backup) Системный администратор 1С 8.3 Бесплатно (free)
Предлагаю Вашему вниманию 3 скрипта на bash (sh) для архивирования (backup) типовых конфигураций на Linux средствами 1С и Postgres. Перед запуском корректно заполните раздел "Параметры" в соответствии с Вашими настройками.
20.01.2025 6008 Prelude 5
Архивирование (backup) 1С 8.3 1С:Библиотека стандартных подсистем Абонемент ($m)
Резервные копии базы 1С без завершения сеансов: .dt, файл базы, PostgreSQL, MS SQL, своя команда. Расписание, профили, ротация, ZIP, FTP, журнал и письмо об ошибке. Платформа 8.3+ (кроме 8.2), любая конфигурация с БСП. Подключение за 5 минут.
5000 руб.
27.08.2024 4173 1 6
Во-вторых, любителям шринкования нужно вспомнить - что происходит, когда используемое место в журнале транзакций достигает 75%.
"Шринк - это операция удаления из журнала зафиксированных транзакций, что нарушит последовательность ведения непрерывной цепочки транзакций в бекапах, соответственно про восстановиться ты сможешь только на момент создания последнего исправного полного либо разностного архива." Эээээ... а вы на полной модели восстановления пробовали это сделать? Принцип целостности данных для скуля святое. Не шринканете пока не забэкапите. Как вы говорите? "Читай внимательно теорию."
"что очень неудобно при восстановлении, зато удобно при хранении." И в чём же здесь неудобство. Вот лежать себе файлики и лежат, никому не мешают.
"(Замем резервировать БД с ошибками?)" Эээээ.... Представляю себе следующую картину. В результате ошибки на пункте Проверка целостности копия не была сделана. В конце дня падает база. В своё оправдание вы говорите начальству, что базу нельзя восстановить т.к. нет смысла делать копию после пункта Проверка целостности в случае ошибки. Может всётаки будем делать всегда, невзирая ни на что?
Сделано все приблизительно как описано в статье, и вырос мой файл BACKUP.DAT уже до 66 Гб......
Прикольно конечно что я могу восстановить БД до состояния "4 месяца назад в 1,45 ночи" но дикс не резиновый то....
Если по плану обслуживания по какой нить причине не было сделано бекапирование, как сделать чтобы пришло оповещение на почту об этом.
Необходима жесткая проверка средствами SQL. Ну скажем после работы плана обслуживания запускается проверка существует ли в каталоге с бекапами файлы резервных копий. Интересует вариант исключительно средствами самого SQL возможность такая.
1-Настройка "Обслуживание БД 1с" Регламентные операции ежедневное
2-Настройка "Резервное копирование БД и лога" ежедневное
Как все это совместить с 1 БД возможно и просто, а вот если БД 15 шт.
Сейчас все крутится на PostgreSQL, но надо перенести все БД в MSQL 2012!
Резервное копирование лога каждые 10 мин!
В настройках плана указал срок набора резервного копирования 1 день!
Копирование настроено на "Устройство резервного копирования"
Диски 1-2-3-4-5
Вопрос как можно очистить??
1. Зайти в Management studio;
2. Кликаем Правой кнопки мыши по нужной ИБ -> Задачи->Восстановить-> База данных. В открывшемся мастере настроить так как должно у вас всегда выполняться восстановление и нажать вверху радом с кнопкой "Скрипты" чёрную стрелочку вниз, чтобы открылся список вариантов, выбираем "Буфер обмена";
3. Создать план обслуживания в с одним заданием "Выполнение инструкции T-SQL", вставить из буфера полученный скрипт. Настроить расписание.
Возможен.
Нужно проверить последовательность, возможно она нарушена, например не создан вовремя полный бекап, и были уже удалены некоторые файлы ЖТ.
Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 199760
Создание 06.09.13 12:14
Обновление 12.01.24 10:54
Просмотры 284383
Загрузки 0
Рейтинг
111
Комментарии 56
Код открыт Да
Рубрики Архивирование (backup)
Тип файла Нет файла
Платформа Не имеет значения
Конфигурация Универсальные
Операционная система Windows
Страна Не имеет значения
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Бесплатно (free)