Настройка архивации баз MS SQL Server и мониторинг с помощью OneScript

20.05.20

База данных - Архивирование (backup)

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
(только для физ. лиц)
BackupAndMonitoring
.zip 9,07Kb
5 2 150 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Задача

Настроить архивацию баз следующим образом.

1. Недельный бэкап с возможностью восстановления на любой момент времени. Срок хранения: 7 дней.

2) Месячный бэкап на 01 число месяца. Срок хранения: 12 месяцев.

3) Годовой бэкап на 01 января. Срок хранения: бессрочно.

У баз модель восстановления Полная (FULL).

 

Предисловие

На протяжении времени выходили разные версии MS SQL Server.

Я давно настраиваю архивацию баз на разных версиях MS SQL Server и могу сказать, что в каждой версии, в каждой среде возникают свои нюансы, разные причины, из-за которых то один компонент сбоит, то другой, то третий и т.д.

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

Некоторые примеры, из которых можно сделать тот же вывод:

1) 1131561

2) helpme1c.ru

3) Forum MS

5) alta.ru-support-51

6) 126513

7) 85254

8) 63466

 

Тема резервного копирования баз данных описана во многих источниках, однако мониторинг до сих пор является узким местом.

 

Проблемы.

1) Многие источники описывают работу специальных программ, но часто бывает, что какие-либо программы нельзя устанавливать.

2) Движок MS SQL Server сбоит, поэтому нет уверенности, что бэкапы делаются. Нужен мониторинг, причем ежедневный.

3) Мониторинг тоже сбоит. Поэтому нужен такой мониторинг или такие правила, которые дадут знать, что случилось исключение. В идеале — это сторонний сервис мониторинга, но если такого сервиса нет, если у заказчика отсутствует возможность развернуть такой сервис, тогда приходится обходиться простыми и дешевыми инструментами, но не менее эффективными. На основе данной проблемы происходит другая проблема — необходимость в человеческом дежурстве, ведь мониторинг тоже может сбоить. Вообще, автоматизация — это человеческая надежда на стабильность автомата, но так как любой автомат может сбоить, то либо другой автомат проверяет работу своего брата (хотя оба могут сбоить), либо проверяет сам человек.

 

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

1) Инструменты архивации и мониторинга должны быть либо встроенными в среду MS SQL Server или в систему, либо должны быть портативными, не требующими установки. Таким образом мы не нагружаем реестр системы лишним «мусором».

2) Должен быть скрипт, проверяющий состояние архивации и сообщающий статус человеку.

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

 

Выбранные инструменты.

1) Transact-SQL

2) Планировщик заданий Windows

3) OneScript.

Нужно сказать, что есть достаточно инструментов других, которые либо встроенные, либо не требуют установки, но когда открываешь их раз в год и некогда тратить драгоценное время, то приходится использовать то, на чем быстро решается задача. В данном случае таковыми инструментами для меня являются Transact-SQL, OneScript, Планировщик заданий Windows. Кстати, я собирался вместо OneScript использовать PowerShell, но оказалось, что с ним гораздо больше «подводных камней», а значит и вариантов сбоя (например, форматы дат, использование библиотек, в одной среде скрипт работает, в другой нет).

 

Схемы архивации и мониторинга

 

Как все это настроить?

1) Подготовка библиотек.

1.1) Правим файл Bases.os.

1.2) В каталоге «..\OneScript\lib» создаем каталог «bases» и добавляем в него файл Bases.os.

1.3) В командной строке устанавливаем библиотеку работы с почтой: E:\OneScript\bin\opm.bat install InternetMail.

 

2) Настройка еженедельной архивации баз и мониторинга.

2.1) В среде MS SQL Server настраиваем план обслуживания: раз в неделю создавать бэкапы в папке «F:\WEEK», с опцией «Создавать вложенный каталог для каждой базы данных».

2.2) Правим скрипт BackupWeekly.os.

2.3) Правим скрипт BackupWeekly.bat и добавляем его в планировщик заданий. По расписанию этот скрипт должен запуститься после завершения работы плана обслуживания (2.1) в этот же день.

 

3) Настройка ежемесячной архивации баз и мониторинга.

3.1) В среде MS SQL Server настраиваем план обслуживания: раз в месяц создавать бэкапы в папке «F:\MONTH», с опцией «Создавать вложенный каталог для каждой базы данных».

3.2) Правим скрипт BackupMonthly.os.

3.3) Правим скрипт BackupMonthly.bat и добавляем его в планировщик заданий. По расписанию этот скрипт должен запуститься после завершения работы плана обслуживания (3.1) в этот же день.

 

4) Настройка ежедневной архивации журналов транзакций и мониторинга.

4.1) В MS SQL Server включаем расширенные процедуры:

EXEC sp_configure 'show advanced options', 1
RECONFIGURE
GO
-- Enable the xp_cmdshell procedure
EXEC sp_configure 'xp_cmdshell', 1
RECONFIGURE

4.2) Правим скрипт BackupLOG.SQL и в среде MS SQL Server в агенте добавляем новое задание, вставляем данный скрипт. Расписание, например, каждые 3 часа.

4.3) Правим скрипт BackupDaily.os.

4.4) Правим скрипт BackupDaily.bat и добавляем его в планировщик заданий. По расписанию этот скрипт должен запуститься после завершения работы задания (4.2).

 

Уязвимости

1) Человек может забыть, что письмо должно поступить, особенно, когда много разных писем.

2) Бэкапы хранятся только на одном диске. Исчез диск — исчезло все. Но возможно дописать копирование бэкапов в несколько мест.

 

Вступайте в нашу телеграмм-группу Инфостарт

Проверкаа бэкапов контроль надежная архивация архивации T-SQL Transact-SQL MS SQL Server OneScript скрипт баз копирование запись в файл текстовый почта

См. также

Работа с интерфейсом Анализ учета Мониторинг 1С v8.3 8.3.14 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:Библиотека стандартных подсистем 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 Платные (руб)

Скачайте бесплатную обработку "Анализ данных для использования в подсистеме 1С Инфоборды" и узнайте возможность внедрения подсистемы у себя в конфигурации! Создайте свой функциональный интерфейс в любой конфигурации 1С с помощью расширения "Инфоборды". Настраивайте панели виджетов с метриками, индикаторами и показателями на начальном экране.

24000 руб.

27.03.2025    9620    21    14    

31

Мониторинг Анализ продаж 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Розница 3.0 Управленческий учет Платные (руб)

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

24000 руб.

11.11.2024    1428    1    0    

2

Архивирование (backup) Учет документов Бухгалтер 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

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

12000 руб.

19.02.2025    785    1    0    

1

Мессенджеры и боты Журнал регистрации Мониторинг Email рассылки Системный администратор 1С v8.3 Управляемые формы 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

Рассылка уведомлений о событиях журнала регистрации на электронную почту и в Телеграмм. Программа позволяет анализировать журнал регистрации по заданным критериям, находить в нём интересующие события, и отправлять уведомления об этих событиях на электронную почту (одного или нескольких получателей) или в телеграмм. Может работать и как внешняя обработка, и как регламентное задание. Для УНФ, УТ 11, БП 3.0, ЗУП 3.0, ERP.

10800 руб.

18.06.2017    33689    4    2    

15

DevOps и автоматизация разработки OneScript Программист Бесплатно (free)

Когда в компании используется более 500 внешних обработок для 20 различных баз, процесс их параллельной разработки превращается в борьбу. Расскажем о тернистом пути от ручных скриптов к масштабируемой DevOps-системе, позволяющей централизованно управлять внешними обработками, автоматизировать сборки, интегрироваться с таск-трекером, запускать автотесты и разворачивать окружение в пару кликов.

12.08.2025    3568    untru    13    

21

Инструменты администратора БД Мониторинг Системный администратор Программист Россия Бесплатно (free)

Система мониторинга и автоматизации рутинных операций обслуживания информационных баз 1С:Предприятие.

16.07.2025    1337    0    akpaevj    13    

32

OneScript Программист 1С v8.3 Бесплатно (free)

В 2024 году главному инструменту DevOps в 1С исполнилось 10 лет. Расскажем о том, что представляет собой экосистема 1Script в 2024 году и почему её важно включить в свой рабочий процесс.

16.06.2025    5949    Evil Beaver    43    

58

WEB-интеграция OneScript Программист Стажер Бесплатно (free)

Библиотека для работы с базами MySQL на основе внешней компоненты. Для Linux и Windows, бесплатно и с открытым исходным кодом!

08.04.2025    4324    bayselonarrend    27    

49
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. duhin 03.05.20 08:29 Сейчас в теме
>У баз модель восстановления Полная (Simple).
о_О
2. info1i 242 03.05.20 11:37 Сейчас в теме
(1) Спасибо за замечание! Ошибку исправил. Конечно, же FULL.
Оставьте свое сообщение