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

20.05.20

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

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

Скачать файл

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

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

Задача

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

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 Платные (руб)

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

9000 руб.

28.08.2019    33920    22    21    

74

Архивирование (backup) Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS!

6000 руб.

06.11.2012    72787    625    45    

84

Архивирование (backup) Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

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

1200 руб.

03.09.2014    15703    21    6    

27

Учет доходов и расходов Логистика, склад и ТМЦ Маркетплейсы Мониторинг Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Расширение модуля Synchrozon для удобного контроля габаритов на Ozon! Разработка позволяет мгновенно сравнивать установленные габариты товаров, с габаритами, указанными на Ozon, чтобы выявлять любые несоответствия. Поможет сократить расходы на логистику, гарантируя, что все данные о товарах остаются точными и актуальными.

3600 руб.

31.10.2024    336    1    0    

3

Мониторинг Системный администратор Программист Платформа 1С v8.3 Россия Платные (руб)

Обработка позволяет использовать подобные КОРП-функциональности механизмы контроля расхода памяти (сеансом на 1 вызов и рабочими процессами), реагируя завершением "тяжелых" вызовов, перезапуском рабочих процессов при чрезмерном потреблении этого важного ресурса.

3600 руб.

03.05.2023    5101    3    0    

3

Мониторинг Инструменты администратора БД Системный администратор Платформа 1С v8.3 Россия Платные (руб)

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

1500 руб.

01.12.2020    15986    38    0    

56

OneScript Программист Бесплатно (free)

Отгремел Infostart Tech Event 2024, топовое событие в мире 1С-разработки, традиционно проходящее в Санкт-Петербурге. Ваш покорный слуга в этот раз отмечал там 10-летний юбилей проекта OneScript. Отмечание проводилось в форме игры-соревнования по забегу роботов в лабиринте. Участники пытались написать алгоритм движения робота на языке 1С и сделать это быстрее других. О том, как это было – под катом.

28.10.2024    1402    Evil Beaver    11    

24

Групповая разработка (Git, хранилище) OneScript Программист Платформа 1С v8.3 Бесплатно (free)

Скрипт для работы с SonarQube и локальным репозиторием Git.<br> Цель проекта – возможность выполнить быструю проверку качества кода перед тем, как помещать доработки в рабочее хранилище. В Sonar и Git выгружается не вся конфигурация, а только объекты из заданного списка.<br> https://github.com/vkrivov/go/

02.07.2024    3502    vkrivov@yandex.ru    8    

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